Compare commits

...

237 Commits

Author SHA1 Message Date
advplyr d80752cc9d Merge branch 'master' of https://github.com/advplyr/audiobookshelf 2024-10-18 16:25:12 -05:00
advplyr b764e848c7 Version bump v2.15.1 2024-10-18 16:25:07 -05:00
advplyr b037c4e8a3 Merge pull request #3532 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-10-18 16:23:32 -05:00
thehijacker 6ba2360790 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1064 of 1064 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-18 23:10:42 +02:00
SunSpring ca4eb507f0 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1064 of 1064 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2024-10-18 23:10:41 +02:00
biuklija 965b094470 Translated using Weblate (Croatian)
Currently translated at 99.9% (1063 of 1064 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-18 23:10:41 +02:00
gallegonovato 0fe313ecfd Translated using Weblate (Spanish)
Currently translated at 96.8% (1031 of 1064 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-18 23:10:40 +02:00
SunSpring 35a2f8d44f Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2024-10-18 23:10:40 +02:00
mikiher 50797879d5 Add a REINDEX NOCASE v2.15.1 migration and update v2.15.0 migration (#3533)
* Add REINDEX NOCASE migration and update v2.15.0 migration

* Update v2.15.0 migration test

* Fix typo
2024-10-18 16:10:29 -05:00
Nicholas W 9327331ee9 Localization updates for 2.15.0 (#3520)
* Add: episode edit dropdowns

* Update: lazy episode table and row

* Various string updates

* Batch quick match strings

* Author card strings

* Update translation key for quick match episodes confirm

---------

Co-authored-by: advplyr <advplyr@protonmail.com>
2024-10-17 17:03:08 -05:00
advplyr 1c15007e32 Merge pull request #3529 from asoluter/patch-1
Fix "Extract Cover Error" for files with multiple embedded covers
2024-10-17 16:44:58 -05:00
advplyr 2151ffa114 Merge pull request #3530 from mikiher/subdirectory-fixes-2
Add server proxies for all server paths
2024-10-17 16:00:48 -05:00
mikiher 49ed208a54 Add dev proxies for all server path 2024-10-17 11:25:57 +03:00
Ihor Sofiichenko d668462529 Fix Extract Cover Error for files with multiple embedded covers 2024-10-17 00:27:21 -07:00
advplyr f2102a0a23 Merge pull request #3512 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-10-16 17:42:46 -05:00
biuklija 5efc6b82c1 Translated using Weblate (Croatian)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-17 00:42:17 +02:00
thehijacker 1e4e9768da Translated using Weblate (Slovenian)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-17 00:42:17 +02:00
Daniel Schosser cc5109c305 Translated using Weblate (German)
Currently translated at 98.8% (1011 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-17 00:42:16 +02:00
Mathias Franco e858d6a1d5 Translated using Weblate (Dutch)
Currently translated at 68.7% (703 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/
2024-10-17 00:42:15 +02:00
biuklija b4cd5d2862 Translated using Weblate (Croatian)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-17 00:42:14 +02:00
DiamondtipDR 0633a44cfb Translated using Weblate (Spanish)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-17 00:42:13 +02:00
Vito0912 5748126b83 Translated using Weblate (German)
Currently translated at 97.8% (1001 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-17 00:42:12 +02:00
thehijacker 06375743a3 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-17 00:42:12 +02:00
Ahetek 2a41c186aa Translated using Weblate (Polish)
Currently translated at 77.6% (794 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pl/
2024-10-17 00:42:11 +02:00
burghy86 af51b7254c Translated using Weblate (Italian)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-10-17 00:42:11 +02:00
Charlie f63dfd769f Translated using Weblate (French)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-10-17 00:42:10 +02:00
apineiro97 a1512f3174 Translated using Weblate (Spanish)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-17 00:42:09 +02:00
gallegonovato 245751e2ce Translated using Weblate (Spanish)
Currently translated at 100.0% (1023 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-17 00:42:09 +02:00
Alexander Künzel 37001d9425 Translated using Weblate (German)
Currently translated at 97.0% (993 of 1023 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-17 00:42:08 +02:00
advplyr 9d1f51c6ba Add in /dev proxy for development 2024-10-16 17:42:00 -05:00
advplyr cb234fe1fc Merge pull request #3521 from mikiher/subdirectory-fixes
Fixes and cleanup for subdirectory serving support
2024-10-15 16:55:54 -05:00
advplyr cb85e0255b Fix share URLs on dev 2024-10-15 16:52:04 -05:00
advplyr 61b4cfdab7 Merge pull request #3518 from glorenzen/fix-decade-filter
Fix and simplify filter logic for publishedDecades
2024-10-15 16:19:36 -05:00
advplyr d2c405c126 Fix decade filter and query by casting publishedYear to Int 2024-10-15 16:12:56 -05:00
mikiher cbca560f92 server.js: add base path to all non-base-path requests 2024-10-15 06:40:14 +03:00
mikiher 2d7b63b4cf Add base path to socket.io connections on client and server 2024-10-15 05:50:23 +03:00
Greg Lorenzen 217038b085 Fix and simplify filter logic for publishedDecades 2024-10-14 20:58:09 +00:00
advplyr 13dd4edd6a Fix:Ignore dot files in migrations folder #3510 2024-10-14 14:46:55 -05:00
advplyr a7288b4fbf Merge pull request #3514 from koralowiec/chore/docs-nginx-client-max-body-size
chore(docs): add client_max_body_size parameter in nginx config
2024-10-14 13:04:35 -05:00
koralowiec 3020e8104e chore(docs): change indentation in nginx config example 2024-10-14 17:22:39 +00:00
koralowiec 8fdeeaaf38 chore(docs): add client_max_body_size in nginx example 2024-10-14 17:20:08 +00:00
mikiher 42616b59de Cleanup: remove explicit localhost:3333 and remove unnessesary if(dev) blocks 2024-10-14 13:30:17 +03:00
mikiher bf16681bea Merge branch 'subdirectory-fixes' of https://github.com/mikiher/audiobookshelf into subdirectory-fixes 2024-10-14 13:19:30 +03:00
mikiher 027190b5a4 Merge branch 'advplyr:master' into subdirectory-fixes 2024-10-14 13:18:04 +03:00
mikiher 241c02be30 nuxt.config.js: more cleanup and additional proxies 2024-10-14 13:12:10 +03:00
advplyr dd87268848 Merge pull request #3508 from mikiher/fix-share-player-chapters
Fix next/previous chapter behavior on public share player
2024-10-13 14:29:57 -05:00
mikiher f2ac24e623 Fix next/previous chapter behavior on public share player 2024-10-13 10:56:38 +03:00
advplyr 80e0cac474 Version bump v2.15.0 2024-10-12 16:18:45 -05:00
advplyr 37273dd51c Merge pull request #3486 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-10-12 16:06:27 -05:00
Languages add-on 926a85fff0 Added translation using Weblate (English (United States)) 2024-10-12 20:57:08 +00:00
J. Lavoie 70273ba2ba Translated using Weblate (Italian)
Currently translated at 99.7% (991 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-10-12 20:57:08 +00:00
J. Lavoie 158cdeed57 Translated using Weblate (French)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-10-12 20:57:07 +00:00
J. Lavoie ba9595a1be Translated using Weblate (German)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-12 20:57:07 +00:00
Mathias Franco 347e3ff674 Translated using Weblate (Dutch)
Currently translated at 67.6% (672 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/nl/
2024-10-12 20:57:06 +00:00
gallegonovato 2b6fb46cdb Translated using Weblate (Spanish)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-12 20:57:06 +00:00
biuklija 465775bd55 Translated using Weblate (Croatian)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-12 20:57:05 +00:00
thehijacker 44e82fc454 Translated using Weblate (Slovenian)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-12 20:57:04 +00:00
thehijacker c4963d0de8 Translated using Weblate (Slovenian)
Currently translated at 100.0% (993 of 993 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-12 20:57:04 +00:00
thehijacker ff81d70cb1 Translated using Weblate (Slovenian)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-12 20:57:03 +00:00
Petras Šukys d7a543e143 Translated using Weblate (Lithuanian)
Currently translated at 71.1% (705 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/lt/
2024-10-12 20:57:03 +00:00
biuklija cba547083d Translated using Weblate (Croatian)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-12 20:57:02 +00:00
gallegonovato 47b1d2a2c2 Translated using Weblate (Spanish)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-12 20:57:02 +00:00
Daniel Schosser abc378954c Translated using Weblate (German)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-12 20:57:01 +00:00
Soaibuzzaman fdf871af17 Translated using Weblate (Bengali)
Currently translated at 99.8% (990 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/bn/
2024-10-12 20:57:01 +00:00
thehijacker 83fcb0efdc Translated using Weblate (Slovenian)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-10-12 20:57:00 +00:00
DiamondtipDR 0c43f3d15a Translated using Weblate (Spanish)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-12 20:57:00 +00:00
Alexander Künzel 88e087d50f Translated using Weblate (German)
Currently translated at 99.8% (990 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-12 20:56:59 +00:00
gallegonovato a9fb6eb8bc Translated using Weblate (Spanish)
Currently translated at 100.0% (991 of 991 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-10-12 20:56:58 +00:00
Charlie 08acfdcd24 Translated using Weblate (French)
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-10-12 20:56:58 +00:00
K. J 576eb9106f Translated using Weblate (German)
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-10-12 20:56:57 +00:00
advplyr ddd2c0ae4e Add:Filter for missing chapters & alphabetize missing subitems #3497 2024-10-12 15:56:49 -05:00
advplyr e58d7db03b Merge pull request #3417 from nichwall/series_cleanup_2
Add: series migration to be unique
2024-10-12 15:48:04 -05:00
advplyr 1cac42aec5 Add localization on logs page and confirm embed #3495 2024-10-12 15:32:51 -05:00
advplyr f94449a659 Merge pull request #3500 from nichwall/2_14_0_strings
2.14.0 string localization
2024-10-12 15:25:41 -05:00
advplyr df6afc957f Add localization for notification descriptions 2024-10-12 15:22:21 -05:00
mikiher 99ffd3050c Cleanup: Define routerBasePath constant in nuxt.config.js 2024-10-12 11:46:44 +03:00
mikiher 69dd82d329 Remove unneeded /dev routing 2024-10-12 11:18:49 +03:00
advplyr 076f71d490 Fix:Handle undefined page/limit in paginated library queries #3499 2024-10-11 17:15:16 -05:00
advplyr 33eae1e03a Fix:Server crash on podcast add page, adds API endpoint to get podcast titles #3499
- Instead of loading all podcast library items this page now loads only the needed data
2024-10-11 16:55:09 -05:00
Nicholas Wallace 8a20510cde Localize: subtitle books 2024-10-10 22:12:31 -07:00
Nicholas Wallace c33b470fca Tools Manager strings 2024-10-10 21:58:17 -07:00
Nicholas Wallace 29db5f1990 Update: tools strings 2024-10-10 21:21:15 -07:00
Nicholas Wallace f98f78a5bd Podcast search strings 2024-10-10 21:14:51 -07:00
advplyr d258b42e01 Fix:Podcast episode batch mark as finished only showing for admin and up #3496 2024-10-10 08:03:47 -05:00
advplyr a6da32430f Merge pull request #3492 from mikiher/author-image-ar
Use object-cover for author images unless AR is really high or low
2024-10-09 17:31:24 -05:00
advplyr cfae607310 AuthorImage remove aspectRatio unused var 2024-10-09 17:22:38 -05:00
mikiher 7653e72e88 Use object-cover for author images unless AR is really high or low. 2024-10-09 15:04:25 +03:00
Greg Lorenzen f38b6636e3 Add published decade filter option (#3489)
* Add strings for PublishedDecade and PublishedDecades

* Add publishedDecades filter options to LibraryFilterSelect

* Add publishedDecades to libraries store

* Add publishedDecades to getFilterData

* Add database method to add published decades to filter data

* Add published decade in BookScanner

* Add 'publishedDecades' to invalidFilters in user.js

* Add publishedDecades filter group to MediaGroupQuery

* Update client/strings/en-us.json

* Auto formatting

---------

Co-authored-by: advplyr <dev@advplyr.com>
Co-authored-by: advplyr <advplyr@protonmail.com>
2024-10-08 17:20:42 -05:00
advplyr e42db121ea Merge pull request #3491 from thatguy7/unicode-author-series
retire unicode handling workaround for Author and Series title
2024-10-08 17:04:21 -05:00
advplyr 0adceaa3f0 Remove asciiOnlyToLowerCase 2024-10-08 16:59:45 -05:00
Oleg Ivasenko e6db1495ab retire unicode handling workaround for Author and Series title 2024-10-08 19:52:26 +00:00
Nicholas Wallace e6e494a92c Rename for next minor release 2024-10-07 18:52:14 -07:00
advplyr 549f95b259 Merge pull request #3488 from mikiher/nunicode-musl
Use musl-based libnusqlite3 in Docker
2024-10-07 16:43:38 -05:00
mikiher d92626071e Use musl-based libnusqlite3 in Docker 2024-10-07 20:48:52 +03:00
advplyr a7ac82b023 Merge pull request #3487 from mikiher/lazy-bookshelf-authors
Move authors to LazyBookshelf
2024-10-06 16:32:42 -05:00
advplyr 64b78b5822 Move pagination limit/page query param validation to middleware & check for positive integer 2024-10-06 16:29:30 -05:00
advplyr 8ba17db877 Fix authors button in SideRail selected 2024-10-06 15:58:23 -05:00
mikiher 6820d9ae4e Fix AuthorCard component test 2024-10-06 18:57:13 +03:00
mikiher 0bdc2fb05e Move authors to lazyBookshelf 2024-10-06 18:25:08 +03:00
advplyr cf5598aeb9 Version bump v2.14.0 2024-10-05 16:10:07 -05:00
advplyr 8cf3d648ea Merge pull request #3478 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-10-05 15:58:50 -05:00
SunSpring 212311a980 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2024-10-05 06:45:04 +02:00
biuklija c9522dc25d Translated using Weblate (Croatian)
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-10-03 23:34:54 +00:00
kuci-JK 37af753402 Translated using Weblate (Czech)
Currently translated at 88.8% (880 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/cs/
2024-10-03 23:34:54 +00:00
advplyr d8c5627cf8 Update audio player volume slider to be vertical 2024-10-03 18:34:43 -05:00
advplyr 4f926b37db Update:Remove server settings update toast on config page 2024-10-02 18:10:51 -05:00
advplyr fefc16bd13 Fix:Use region for author search by name #3470 2024-10-01 16:14:51 -05:00
advplyr 1b1b71a9b6 Merge pull request #3468 from mikiher/nunicode-intergration
Nunicode integration
2024-10-01 15:17:54 -05:00
mikiher 086532652e Fix to NUSQLITE3_PATH in index.js 2024-10-01 17:15:44 +03:00
mikiher 4e8b4720a1 Merge branch 'nunicode-intergration' of https://github.com/mikiher/audiobookshelf into nunicode-intergration 2024-10-01 16:48:14 +03:00
mikiher 4a7ada28fb Switch to nunicode-binaries v1.1 2024-10-01 16:47:40 +03:00
advplyr 1710285674 Merge pull request #3460 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-09-30 17:19:04 -05:00
tonttula a6bb61d998 Translated using Weblate (Finnish)
Currently translated at 44.0% (436 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fi/
2024-09-30 22:11:00 +00:00
gallegonovato 5ec05dfa84 Translated using Weblate (Spanish)
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-09-30 22:11:00 +00:00
Alexander Künzel 83e854aa13 Translated using Weblate (German)
Currently translated at 99.1% (982 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-09-30 22:10:59 +00:00
thehijacker 634f809159 Translated using Weblate (Slovenian)
Currently translated at 100.0% (990 of 990 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-09-30 22:10:59 +00:00
Hosted Weblate e5cf141834 Update translation files
Updated by "Cleanup translation files" add-on in Weblate.

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/
2024-09-30 22:10:58 +00:00
biuklija 8610b68d3f Translated using Weblate (Croatian)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-30 22:10:57 +00:00
Alexander Künzel f3e3bddc94 Translated using Weblate (German)
Currently translated at 99.2% (999 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-09-30 22:10:56 +00:00
tonttula 7ef3284cc5 Translated using Weblate (Finnish)
Currently translated at 42.9% (433 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fi/
2024-09-30 22:10:55 +00:00
Mihály Hunyady 3494586f77 Translated using Weblate (Hungarian)
Currently translated at 81.1% (817 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hu/
2024-09-30 22:10:55 +00:00
biuklija faaf99e6bb Translated using Weblate (Croatian)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-30 22:10:54 +00:00
tonttula 1078ba2111 Translated using Weblate (Finnish)
Currently translated at 35.1% (354 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fi/
2024-09-30 22:10:53 +00:00
ti777777 2ad69300f5 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 74.9% (755 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hant/
2024-09-30 22:10:52 +00:00
Soaibuzzaman d2f3fa7fdf Translated using Weblate (Bengali)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/bn/
2024-09-30 22:10:52 +00:00
advplyr 64fcb6270b Fix i18n strings out of order 2024-09-30 17:10:42 -05:00
advplyr 562c30cff4 Replace failed to update toasts with one generic string 2024-09-29 17:53:52 -05:00
advplyr 7108501d24 Add libnusqlite3 to gitignore 2024-09-29 11:37:13 -05:00
mikiher 37eae3406c Remove debug messages 2024-09-29 12:27:30 +03:00
mikiher 501dc938e6 Add Nunicode sqlite extension integration 2024-09-29 09:22:39 +03:00
advplyr c5ecd35fe9 Remove toasts after uploading #3352 2024-09-28 16:41:56 -05:00
advplyr 7cd8d7f44d Update NotificationManager to singleton 2024-09-27 17:33:23 -05:00
advplyr 567a9a4e58 Fix:API /libraries/:library/items validate limit and page are positive integers #3459 2024-09-26 16:48:38 -05:00
advplyr 58f4a0cfbb Merge pull request #3461 from mpgirro/oci-image-source
Add OpenContainers Annotations as Labels to Docker Image
2024-09-26 16:34:23 -05:00
Maximilian Irro e6c0b697aa Add OpenContainer Image Format Annotations as Labels to Docker Image 2024-09-26 21:02:46 +02:00
advplyr 35f60d699d Merge pull request #3427 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-09-25 17:02:36 -05:00
Vili Kangas c219be0970 Translated using Weblate (Finnish)
Currently translated at 31.7% (320 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fi/
2024-09-25 23:56:14 +02:00
Charlie c72ce843fa Translated using Weblate (French)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-25 23:56:14 +02:00
Charlie c606059a3a Translated using Weblate (French)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-25 23:56:14 +02:00
Philip Karlsson 049a8bdc6d Translated using Weblate (Swedish)
Currently translated at 70.5% (710 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sv/
2024-09-25 23:56:14 +02:00
burghy86 9752f744ca Translated using Weblate (Italian)
Currently translated at 96.8% (975 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-09-25 23:56:14 +02:00
biuklija 4be6fb789c Translated using Weblate (Croatian)
Currently translated at 98.2% (989 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-25 23:56:14 +02:00
thehijacker afc56e5259 Translated using Weblate (Slovenian)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-09-25 23:56:14 +02:00
SunSpring d47f8521d5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2024-09-25 23:56:14 +02:00
gallegonovato 7f853d426a Translated using Weblate (Spanish)
Currently translated at 100.0% (1007 of 1007 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-09-25 23:56:14 +02:00
burghy86 e9008c615d Translated using Weblate (Italian)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-09-25 23:56:14 +02:00
Charlie 01f081ef5a Translated using Weblate (French)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-25 23:56:14 +02:00
Charlie 7ee174e0d5 Translated using Weblate (French)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-25 23:56:14 +02:00
thehijacker 24439f86e0 Translated using Weblate (Slovenian)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/sl/
2024-09-25 23:56:14 +02:00
Reimo Vellemaa fbd3ce3b72 Translated using Weblate (Estonian)
Currently translated at 77.8% (759 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/et/
2024-09-25 23:56:14 +02:00
Reimo Vellemaa 96f8b54b51 Translated using Weblate (Estonian)
Currently translated at 77.7% (758 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/et/
2024-09-25 23:56:14 +02:00
SunSpring 9c94a78e29 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/zh_Hans/
2024-09-25 23:56:14 +02:00
RafalHo a14e3dd137 Translated using Weblate (Polish)
Currently translated at 82.2% (802 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/pl/
2024-09-25 23:56:14 +02:00
Milo Ivir e37673bd67 Translated using Weblate (Croatian)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-25 23:56:14 +02:00
Milo Ivir 6aa10d20a1 Translated using Weblate (Croatian)
Currently translated at 99.8% (974 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-25 23:56:14 +02:00
Lasse Slotmann 68a92acb7a Translated using Weblate (Danish)
Currently translated at 69.5% (678 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/da/
2024-09-25 23:56:14 +02:00
gallegonovato 8aa7cc9ca5 Translated using Weblate (Spanish)
Currently translated at 99.7% (973 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/es/
2024-09-25 23:56:14 +02:00
Lasse Slotmann e6c087c3bb Translated using Weblate (Danish)
Currently translated at 69.2% (675 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/da/
2024-09-25 23:56:14 +02:00
Mario 39a2097152 Translated using Weblate (German)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-09-25 23:56:14 +02:00
Lasse Slotmann 6a8003917e Translated using Weblate (Danish)
Currently translated at 68.6% (669 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/da/
2024-09-25 23:56:14 +02:00
gfbdrgng d5a17ddc8c Translated using Weblate (Russian)
Currently translated at 100.0% (975 of 975 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ru/
2024-09-25 23:56:14 +02:00
advplyr 48bbf0d649 Merge pull request #3453 from glorenzen/center-play-button
Center Play Button
2024-09-25 16:56:09 -05:00
advplyr 0bc58c254f Update playback speed to no longer use font-mono, adjust position of popup 2024-09-25 16:49:24 -05:00
Greg Lorenzen b2d41f0583 Move playback speed control next to player volume control 2024-09-24 23:17:26 +00:00
Greg Lorenzen 0d31d20f0f Center align player chapter title 2024-09-24 23:00:19 +00:00
advplyr 5154e31c1c Update migration to v2.14.0 2024-09-24 17:06:00 -05:00
advplyr c67b5e950e Update MigrationManager.test.js - moved migrations ensureDir to init() 2024-09-24 16:54:13 -05:00
advplyr 8a7b5cc87d Ensure series-column-unique migration is idempotent 2024-09-24 16:47:09 -05:00
advplyr bb7938f66d Update:When merging embedded chapters from multiple files filter out ~0 duration chapters #3361 2024-09-24 10:54:25 -05:00
advplyr 5b22e945da Update:Format numbers on user listening stats chart #3441 2024-09-23 16:36:56 -05:00
advplyr decde230aa Update:Some logs to include library item id #3440 2024-09-22 14:15:17 -05:00
advplyr 1dec8ae122 Update:Added string localization for tasks #3303 #3352 2024-09-21 14:02:57 -05:00
advplyr 8512d5e693 Update Task object to handle translation keys with subs 2024-09-20 17:18:29 -05:00
advplyr bb481ccfb4 Update:Chapters page populate ASIN input in lookup modal after match #3428 2024-09-19 17:21:41 -05:00
advplyr 12bce48ef5 Update:Home page refetch items when scanning in first items 2024-09-18 15:30:24 -05:00
advplyr 013c7c776e Merge pull request #3436 from mikiher/create-playback-session-race-condition
Change PlaybackSession createFromOld to use upsert instead of create
2024-09-18 15:14:03 -05:00
advplyr 8f96d20a23 Merge pull request #3435 from mikiher/comic-book-extractors
Move to node-unrar-js for cbr and node-stream-zip for cbz
2024-09-18 14:52:32 -05:00
advplyr 1a8811b69a Remove unused requires 2024-09-18 14:26:10 -05:00
mikiher d796849d74 Small change to logging of unhandled rejections 2024-09-18 18:44:16 +03:00
mikiher 942bd0859f Change PlaybackSession createFromOld to use upsert instead of create 2024-09-18 18:01:36 +03:00
mikiher 072028c740 Cleanup empty directiories inside the temp extraction dir 2024-09-18 10:16:46 +03:00
mikiher 0d08aecd56 Move from libarchive to node-unrar-js for cbr and node-stream-zip for cbz 2024-09-18 08:28:15 +03:00
Nicholas Wallace 66b290577c Clean up unused parts of statement 2024-09-17 20:00:06 -07:00
advplyr 22ad16e11b Fix:Server crash on scan for library with no metadataPrecedence set #3434 2024-09-17 16:10:32 -05:00
advplyr 2f49a08c7d Merge pull request #3425 from wommy/postcss-options
added postcssOptions to remove npm warning
2024-09-16 14:22:42 -05:00
wommy fcacda74cb added postcssOptions to remove npm warning 2024-09-15 18:29:23 -04:00
advplyr fa0c90de70 Merge pull request #3422 from mikiher/parse-comic-metadata-try-catch
Catch file extraction errors in parseComicMetadata
2024-09-15 16:10:13 -05:00
advplyr c1197314ac Merge pull request #3397 from weblate/weblate-audiobookshelf-abs-web-client
Translations update from Hosted Weblate
2024-09-15 15:34:29 -05:00
mikiher 0b31792660 catch file extraction errors in parseComicMetadata 2024-09-15 11:48:33 +03:00
Nicholas Wallace 8b95dd65d9 Fix: test cases checking the wrong bookSeriesId 2024-09-14 15:43:10 -07:00
Nicholas Wallace 691ed88096 Add more logging, clean up typo 2024-09-14 15:34:38 -07:00
Nicholas Wallace 836d772cd4 Update: remove the same book if occurs multiple times in duplicate series 2024-09-14 15:23:29 -07:00
Nicholas Wallace 999ada03d1 Fix: missing variables 2024-09-14 14:36:47 -07:00
advplyr b35fabbe55 Update:Collection & playlist Play button renamed to Play All #3320 2024-09-14 16:04:50 -05:00
biuklija 8cd8a157a6 Translated using Weblate (Croatian)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-14 23:04:50 +02:00
burghy86 86aece6828 Translated using Weblate (Italian)
Currently translated at 92.8% (904 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-09-14 23:04:50 +02:00
gfbdrgng f9edadbafd Translated using Weblate (Russian)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/ru/
2024-09-14 23:04:49 +02:00
biuklija 6a388cd4fe Translated using Weblate (Croatian)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/hr/
2024-09-14 23:04:49 +02:00
J. Lavoie 9d17e9ff48 Translated using Weblate (Italian)
Currently translated at 89.6% (873 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/it/
2024-09-14 23:04:49 +02:00
J. Lavoie 662b7d01b8 Translated using Weblate (French)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-14 23:04:49 +02:00
J. Lavoie a19bc4b4e4 Translated using Weblate (German)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/de/
2024-09-14 23:04:49 +02:00
Charlie a545aa5c39 Translated using Weblate (French)
Currently translated at 100.0% (974 of 974 strings)

Translation: Audiobookshelf/Abs Web Client
Translate-URL: https://hosted.weblate.org/projects/audiobookshelf/abs-web-client/fr/
2024-09-14 23:04:49 +02:00
Nicholas Wallace fa451f362b Add: tests for one book in duplicate series 2024-09-14 12:11:31 -07:00
Nicholas Wallace 868659a2f1 Add: unique constraint on bookseries table 2024-09-14 11:44:19 -07:00
advplyr 8ae62da138 Update migration unit test name 2024-09-14 10:40:01 -05:00
advplyr bedba39af9 Merge branch 'master' into series_cleanup_2 2024-09-14 10:11:16 -05:00
advplyr 8493e56b11 Merge pull request #3418 from mikiher/fix-database-version-init
Fix MigrationManager initial run behavior
2024-09-14 10:09:46 -05:00
mikiher 21c77dccce Add server migration scripts to pkg assets 2024-09-14 13:05:21 +03:00
mikiher 55164803b0 Fix migrationMeta database version initial value, and move isDatabaseNew logic inside MigrationManager 2024-09-14 08:01:32 +03:00
Nicholas Wallace c163f84aec Update migration changelog for series name unique 2024-09-13 17:01:48 -07:00
Nicholas Wallace 2711b989e1 Add: series migration to be unique 2024-09-13 16:55:48 -07:00
advplyr 5c49a8ce6a Merge pull request #3407 from agraubert/patch-1
Default deny explicit content to users
2024-09-13 13:24:12 -05:00
advplyr 854f308eae Merge pull request #3410 from mikiher/library-scan-try-catch
Handle library scan failure gracefully
2024-09-13 13:10:46 -05:00
advplyr 16ba6b53ba Merge pull request #3414 from thatguy7/master
Improved handling of Authors and Series with names containing non-ASCII characters
2024-09-13 12:59:01 -05:00
Oleg Ivasenko 0af29a378a use asciiOnlyToLowerCase to match lower function behaviour of SQLite 2024-09-13 17:09:32 +00:00
Oleg Ivasenko def34a860b when checking if series/author is alread in DB, use case insensitive match only for ASCII names 2024-09-13 16:23:25 +00:00
mikiher f8034e1b78 scanLibrary fail and cancel handling round 2 2024-09-13 09:23:48 +03:00
advplyr 01fbea02f1 Clean out old unused functions, Device updates for replacing DeviceInfo 2024-09-12 16:36:39 -05:00
advplyr 3d9af89e24 Merge pull request #3411 from justcallmelarry/feature/add-duration-when-creating-sessions
Add duration to local sessions on creation
2024-09-12 15:23:10 -05:00
Lauri Vuorela d430d9f3ed add new setDuration and use that 2024-09-12 20:05:08 +02:00
Lauri Vuorela 0c24a1e626 add duration to session when creating 2024-09-12 19:46:08 +02:00
mikiher 1099dbe642 Handle library scan failure gracefully 2024-09-12 18:56:52 +03:00
Aaron Graubert 2df3277dcd Server side change to enable default explicit acces for admins 2024-09-11 23:09:04 -06:00
Aaron Graubert 6ae14213f5 Related ui changes for removing default explicit access 2024-09-11 23:08:00 -06:00
Aaron Graubert 61bd029303 Default deny explicit content to users 2024-09-11 22:42:21 -06:00
advplyr 5b09bd8242 Merge pull request #3374 from wommy/update-nuxt-2.18.1
client update: nuxt 2.17.3 -> 2.18.1
2024-09-11 16:28:08 -05:00
advplyr 703477b157 Merge pull request #3405 from mikiher/logger-fixes
Log non-strings into log file like console.log does
2024-09-11 14:31:05 -05:00
mikiher 03ff5d8ae1 Disregard socketListener.level if level >= FATAL 2024-09-11 22:05:38 +03:00
mikiher 220f7ef7cd Resolve some weird unrelated flakiness in BookFinder test 2024-09-11 21:40:31 +03:00
mikiher 682a99dd43 Log non-strings into log file like console.log does 2024-09-11 19:58:30 +03:00
advplyr fac5de582d Merge pull request #3378 from mikiher/migration-manager
Add db migration management infratructure
2024-09-10 16:50:39 -05:00
advplyr 7cbf9de8ca Update migrations jsdocs 2024-09-10 15:57:07 -05:00
mikiher 6fb1202c1c Put umzug in server/libs and remove unneeded dependencies from it 2024-09-08 21:33:32 +03:00
mikiher 8a28029809 Make migration management more robust 2024-09-07 22:24:19 +03:00
mikiher b3ce300d32 Fix some packaging and dependency issues 2024-09-04 23:55:16 +03:00
mikiher 3f93b93d9e Add db migration management infratructure 2024-09-04 12:48:10 +03:00
wommy e32c83db63 npm update nuxt: 2.17.3 -> 2.18.1 2024-09-03 19:36:58 -04:00
178 changed files with 9513 additions and 4064 deletions
+1
View File
@@ -70,6 +70,7 @@ jobs:
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
tags: ${{ github.event.inputs.tags || steps.meta.outputs.tags }} tags: ${{ github.event.inputs.tags || steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
context: . context: .
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
push: true push: true
+1
View File
@@ -16,6 +16,7 @@
/ffmpeg* /ffmpeg*
/ffprobe* /ffprobe*
/unicode* /unicode*
/libnusqlite3*
sw.* sw.*
.DS_STORE .DS_STORE
+24 -9
View File
@@ -11,20 +11,35 @@ FROM node:20-alpine
ENV NODE_ENV=production ENV NODE_ENV=production
RUN apk update && \ RUN apk update && \
apk add --no-cache --update \ apk add --no-cache --update \
curl \ curl \
tzdata \ tzdata \
ffmpeg \ ffmpeg \
make \ make \
gcompat \ python3 \
python3 \ g++ \
g++ \ tini \
tini unzip
COPY --from=build /client/dist /client/dist COPY --from=build /client/dist /client/dist
COPY index.js package* / COPY index.js package* /
COPY server server COPY server server
ARG TARGETPLATFORM
ENV NUSQLITE3_DIR="/usr/local/lib/nusqlite3"
ENV NUSQLITE3_PATH="${NUSQLITE3_DIR}/libnusqlite3.so"
RUN case "$TARGETPLATFORM" in \
"linux/amd64") \
curl -L -o /tmp/library.zip "https://github.com/mikiher/nunicode-sqlite/releases/download/v1.2/libnusqlite3-linux-musl-x64.zip" ;; \
"linux/arm64") \
curl -L -o /tmp/library.zip "https://github.com/mikiher/nunicode-sqlite/releases/download/v1.2/libnusqlite3-linux-musl-arm64.zip" ;; \
*) echo "Unsupported platform: $TARGETPLATFORM" && exit 1 ;; \
esac && \
unzip /tmp/library.zip -d $NUSQLITE3_DIR && \
rm /tmp/library.zip
RUN npm ci --only=production RUN npm ci --only=production
RUN apk del make python3 g++ RUN apk del make python3 g++
@@ -347,6 +347,13 @@ export default {
libraryItemsAdded(libraryItems) { libraryItemsAdded(libraryItems) {
console.log('libraryItems added', libraryItems) console.log('libraryItems added', libraryItems)
// First items added to library
const isThisLibrary = libraryItems.some((li) => li.libraryId === this.currentLibraryId)
if (!this.shelves.length && !this.search && isThisLibrary) {
this.fetchCategories()
return
}
const recentlyAddedShelf = this.shelves.find((shelf) => shelf.id === 'recently-added') const recentlyAddedShelf = this.shelves.find((shelf) => shelf.id === 'recently-added')
if (!recentlyAddedShelf) return if (!recentlyAddedShelf) return
+1 -1
View File
@@ -24,7 +24,7 @@
</div> </div>
<div v-if="shelf.type === 'authors'" class="flex items-center"> <div v-if="shelf.type === 'authors'" class="flex items-center">
<template v-for="entity in shelf.entities"> <template v-for="entity in shelf.entities">
<cards-author-card :key="entity.id" :author="entity" @hook:updated="updatedBookCard" class="mx-2e" @edit="editAuthor" /> <cards-author-card :key="entity.id" :authorMount="entity" @hook:updated="updatedBookCard" class="mx-2e" @edit="editAuthor" />
</template> </template>
</div> </div>
<div v-if="shelf.type === 'narrators'" class="flex items-center"> <div v-if="shelf.type === 'narrators'" class="flex items-center">
+49 -38
View File
@@ -30,7 +30,7 @@
<p v-if="isCollectionsPage" class="text-sm">{{ $strings.ButtonCollections }}</p> <p v-if="isCollectionsPage" class="text-sm">{{ $strings.ButtonCollections }}</p>
<span v-else class="material-symbols text-lg">&#xe431;</span> <span v-else class="material-symbols text-lg">&#xe431;</span>
</nuxt-link> </nuxt-link>
<nuxt-link v-if="isBookLibrary" :to="`/library/${currentLibraryId}/authors`" class="flex-grow h-full flex justify-center items-center" :class="isAuthorsPage ? 'bg-primary bg-opacity-80' : 'bg-primary bg-opacity-40'"> <nuxt-link v-if="isBookLibrary" :to="`/library/${currentLibraryId}/bookshelf/authors`" class="flex-grow h-full flex justify-center items-center" :class="isAuthorsPage ? 'bg-primary bg-opacity-80' : 'bg-primary bg-opacity-40'">
<p v-if="isAuthorsPage" class="text-sm">{{ $strings.ButtonAuthors }}</p> <p v-if="isAuthorsPage" class="text-sm">{{ $strings.ButtonAuthors }}</p>
<svg v-else class="w-5 h-5" viewBox="0 0 24 24"> <svg v-else class="w-5 h-5" viewBox="0 0 24 24">
<path <path
@@ -62,7 +62,7 @@
<ui-context-menu-dropdown v-if="!isBatchSelecting && seriesContextMenuItems.length" :items="seriesContextMenuItems" class="mx-px" @action="seriesContextMenuAction" /> <ui-context-menu-dropdown v-if="!isBatchSelecting && seriesContextMenuItems.length" :items="seriesContextMenuItems" class="mx-px" @action="seriesContextMenuAction" />
</template> </template>
<!-- library & collections page --> <!-- library & collections page -->
<template v-else-if="page !== 'search' && page !== 'podcast-search' && page !== 'recent-episodes' && !isHome"> <template v-else-if="page !== 'search' && page !== 'podcast-search' && page !== 'recent-episodes' && !isHome && !isAuthorsPage">
<p class="hidden md:block">{{ $formatNumber(numShowing) }} {{ entityName }}</p> <p class="hidden md:block">{{ $formatNumber(numShowing) }} {{ entityName }}</p>
<div class="flex-grow hidden sm:inline-block" /> <div class="flex-grow hidden sm:inline-block" />
@@ -92,12 +92,14 @@
<ui-context-menu-dropdown v-if="contextMenuItems.length" :items="contextMenuItems" :menu-width="110" class="ml-2" @action="contextMenuAction" /> <ui-context-menu-dropdown v-if="contextMenuItems.length" :items="contextMenuItems" :menu-width="110" class="ml-2" @action="contextMenuAction" />
</template> </template>
<!-- authors page --> <!-- authors page -->
<template v-else-if="page === 'authors'"> <template v-else-if="isAuthorsPage">
<div class="flex-grow" /> <p class="hidden md:block">{{ $formatNumber(numShowing) }} {{ entityName }}</p>
<ui-btn v-if="userCanUpdate && authors?.length && !isBatchSelecting" :loading="processingAuthors" color="primary" small @click="matchAllAuthors">{{ $strings.ButtonMatchAllAuthors }}</ui-btn>
<div class="flex-grow hidden sm:inline-block" />
<ui-btn v-if="userCanUpdate && !isBatchSelecting" :loading="processingAuthors" color="primary" small @click="matchAllAuthors">{{ $strings.ButtonMatchAllAuthors }}</ui-btn>
<!-- author sort select --> <!-- author sort select -->
<controls-sort-select v-if="authors?.length" v-model="settings.authorSortBy" :descending.sync="settings.authorSortDesc" :items="authorSortItems" class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateAuthorSort" /> <controls-sort-select v-model="settings.authorSortBy" :descending.sync="settings.authorSortDesc" :items="authorSortItems" class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateAuthorSort" />
</template> </template>
<!-- home page --> <!-- home page -->
<template v-else-if="isHome"> <template v-else-if="isHome">
@@ -117,11 +119,7 @@ export default {
type: Object, type: Object,
default: () => null default: () => null
}, },
searchQuery: String, searchQuery: String
authors: {
type: Array,
default: () => []
}
}, },
data() { data() {
return { return {
@@ -268,7 +266,7 @@ export default {
return this.$route.name === 'library-library-podcast-latest' return this.$route.name === 'library-library-podcast-latest'
}, },
isAuthorsPage() { isAuthorsPage() {
return this.$route.name === 'library-library-authors' return this.page === 'authors'
}, },
isAlbumsPage() { isAlbumsPage() {
return this.page === 'albums' return this.page === 'albums'
@@ -284,6 +282,7 @@ export default {
if (this.isSeriesPage) return this.$strings.LabelSeries if (this.isSeriesPage) return this.$strings.LabelSeries
if (this.isCollectionsPage) return this.$strings.LabelCollections if (this.isCollectionsPage) return this.$strings.LabelCollections
if (this.isPlaylistsPage) return this.$strings.LabelPlaylists if (this.isPlaylistsPage) return this.$strings.LabelPlaylists
if (this.isAuthorsPage) return this.$strings.LabelAuthors
return '' return ''
}, },
seriesId() { seriesId() {
@@ -473,42 +472,54 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to re-add series to continue listening', error) console.error('Failed to re-add series to continue listening', error)
this.$toast.error(this.$strings.ToastItemUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processingSeries = false this.processingSeries = false
}) })
}, },
async fetchAllAuthors() {
// fetch all authors from the server, in the order that they are currently displayed
const response = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/authors?sort=${this.settings.authorSortBy}&desc=${this.settings.authorSortDesc}`)
return response.authors
},
async matchAllAuthors() { async matchAllAuthors() {
this.processingAuthors = true this.processingAuthors = true
for (const author of this.authors) { try {
const payload = {} const authors = await this.fetchAllAuthors()
if (author.asin) payload.asin = author.asin
else payload.q = author.name
payload.region = 'us' for (const author of authors) {
if (this.libraryProvider.startsWith('audible.')) { const payload = {}
payload.region = this.libraryProvider.split('.').pop() || 'us' if (author.asin) payload.asin = author.asin
else payload.q = author.name
payload.region = 'us'
if (this.libraryProvider.startsWith('audible.')) {
payload.region = this.libraryProvider.split('.').pop() || 'us'
}
this.$eventBus.$emit(`searching-author-${author.id}`, true)
var response = await this.$axios.$post(`/api/authors/${author.id}/match`, payload).catch((error) => {
console.error('Failed', error)
return null
})
if (!response) {
console.error(`Author ${author.name} not found`)
this.$toast.error(this.$getString('ToastAuthorNotFound', [author.name]))
} else if (response.updated) {
if (response.author.imagePath) console.log(`Author ${response.author.name} was updated`)
else console.log(`Author ${response.author.name} was updated (no image found)`)
} else {
console.log(`No updates were made for Author ${response.author.name}`)
}
this.$eventBus.$emit(`searching-author-${author.id}`, false)
} }
} catch (error) {
this.$eventBus.$emit(`searching-author-${author.id}`, true) console.error('Failed to match all authors', error)
this.$toast.error(this.$strings.ToastMatchAllAuthorsFailed)
var response = await this.$axios.$post(`/api/authors/${author.id}/match`, payload).catch((error) => {
console.error('Failed', error)
return null
})
if (!response) {
console.error(`Author ${author.name} not found`)
this.$toast.error(this.$getString('ToastAuthorNotFound', [author.name]))
} else if (response.updated) {
if (response.author.imagePath) console.log(`Author ${response.author.name} was updated`)
else console.log(`Author ${response.author.name} was updated (no image found)`)
} else {
console.log(`No updates were made for Author ${response.author.name}`)
}
this.$eventBus.$emit(`searching-author-${author.id}`, false)
} }
this.processingAuthors = false this.processingAuthors = false
}, },
+46
View File
@@ -91,6 +91,7 @@ export default {
if (this.page === 'series') return this.$strings.MessageBookshelfNoSeries if (this.page === 'series') return this.$strings.MessageBookshelfNoSeries
if (this.page === 'collections') return this.$strings.MessageBookshelfNoCollections if (this.page === 'collections') return this.$strings.MessageBookshelfNoCollections
if (this.page === 'playlists') return this.$strings.MessageNoUserPlaylists if (this.page === 'playlists') return this.$strings.MessageNoUserPlaylists
if (this.page === 'authors') return this.$strings.MessageNoAuthors
if (this.hasFilter) { if (this.hasFilter) {
if (this.filterName === 'Issues') return this.$strings.MessageNoIssues if (this.filterName === 'Issues') return this.$strings.MessageNoIssues
else if (this.filterName === 'Feed-open') return this.$strings.MessageBookshelfNoRSSFeeds else if (this.filterName === 'Feed-open') return this.$strings.MessageBookshelfNoRSSFeeds
@@ -111,6 +112,12 @@ export default {
seriesFilterBy() { seriesFilterBy() {
return this.$store.getters['user/getUserSetting']('seriesFilterBy') return this.$store.getters['user/getUserSetting']('seriesFilterBy')
}, },
authorSortBy() {
return this.$store.getters['user/getUserSetting']('authorSortBy')
},
authorSortDesc() {
return !!this.$store.getters['user/getUserSetting']('authorSortDesc')
},
orderBy() { orderBy() {
return this.$store.getters['user/getUserSetting']('orderBy') return this.$store.getters['user/getUserSetting']('orderBy')
}, },
@@ -217,6 +224,8 @@ export default {
this.$store.commit('globals/setEditCollection', entity) this.$store.commit('globals/setEditCollection', entity)
} else if (this.entityName === 'playlists') { } else if (this.entityName === 'playlists') {
this.$store.commit('globals/setEditPlaylist', entity) this.$store.commit('globals/setEditPlaylist', entity)
} else if (this.entityName === 'authors') {
this.$store.commit('globals/showEditAuthorModal', entity)
} }
}, },
clearSelectedEntities() { clearSelectedEntities() {
@@ -457,6 +466,9 @@ export default {
if (this.collapseBookSeries) { if (this.collapseBookSeries) {
searchParams.set('collapseseries', 1) searchParams.set('collapseseries', 1)
} }
} else if (this.page === 'authors') {
searchParams.set('sort', this.authorSortBy)
searchParams.set('desc', this.authorSortDesc ? 1 : 0)
} else { } else {
if (this.filterBy && this.filterBy !== 'all') { if (this.filterBy && this.filterBy !== 'all') {
searchParams.set('filter', this.filterBy) searchParams.set('filter', this.filterBy)
@@ -601,6 +613,34 @@ export default {
this.executeRebuild() this.executeRebuild()
} }
}, },
authorAdded(author) {
if (this.entityName !== 'authors') return
console.log(`[LazyBookshelf] authorAdded ${author.id}`, author)
this.resetEntities()
},
authorUpdated(author) {
if (this.entityName !== 'authors') return
console.log(`[LazyBookshelf] authorUpdated ${author.id}`, author)
const indexOf = this.entities.findIndex((ent) => ent && ent.id === author.id)
if (indexOf >= 0) {
this.entities[indexOf] = author
if (this.entityComponentRefs[indexOf]) {
this.entityComponentRefs[indexOf].setEntity(author)
}
}
},
authorRemoved(author) {
if (this.entityName !== 'authors') return
console.log(`[LazyBookshelf] authorRemoved ${author.id}`, author)
const indexOf = this.entities.findIndex((ent) => ent && ent.id === author.id)
if (indexOf >= 0) {
this.entities = this.entities.filter((ent) => ent.id !== author.id)
this.totalEntities--
this.$eventBus.$emit('bookshelf-total-entities', this.totalEntities)
this.executeRebuild()
}
},
shareOpen(mediaItemShare) { shareOpen(mediaItemShare) {
if (this.entityName === 'items' || this.entityName === 'series-books') { if (this.entityName === 'items' || this.entityName === 'series-books') {
var indexOf = this.entities.findIndex((ent) => ent?.media?.id === mediaItemShare.mediaItemId) var indexOf = this.entities.findIndex((ent) => ent?.media?.id === mediaItemShare.mediaItemId)
@@ -727,6 +767,9 @@ export default {
this.$root.socket.on('playlist_added', this.playlistAdded) this.$root.socket.on('playlist_added', this.playlistAdded)
this.$root.socket.on('playlist_updated', this.playlistUpdated) this.$root.socket.on('playlist_updated', this.playlistUpdated)
this.$root.socket.on('playlist_removed', this.playlistRemoved) this.$root.socket.on('playlist_removed', this.playlistRemoved)
this.$root.socket.on('author_added', this.authorAdded)
this.$root.socket.on('author_updated', this.authorUpdated)
this.$root.socket.on('author_removed', this.authorRemoved)
this.$root.socket.on('share_open', this.shareOpen) this.$root.socket.on('share_open', this.shareOpen)
this.$root.socket.on('share_closed', this.shareClosed) this.$root.socket.on('share_closed', this.shareClosed)
} else { } else {
@@ -756,6 +799,9 @@ export default {
this.$root.socket.off('playlist_added', this.playlistAdded) this.$root.socket.off('playlist_added', this.playlistAdded)
this.$root.socket.off('playlist_updated', this.playlistUpdated) this.$root.socket.off('playlist_updated', this.playlistUpdated)
this.$root.socket.off('playlist_removed', this.playlistRemoved) this.$root.socket.off('playlist_removed', this.playlistRemoved)
this.$root.socket.off('author_added', this.authorAdded)
this.$root.socket.off('author_updated', this.authorUpdated)
this.$root.socket.off('author_removed', this.authorRemoved)
this.$root.socket.off('share_open', this.shareOpen) this.$root.socket.off('share_open', this.shareOpen)
this.$root.socket.off('share_closed', this.shareClosed) this.$root.socket.off('share_closed', this.shareClosed)
} else { } else {
@@ -167,7 +167,7 @@ export default {
}, },
podcastAuthor() { podcastAuthor() {
if (!this.isPodcast) return null if (!this.isPodcast) return null
return this.mediaMetadata.author || 'Unknown' return this.mediaMetadata.author || this.$strings.LabelUnknown
}, },
hasNextItemInQueue() { hasNextItemInQueue() {
return this.currentPlayerQueueIndex < this.playerQueueItems.length - 1 return this.currentPlayerQueueIndex < this.playerQueueItems.length - 1
@@ -251,7 +251,7 @@ export default {
sleepTimerEnd() { sleepTimerEnd() {
this.clearSleepTimer() this.clearSleepTimer()
this.playerHandler.pause() this.playerHandler.pause()
this.$toast.info('Sleep Timer Done.. zZzzZz') this.$toast.info(this.$strings.ToastSleepTimerDone)
}, },
cancelSleepTimer() { cancelSleepTimer() {
this.showSleepTimerModal = false this.showSleepTimerModal = false
@@ -525,7 +525,7 @@ export default {
}, },
showFailedProgressSyncs() { showFailedProgressSyncs() {
if (!isNaN(this.syncFailedToast)) this.$toast.dismiss(this.syncFailedToast) if (!isNaN(this.syncFailedToast)) this.$toast.dismiss(this.syncFailedToast)
this.syncFailedToast = this.$toast('Progress is not being synced. Restart playback', { timeout: false, type: 'error' }) this.syncFailedToast = this.$toast(this.$strings.ToastProgressIsNotBeingSynced, { timeout: false, type: 'error' })
}, },
sessionClosedEvent(sessionId) { sessionClosedEvent(sessionId) {
if (this.playerHandler.currentSessionId === sessionId) { if (this.playerHandler.currentSessionId === sessionId) {
+2 -2
View File
@@ -58,7 +58,7 @@
<div v-show="isPlaylistsPage" class="h-full w-0.5 bg-yellow-400 absolute top-0 left-0" /> <div v-show="isPlaylistsPage" class="h-full w-0.5 bg-yellow-400 absolute top-0 left-0" />
</nuxt-link> </nuxt-link>
<nuxt-link v-if="isBookLibrary" :to="`/library/${currentLibraryId}/authors`" class="w-full h-20 flex flex-col items-center justify-center text-white text-opacity-80 border-b border-primary border-opacity-70 hover:bg-primary cursor-pointer relative" :class="isAuthorsPage ? 'bg-primary bg-opacity-80' : 'bg-bg bg-opacity-60'"> <nuxt-link v-if="isBookLibrary" :to="`/library/${currentLibraryId}/bookshelf/authors`" class="w-full h-20 flex flex-col items-center justify-center text-white text-opacity-80 border-b border-primary border-opacity-70 hover:bg-primary cursor-pointer relative" :class="isAuthorsPage ? 'bg-primary bg-opacity-80' : 'bg-bg bg-opacity-60'">
<svg class="w-6 h-6" viewBox="0 0 24 24"> <svg class="w-6 h-6" viewBox="0 0 24 24">
<path <path
fill="currentColor" fill="currentColor"
@@ -180,7 +180,7 @@ export default {
return this.$route.name === 'library-library-series-id' || this.paramId === 'series' return this.$route.name === 'library-library-series-id' || this.paramId === 'series'
}, },
isAuthorsPage() { isAuthorsPage() {
return this.$route.name === 'library-library-authors' return this.libraryBookshelfPage && this.paramId === 'authors'
}, },
isNarratorsPage() { isNarratorsPage() {
return this.$route.name === 'library-library-narrators' return this.$route.name === 'library-library-narrators'
+54 -20
View File
@@ -1,6 +1,6 @@
<template> <template>
<div :style="{ minWidth: cardWidth + 'px', maxWidth: cardWidth + 'px' }"> <div class="pb-3e" :style="{ minWidth: cardWidth + 'px', maxWidth: cardWidth + 'px' }">
<nuxt-link :to="`/author/${author.id}`"> <nuxt-link :to="`/author/${author?.id}`">
<div cy-id="card" @mouseover="mouseover" @mouseleave="mouseleave"> <div cy-id="card" @mouseover="mouseover" @mouseleave="mouseleave">
<div cy-id="imageArea" :style="{ height: cardHeight + 'px' }" class="bg-primary box-shadow-book rounded-md relative overflow-hidden"> <div cy-id="imageArea" :style="{ height: cardHeight + 'px' }" class="bg-primary box-shadow-book rounded-md relative overflow-hidden">
<!-- Image or placeholder --> <!-- Image or placeholder -->
@@ -40,7 +40,7 @@
<script> <script>
export default { export default {
props: { props: {
author: { authorMount: {
type: Object, type: Object,
default: () => {} default: () => {}
}, },
@@ -57,7 +57,8 @@ export default {
data() { data() {
return { return {
searching: false, searching: false,
isHovering: false isHovering: false,
author: null
} }
}, },
computed: { computed: {
@@ -68,34 +69,37 @@ export default {
return this.height * this.sizeMultiplier return this.height * this.sizeMultiplier
}, },
userToken() { userToken() {
return this.$store.getters['user/getToken'] return this.store.getters['user/getToken']
}, },
_author() { _author() {
return this.author || {} return this.author || {}
}, },
authorId() { authorId() {
return this._author.id return this._author?.id || ''
}, },
name() { name() {
return this._author.name || '' return this._author?.name || ''
}, },
asin() { asin() {
return this._author.asin || '' return this._author?.asin || ''
}, },
numBooks() { numBooks() {
return this._author.numBooks || 0 return this._author?.numBooks || 0
},
store() {
return this.$store || this.$nuxt.$store
}, },
userCanUpdate() { userCanUpdate() {
return this.$store.getters['user/getUserCanUpdate'] return this.store.getters['user/getUserCanUpdate']
}, },
currentLibraryId() { currentLibraryId() {
return this.$store.state.libraries.currentLibraryId return this.store.state.libraries.currentLibraryId
}, },
libraryProvider() { libraryProvider() {
return this.$store.getters['libraries/getLibraryProvider'](this.currentLibraryId) || 'google' return this.store.getters['libraries/getLibraryProvider'](this.currentLibraryId) || 'google'
}, },
sizeMultiplier() { sizeMultiplier() {
return this.$store.getters['user/getSizeMultiplier'] return this.store.getters['user/getSizeMultiplier']
} }
}, },
methods: { methods: {
@@ -121,24 +125,54 @@ export default {
return null return null
}) })
if (!response) { if (!response) {
this.$toast.error(`Author ${this.name} not found`) this.$toast.error(this.$getString('ToastAuthorNotFound', [this.name]))
} else if (response.updated) { } else if (response.updated) {
if (response.author.imagePath) this.$toast.success(`Author ${response.author.name} was updated`) if (response.author.imagePath) {
else this.$toast.success(`Author ${response.author.name} was updated (no image found)`) this.$toast.success(this.$strings.ToastAuthorUpdateSuccess)
} else {
this.$toast.success(this.$strings.ToastAuthorUpdateSuccessNoImageFound)
}
} else { } else {
this.$toast.info(`No updates were made for Author ${response.author.name}`) this.$toast.info(this.$strings.ToastNoUpdatesNecessary)
} }
this.searching = false this.searching = false
}, },
setSearching(isSearching) { setSearching(isSearching) {
this.searching = isSearching this.searching = isSearching
} },
setEntity(author) {
this.removeListeners()
this.author = author
this.addListeners()
},
addListeners() {
if (this.author) {
this.$eventBus.$on(`searching-author-${this.authorId}`, this.setSearching)
}
},
removeListeners() {
if (this.author) {
this.$eventBus.$off(`searching-author-${this.authorId}`, this.setSearching)
}
},
destroy() {
// destroy the vue listeners, etc
this.$destroy()
// remove the element from the DOM
if (this.$el && this.$el.parentNode) {
this.$el.parentNode.removeChild(this.$el)
} else if (this.$el && this.$el.remove) {
this.$el.remove()
}
},
setSelectionMode(val) {}
}, },
mounted() { mounted() {
this.$eventBus.$on(`searching-author-${this.authorId}`, this.setSearching) if (this.authorMount) this.setEntity(this.authorMount)
}, },
beforeDestroy() { beforeDestroy() {
this.$eventBus.$off(`searching-author-${this.authorId}`, this.setSearching) this.removeListeners()
} }
} }
</script> </script>
@@ -8,6 +8,7 @@
<p class="truncate text-sm">{{ title }}</p> <p class="truncate text-sm">{{ title }}</p>
<p class="truncate text-xs text-gray-300">{{ description }}</p> <p class="truncate text-xs text-gray-300">{{ description }}</p>
<p v-if="specialMessage" class="truncate text-xs text-gray-300">{{ specialMessage }}</p>
<p v-if="isFailed && failedMessage" class="text-xs truncate text-red-500">{{ failedMessage }}</p> <p v-if="isFailed && failedMessage" class="text-xs truncate text-red-500">{{ failedMessage }}</p>
<p v-else-if="!isFinished && cancelingScan" class="text-xs truncate">Canceling...</p> <p v-else-if="!isFinished && cancelingScan" class="text-xs truncate">Canceling...</p>
@@ -26,7 +27,16 @@ export default {
}, },
data() { data() {
return { return {
cancelingScan: false cancelingScan: false,
specialMessage: ''
}
},
watch: {
task: {
immediate: true,
handler() {
this.initTask()
}
} }
}, },
computed: { computed: {
@@ -34,14 +44,17 @@ export default {
return this.$store.getters['user/getIsAdminOrUp'] return this.$store.getters['user/getIsAdminOrUp']
}, },
title() { title() {
if (this.task.titleKey && this.$strings[this.task.titleKey]) {
return this.$getString(this.task.titleKey, this.task.titleSubs)
}
return this.task.title || 'No Title' return this.task.title || 'No Title'
}, },
description() { description() {
if (this.task.descriptionKey && this.$strings[this.task.descriptionKey]) {
return this.$getString(this.task.descriptionKey, this.task.descriptionSubs)
}
return this.task.description || '' return this.task.description || ''
}, },
details() {
return this.task.details || 'Unknown'
},
isFinished() { isFinished() {
return !!this.task.isFinished return !!this.task.isFinished
}, },
@@ -52,6 +65,9 @@ export default {
return this.isFinished && !this.isFailed return this.isFinished && !this.isFailed
}, },
failedMessage() { failedMessage() {
if (this.task.errorKey && this.$strings[this.task.errorKey]) {
return this.$getString(this.task.errorKey, this.task.errorSubs)
}
return this.task.error || '' return this.task.error || ''
}, },
action() { action() {
@@ -87,6 +103,21 @@ export default {
} }
}, },
methods: { methods: {
initTask() {
// special message for library scan tasks
if (this.task?.data?.scanResults) {
const scanResults = this.task.data.scanResults
const strs = []
if (scanResults.added) strs.push(this.$getString('MessageTaskScanItemsAdded', [scanResults.added]))
if (scanResults.updated) strs.push(this.$getString('MessageTaskScanItemsUpdated', [scanResults.updated]))
if (scanResults.missing) strs.push(this.$getString('MessageTaskScanItemsMissing', [scanResults.missing]))
const changesDetected = strs.length > 0 ? strs.join(', ') : this.$strings.MessageTaskScanNoChangesNeeded
const timeElapsed = scanResults.elapsed ? ` (${this.$elapsedPretty(scanResults.elapsed / 1000, false, true)})` : ''
this.specialMessage = `${changesDetected}${timeElapsed}`
} else {
this.specialMessage = ''
}
},
cancelScan() { cancelScan() {
const libraryId = this.task?.data?.libraryId const libraryId = this.task?.data?.libraryId
if (!libraryId) { if (!libraryId) {
+3 -3
View File
@@ -325,7 +325,7 @@ export default {
}, },
displaySubtitle() { displaySubtitle() {
if (!this.libraryItem) return '\u00A0' if (!this.libraryItem) return '\u00A0'
if (this.collapsedSeries) return this.collapsedSeries.numBooks === 1 ? '1 book' : `${this.collapsedSeries.numBooks} books` if (this.collapsedSeries) return `${this.collapsedSeries.numBooks} ${this.$strings.LabelBooks}`
if (this.mediaMetadata.subtitle) return this.mediaMetadata.subtitle if (this.mediaMetadata.subtitle) return this.mediaMetadata.subtitle
if (this.mediaMetadata.seriesName) return this.mediaMetadata.seriesName if (this.mediaMetadata.seriesName) return this.mediaMetadata.seriesName
return '' return ''
@@ -816,7 +816,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to remove series from home', error) console.error('Failed to remove series from home', error)
this.$toast.error(this.$strings.ToastFailedToUpdateUser) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processing = false this.processing = false
@@ -834,7 +834,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to hide item from home', error) console.error('Failed to hide item from home', error)
this.$toast.error(this.$strings.ToastFailedToUpdateUser) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processing = false this.processing = false
+1 -1
View File
@@ -130,7 +130,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update notification', error) console.error('Failed to update notification', error)
this.$toast.error(this.$strings.ToastNotificationUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.enabling = false this.enabling = false
@@ -189,6 +189,12 @@ export default {
value: 'publishers', value: 'publishers',
sublist: true sublist: true
}, },
{
text: this.$strings.LabelPublishedDecade,
textPlural: this.$strings.LabelPublishedDecades,
value: 'publishedDecades',
sublist: true
},
{ {
text: this.$strings.LabelLanguage, text: this.$strings.LabelLanguage,
textPlural: this.$strings.LabelLanguages, textPlural: this.$strings.LabelLanguages,
@@ -338,6 +344,9 @@ export default {
publishers() { publishers() {
return this.filterData.publishers || [] return this.filterData.publishers || []
}, },
publishedDecades() {
return this.filterData.publishedDecades || []
},
progress() { progress() {
return [ return [
{ {
@@ -404,21 +413,17 @@ export default {
id: 'isbn', id: 'isbn',
name: 'ISBN' name: 'ISBN'
}, },
{
id: 'subtitle',
name: this.$strings.LabelSubtitle
},
{ {
id: 'authors', id: 'authors',
name: this.$strings.LabelAuthor name: this.$strings.LabelAuthor
}, },
{ {
id: 'publishedYear', id: 'chapters',
name: this.$strings.LabelPublishYear name: this.$strings.LabelChapters
}, },
{ {
id: 'series', id: 'cover',
name: this.$strings.LabelSeries name: this.$strings.LabelCover
}, },
{ {
id: 'description', id: 'description',
@@ -429,24 +434,32 @@ export default {
name: this.$strings.LabelGenres name: this.$strings.LabelGenres
}, },
{ {
id: 'tags', id: 'language',
name: this.$strings.LabelTags name: this.$strings.LabelLanguage
}, },
{ {
id: 'narrators', id: 'narrators',
name: this.$strings.LabelNarrator name: this.$strings.LabelNarrator
}, },
{
id: 'publishedYear',
name: this.$strings.LabelPublishYear
},
{ {
id: 'publisher', id: 'publisher',
name: this.$strings.LabelPublisher name: this.$strings.LabelPublisher
}, },
{ {
id: 'language', id: 'series',
name: this.$strings.LabelLanguage name: this.$strings.LabelSeries
}, },
{ {
id: 'cover', id: 'subtitle',
name: this.$strings.LabelCover name: this.$strings.LabelSubtitle
},
{
id: 'tags',
name: this.$strings.LabelTags
} }
] ]
}, },
@@ -1,9 +1,9 @@
<template> <template>
<div ref="wrapper" class="relative ml-4 sm:ml-8" v-click-outside="clickOutside"> <div ref="wrapper" class="relative ml-4 sm:ml-8" v-click-outside="clickOutside">
<div class="flex items-center justify-center text-gray-300 cursor-pointer h-full" @mousedown.prevent @mouseup.prevent @click="setShowMenu(true)"> <div class="flex items-center justify-center text-gray-300 cursor-pointer h-full" @mousedown.prevent @mouseup.prevent @click="setShowMenu(true)">
<span class="font-mono uppercase text-gray-200 text-sm sm:text-base">{{ playbackRate.toFixed(1) }}<span class="text-base">x</span></span> <span class="text-gray-200 text-sm sm:text-base">{{ playbackRate.toFixed(1) }}<span class="text-base">x</span></span>
</div> </div>
<div v-show="showMenu" class="absolute -top-20 z-20 bg-bg border-black-200 border shadow-xl rounded-lg" :style="{ left: menuLeft + 'px' }"> <div v-show="showMenu" class="absolute -top-[5.5rem] z-20 bg-bg border-black-200 border shadow-xl rounded-lg" :style="{ left: menuLeft + 'px' }">
<div class="absolute -bottom-1.5 right-0 w-full flex justify-center" :style="{ left: arrowLeft + 'px' }"> <div class="absolute -bottom-1.5 right-0 w-full flex justify-center" :style="{ left: arrowLeft + 'px' }">
<div class="arrow-down" /> <div class="arrow-down" />
</div> </div>
@@ -11,12 +11,12 @@
<template v-for="rate in rates"> <template v-for="rate in rates">
<div :key="rate" class="h-full border-black-300 w-11 cursor-pointer border rounded-sm" :class="value === rate ? 'bg-black-100' : 'hover:bg-black hover:bg-opacity-10'" style="min-width: 44px; max-width: 44px" @click="set(rate)"> <div :key="rate" class="h-full border-black-300 w-11 cursor-pointer border rounded-sm" :class="value === rate ? 'bg-black-100' : 'hover:bg-black hover:bg-opacity-10'" style="min-width: 44px; max-width: 44px" @click="set(rate)">
<div class="w-full h-full flex justify-center items-center"> <div class="w-full h-full flex justify-center items-center">
<p class="text-xs text-center font-mono">{{ rate }}<span class="text-sm">x</span></p> <p class="text-xs text-center">{{ rate }}<span class="text-sm">x</span></p>
</div> </div>
</div> </div>
</template> </template>
</div> </div>
<div class="w-full py-1 px-4"> <div class="w-full py-1 px-1">
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
<ui-icon-btn :disabled="!canDecrement" icon="remove" @click="decrement" /> <ui-icon-btn :disabled="!canDecrement" icon="remove" @click="decrement" />
<p class="px-2 text-2xl sm:text-3xl">{{ playbackRate }}<span class="text-2xl">x</span></p> <p class="px-2 text-2xl sm:text-3xl">{{ playbackRate }}<span class="text-2xl">x</span></p>
@@ -41,7 +41,7 @@ export default {
currentPlaybackRate: 0, currentPlaybackRate: 0,
MIN_SPEED: 0.5, MIN_SPEED: 0.5,
MAX_SPEED: 10, MAX_SPEED: 10,
menuLeft: -92, menuLeft: -96,
arrowLeft: 0 arrowLeft: 0
} }
}, },
@@ -89,9 +89,9 @@ export default {
if (boundingBox.left + 110 > window.innerWidth - 10) { if (boundingBox.left + 110 > window.innerWidth - 10) {
this.menuLeft = window.innerWidth - 230 - boundingBox.left this.menuLeft = window.innerWidth - 230 - boundingBox.left
this.arrowLeft = Math.abs(this.menuLeft) - 92 this.arrowLeft = Math.abs(this.menuLeft) - 96
} else { } else {
this.menuLeft = -92 this.menuLeft = -96
this.arrowLeft = 0 this.arrowLeft = 0
} }
}, },
@@ -109,4 +109,4 @@ export default {
this.currentPlaybackRate = this.playbackRate this.currentPlaybackRate = this.playbackRate
} }
} }
</script> </script>
+18 -25
View File
@@ -4,10 +4,10 @@
<span class="material-symbols text-2xl sm:text-3xl">{{ volumeIcon }}</span> <span class="material-symbols text-2xl sm:text-3xl">{{ volumeIcon }}</span>
</button> </button>
<transition name="menux"> <transition name="menux">
<div v-show="isOpen" class="volumeMenu h-6 absolute bottom-2 w-28 px-2 bg-bg shadow-sm rounded-lg" style="left: -116px"> <div v-show="isOpen" class="volumeMenu h-28 absolute bottom-2 w-6 py-2 bg-bg shadow-sm rounded-lg" style="top: -116px">
<div ref="volumeTrack" class="h-1 w-full bg-gray-500 my-2.5 relative cursor-pointer rounded-full" @mousedown="mousedownTrack" @click="clickVolumeTrack"> <div ref="volumeTrack" class="w-1 h-full bg-gray-500 mx-2.5 relative cursor-pointer rounded-full" @mousedown="mousedownTrack" @click="clickVolumeTrack">
<div class="bg-gray-100 h-full absolute left-0 top-0 pointer-events-none rounded-full" :style="{ width: volume * trackWidth + 'px' }" /> <div class="bg-gray-100 w-full absolute left-0 bottom-0 pointer-events-none rounded-full" :style="{ height: volume * trackHeight + 'px' }" />
<div class="w-2.5 h-2.5 bg-white shadow-sm rounded-full absolute pointer-events-none" :class="isDragging ? 'transform scale-125 origin-center' : ''" :style="{ left: cursorLeft + 'px', top: '-3px' }" /> <div class="w-2.5 h-2.5 bg-white shadow-sm rounded-full absolute pointer-events-none" :class="isDragging ? 'transform scale-125 origin-center' : ''" :style="{ bottom: cursorBottom + 'px', left: '-3px' }" />
</div> </div>
</div> </div>
</transition> </transition>
@@ -24,10 +24,10 @@ export default {
isOpen: false, isOpen: false,
isDragging: false, isDragging: false,
isHovering: false, isHovering: false,
posX: 0, posY: 0,
lastValue: 0.5, lastValue: 0.5,
isMute: false, isMute: false,
trackWidth: 112 - 20, trackHeight: 112 - 20,
openTimeout: null openTimeout: null
} }
}, },
@@ -45,9 +45,9 @@ export default {
this.$emit('input', val) this.$emit('input', val)
} }
}, },
cursorLeft() { cursorBottom() {
var left = this.trackWidth * this.volume var bottom = this.trackHeight * this.volume
return left - 3 return bottom - 3
}, },
volumeIcon() { volumeIcon() {
if (this.volume <= 0) return 'volume_mute' if (this.volume <= 0) return 'volume_mute'
@@ -89,17 +89,10 @@ export default {
}, 600) }, 600)
}, },
mousemove(e) { mousemove(e) {
var diff = this.posX - e.x var diff = this.posY - e.y
this.posX = e.x this.posY = e.y
var volShift = 0 var volShift = diff / this.trackHeight
if (diff < 0) { var newVol = this.volume + volShift
// Volume up
volShift = diff / this.trackWidth
} else {
// volume down
volShift = diff / this.trackWidth
}
var newVol = this.volume - volShift
newVol = Math.min(Math.max(0, newVol), 1) newVol = Math.min(Math.max(0, newVol), 1)
this.volume = newVol this.volume = newVol
e.preventDefault() e.preventDefault()
@@ -113,8 +106,8 @@ export default {
}, },
mousedownTrack(e) { mousedownTrack(e) {
this.isDragging = true this.isDragging = true
this.posX = e.x this.posY = e.y
var vol = e.offsetX / this.trackWidth var vol = 1 - e.offsetY / this.trackHeight
vol = Math.min(Math.max(vol, 0), 1) vol = Math.min(Math.max(vol, 0), 1)
this.volume = vol this.volume = vol
document.body.addEventListener('mousemove', this.mousemove) document.body.addEventListener('mousemove', this.mousemove)
@@ -137,7 +130,7 @@ export default {
this.clickVolumeIcon() this.clickVolumeIcon()
}, },
clickVolumeTrack(e) { clickVolumeTrack(e) {
var vol = e.offsetX / this.trackWidth var vol = 1 - e.offsetY / this.trackHeight
vol = Math.min(Math.max(vol, 0), 1) vol = Math.min(Math.max(vol, 0), 1)
this.volume = vol this.volume = vol
} }
@@ -147,7 +140,7 @@ export default {
this.isMute = true this.isMute = true
} }
const storageVolume = localStorage.getItem('volume') const storageVolume = localStorage.getItem('volume')
if (storageVolume) { if (storageVolume && !isNaN(storageVolume)) {
this.volume = parseFloat(storageVolume) this.volume = parseFloat(storageVolume)
} }
}, },
@@ -157,4 +150,4 @@ export default {
document.body.removeEventListener('mouseup', this.mouseup) document.body.removeEventListener('mouseup', this.mouseup)
} }
} }
</script> </script>
+2 -11
View File
@@ -56,24 +56,15 @@ export default {
}, },
imgSrc() { imgSrc() {
if (!this.imagePath) return null if (!this.imagePath) return null
if (process.env.NODE_ENV !== 'production') { return `${this.$config.routerBasePath}/api/authors/${this.authorId}/image?token=${this.userToken}&ts=${this.updatedAt}`
// Testing
return `http://localhost:3333${this.$config.routerBasePath}/api/authors/${this.authorId}/image?token=${this.userToken}&ts=${this.updatedAt}`
}
return `/api/authors/${this.authorId}/image?token=${this.userToken}&ts=${this.updatedAt}`
} }
}, },
methods: { methods: {
imageLoaded() { imageLoaded() {
var aspectRatio = 1.25
if (this.$refs.wrapper) {
aspectRatio = this.$refs.wrapper.clientHeight / this.$refs.wrapper.clientWidth
}
if (this.$refs.img) { if (this.$refs.img) {
var { naturalWidth, naturalHeight } = this.$refs.img var { naturalWidth, naturalHeight } = this.$refs.img
var imgAr = naturalHeight / naturalWidth var imgAr = naturalHeight / naturalWidth
var arDiff = Math.abs(imgAr - aspectRatio) if (imgAr < 0.5 || imgAr > 2) {
if (arDiff > 0.15) {
this.showCoverBg = true this.showCoverBg = true
} else { } else {
this.showCoverBg = false this.showCoverBg = false
+4 -4
View File
@@ -296,7 +296,7 @@ export default {
.then((data) => { .then((data) => {
this.processing = false this.processing = false
if (data.error) { if (data.error) {
this.$toast.error(`${this.$strings.ToastAccountUpdateFailed}: ${data.error}`) this.$toast.error(`${this.$strings.ToastFailedToUpdate}: ${data.error}`)
} else { } else {
console.log('Account updated', data.user) console.log('Account updated', data.user)
@@ -313,7 +313,7 @@ export default {
this.processing = false this.processing = false
console.error('Failed to update account', error) console.error('Failed to update account', error)
var errMsg = error.response ? error.response.data || '' : '' var errMsg = error.response ? error.response.data || '' : ''
this.$toast.error(errMsg || this.$strings.ToastFailedToUpdateAccount) this.$toast.error(errMsg || this.$strings.ToastFailedToUpdate)
}) })
}, },
submitCreateAccount() { submitCreateAccount() {
@@ -351,7 +351,7 @@ export default {
update: type === 'admin', update: type === 'admin',
delete: type === 'admin', delete: type === 'admin',
upload: type === 'admin', upload: type === 'admin',
accessExplicitContent: true, accessExplicitContent: type === 'admin',
accessAllLibraries: true, accessAllLibraries: true,
accessAllTags: true, accessAllTags: true,
selectedTagsNotAccessible: false selectedTagsNotAccessible: false
@@ -386,7 +386,7 @@ export default {
upload: false, upload: false,
accessAllLibraries: true, accessAllLibraries: true,
accessAllTags: true, accessAllTags: true,
accessExplicitContent: true, accessExplicitContent: false,
selectedTagsNotAccessible: false selectedTagsNotAccessible: false
}, },
librariesAccessible: [], librariesAccessible: [],
@@ -116,10 +116,10 @@ export default {
libraryItemIds: this.selectedBookIds libraryItemIds: this.selectedBookIds
}) })
.then(() => { .then(() => {
this.$toast.info('Batch quick match of ' + this.selectedBookIds.length + ' books started!') this.$toast.info(this.$getString('ToastBatchQuickMatchStarted', [this.selectedBookIds.length]))
}) })
.catch((error) => { .catch((error) => {
this.$toast.error('Batch quick match failed') this.$toast.error(this.$strings.ToastBatchQuickMatchFailed)
console.error('Failed to batch quick match', error) console.error('Failed to batch quick match', error)
}) })
.finally(() => { .finally(() => {
+1 -1
View File
@@ -110,7 +110,7 @@ export default {
this.$toast.success(this.$strings.ToastBookmarkUpdateSuccess) this.$toast.success(this.$strings.ToastBookmarkUpdateSuccess)
}) })
.catch((error) => { .catch((error) => {
this.$toast.error(this.$strings.ToastBookmarkUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
console.error(error) console.error(error)
}) })
this.show = false this.show = false
+2 -2
View File
@@ -112,11 +112,11 @@ export default {
return this.$store.state.user.user return this.$store.state.user.user
}, },
demoShareUrl() { demoShareUrl() {
return `${window.origin}/share/${this.newShareSlug}` return `${window.origin}${this.$config.routerBasePath}/share/${this.newShareSlug}`
}, },
currentShareUrl() { currentShareUrl() {
if (!this.currentShare) return '' if (!this.currentShare) return ''
return `${window.origin}/share/${this.currentShare.slug}` return `${window.origin}${this.$config.routerBasePath}/share/${this.currentShare.slug}`
}, },
currentShareTimeRemaining() { currentShareTimeRemaining() {
if (!this.currentShare) return 'Error' if (!this.currentShare) return 'Error'
@@ -148,7 +148,7 @@ export default {
var result = await this.$axios.$patch(`/api/authors/${this.authorId}`, updatePayload).catch((error) => { var result = await this.$axios.$patch(`/api/authors/${this.authorId}`, updatePayload).catch((error) => {
console.error('Failed', error) console.error('Failed', error)
const errorMsg = error.response ? error.response.data : null const errorMsg = error.response ? error.response.data : null
this.$toast.error(errorMsg || this.$strings.ToastAuthorUpdateFailed) this.$toast.error(errorMsg || this.$strings.ToastFailedToUpdate)
return null return null
}) })
if (result) { if (result) {
@@ -135,7 +135,7 @@ export default {
.catch((error) => { .catch((error) => {
console.error('Failed to update collection', error) console.error('Failed to update collection', error)
this.processing = false this.processing = false
this.$toast.error(this.$strings.ToastCollectionUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
} }
}, },
@@ -178,7 +178,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update device', error) console.error('Failed to update device', error)
this.$toast.error(this.$strings.ToastDeviceUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processing = false this.processing = false
@@ -6,7 +6,7 @@
<ui-text-input-with-label ref="maxEpisodesInput" v-model="maxEpisodesToDownload" :disabled="checkingNewEpisodes" type="number" :label="$strings.LabelLimit" class="w-16 mr-2" input-class="h-10"> <ui-text-input-with-label ref="maxEpisodesInput" v-model="maxEpisodesToDownload" :disabled="checkingNewEpisodes" type="number" :label="$strings.LabelLimit" class="w-16 mr-2" input-class="h-10">
<div class="flex -mb-0.5"> <div class="flex -mb-0.5">
<p class="px-1 text-sm font-semibold" :class="{ 'text-gray-400': checkingNewEpisodes }">{{ $strings.LabelLimit }}</p> <p class="px-1 text-sm font-semibold" :class="{ 'text-gray-400': checkingNewEpisodes }">{{ $strings.LabelLimit }}</p>
<ui-tooltip direction="top" text="Max # of episodes to download. Use 0 for unlimited."> <ui-tooltip direction="top" :text="$strings.LabelMaxEpisodesToDownload">
<span class="material-symbols text-base">info</span> <span class="material-symbols text-base">info</span>
</ui-tooltip> </ui-tooltip>
</div> </div>
@@ -99,7 +99,7 @@ export default {
if (this.maxEpisodesToDownload < 0) { if (this.maxEpisodesToDownload < 0) {
this.maxEpisodesToDownload = 3 this.maxEpisodesToDownload = 3
this.$toast.error('Invalid max episodes to download') this.$toast.error(this.$strings.ToastInvalidMaxEpisodesToDownload)
return return
} }
@@ -120,9 +120,9 @@ export default {
.then((response) => { .then((response) => {
if (response.episodes && response.episodes.length) { if (response.episodes && response.episodes.length) {
console.log('New episodes', response.episodes.length) console.log('New episodes', response.episodes.length)
this.$toast.success(`${response.episodes.length} new episodes found!`) this.$toast.success(this.$getString('ToastNewEpisodesFound', [response.episodes.length]))
} else { } else {
this.$toast.info('No new episodes found') this.$toast.info(this.$strings.ToastNoNewEpisodesFound)
} }
this.checkingNewEpisodes = false this.checkingNewEpisodes = false
}) })
@@ -141,4 +141,4 @@ export default {
this.setLastEpisodeCheckInput() this.setLastEpisodeCheckInput()
} }
} }
</script> </script>
+18 -18
View File
@@ -60,7 +60,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.title" :disabled="!selectedMatchUsage.title" :label="$strings.LabelTitle" /> <ui-text-input-with-label v-model="selectedMatch.title" :disabled="!selectedMatchUsage.title" :label="$strings.LabelTitle" />
<p v-if="mediaMetadata.title" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.title" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('title', mediaMetadata.title)">{{ mediaMetadata.title || '' }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('title', mediaMetadata.title)">{{ mediaMetadata.title || '' }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -69,7 +69,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.subtitle" :disabled="!selectedMatchUsage.subtitle" :label="$strings.LabelSubtitle" /> <ui-text-input-with-label v-model="selectedMatch.subtitle" :disabled="!selectedMatchUsage.subtitle" :label="$strings.LabelSubtitle" />
<p v-if="mediaMetadata.subtitle" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.subtitle" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('subtitle', mediaMetadata.subtitle)">{{ mediaMetadata.subtitle }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('subtitle', mediaMetadata.subtitle)">{{ mediaMetadata.subtitle }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -78,7 +78,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.author" :disabled="!selectedMatchUsage.author" :label="$strings.LabelAuthor" /> <ui-text-input-with-label v-model="selectedMatch.author" :disabled="!selectedMatchUsage.author" :label="$strings.LabelAuthor" />
<p v-if="mediaMetadata.authorName" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.authorName" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('author', mediaMetadata.authorName)">{{ mediaMetadata.authorName }}</a> {{ $strings.LabelCurrently }} <a title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('author', mediaMetadata.authorName)">{{ mediaMetadata.authorName }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -87,7 +87,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-multi-select v-model="selectedMatch.narrator" :items="narrators" :disabled="!selectedMatchUsage.narrator" :label="$strings.LabelNarrators" /> <ui-multi-select v-model="selectedMatch.narrator" :items="narrators" :disabled="!selectedMatchUsage.narrator" :label="$strings.LabelNarrators" />
<p v-if="mediaMetadata.narratorName" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.narratorName" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('narrator', mediaMetadata.narrators)">{{ mediaMetadata.narratorName }}</a> {{ $strings.LabelCurrently }} <a title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('narrator', mediaMetadata.narrators)">{{ mediaMetadata.narratorName }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -96,7 +96,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-textarea-with-label v-model="selectedMatch.description" :rows="3" :disabled="!selectedMatchUsage.description" :label="$strings.LabelDescription" /> <ui-textarea-with-label v-model="selectedMatch.description" :rows="3" :disabled="!selectedMatchUsage.description" :label="$strings.LabelDescription" />
<p v-if="mediaMetadata.description" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.description" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('description', mediaMetadata.description)">{{ mediaMetadata.description.substr(0, 100) + (mediaMetadata.description.length > 100 ? '...' : '') }}</a> {{ $strings.LabelCurrently }} <a title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('description', mediaMetadata.description)">{{ mediaMetadata.description.substr(0, 100) + (mediaMetadata.description.length > 100 ? '...' : '') }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -105,7 +105,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.publisher" :disabled="!selectedMatchUsage.publisher" :label="$strings.LabelPublisher" /> <ui-text-input-with-label v-model="selectedMatch.publisher" :disabled="!selectedMatchUsage.publisher" :label="$strings.LabelPublisher" />
<p v-if="mediaMetadata.publisher" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.publisher" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('publisher', mediaMetadata.publisher)">{{ mediaMetadata.publisher }}</a> {{ $strings.LabelCurrently }} <a title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('publisher', mediaMetadata.publisher)">{{ mediaMetadata.publisher }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -114,7 +114,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.publishedYear" :disabled="!selectedMatchUsage.publishedYear" :label="$strings.LabelPublishYear" /> <ui-text-input-with-label v-model="selectedMatch.publishedYear" :disabled="!selectedMatchUsage.publishedYear" :label="$strings.LabelPublishYear" />
<p v-if="mediaMetadata.publishedYear" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.publishedYear" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('publishedYear', mediaMetadata.publishedYear)">{{ mediaMetadata.publishedYear }}</a> {{ $strings.LabelCurrently }} <a title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('publishedYear', mediaMetadata.publishedYear)">{{ mediaMetadata.publishedYear }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -124,7 +124,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<widgets-series-input-widget v-model="selectedMatch.series" :disabled="!selectedMatchUsage.series" /> <widgets-series-input-widget v-model="selectedMatch.series" :disabled="!selectedMatchUsage.series" />
<p v-if="mediaMetadata.seriesName" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.seriesName" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('series', mediaMetadata.series)">{{ mediaMetadata.seriesName }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('series', mediaMetadata.series)">{{ mediaMetadata.seriesName }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -133,7 +133,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-multi-select v-model="selectedMatch.genres" :items="genres" :disabled="!selectedMatchUsage.genres" :label="$strings.LabelGenres" /> <ui-multi-select v-model="selectedMatch.genres" :items="genres" :disabled="!selectedMatchUsage.genres" :label="$strings.LabelGenres" />
<p v-if="mediaMetadata.genres?.length" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.genres?.length" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('genres', mediaMetadata.genres)">{{ mediaMetadata.genres.join(', ') }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('genres', mediaMetadata.genres)">{{ mediaMetadata.genres.join(', ') }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -142,7 +142,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-multi-select v-model="selectedMatch.tags" :items="tags" :disabled="!selectedMatchUsage.tags" :label="$strings.LabelTags" /> <ui-multi-select v-model="selectedMatch.tags" :items="tags" :disabled="!selectedMatchUsage.tags" :label="$strings.LabelTags" />
<p v-if="media.tags?.length" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="media.tags?.length" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('tags', media.tags)">{{ media.tags.join(', ') }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('tags', media.tags)">{{ media.tags.join(', ') }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -151,7 +151,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.language" :disabled="!selectedMatchUsage.language" :label="$strings.LabelLanguage" /> <ui-text-input-with-label v-model="selectedMatch.language" :disabled="!selectedMatchUsage.language" :label="$strings.LabelLanguage" />
<p v-if="mediaMetadata.language" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.language" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('language', mediaMetadata.language)">{{ mediaMetadata.language }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('language', mediaMetadata.language)">{{ mediaMetadata.language }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -160,7 +160,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.isbn" :disabled="!selectedMatchUsage.isbn" label="ISBN" /> <ui-text-input-with-label v-model="selectedMatch.isbn" :disabled="!selectedMatchUsage.isbn" label="ISBN" />
<p v-if="mediaMetadata.isbn" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.isbn" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('isbn', mediaMetadata.isbn)">{{ mediaMetadata.isbn }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('isbn', mediaMetadata.isbn)">{{ mediaMetadata.isbn }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -169,7 +169,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.asin" :disabled="!selectedMatchUsage.asin" label="ASIN" /> <ui-text-input-with-label v-model="selectedMatch.asin" :disabled="!selectedMatchUsage.asin" label="ASIN" />
<p v-if="mediaMetadata.asin" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.asin" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('asin', mediaMetadata.asin)">{{ mediaMetadata.asin }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('asin', mediaMetadata.asin)">{{ mediaMetadata.asin }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -179,7 +179,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.itunesId" type="number" :disabled="!selectedMatchUsage.itunesId" label="iTunes ID" /> <ui-text-input-with-label v-model="selectedMatch.itunesId" type="number" :disabled="!selectedMatchUsage.itunesId" label="iTunes ID" />
<p v-if="mediaMetadata.itunesId" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.itunesId" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('itunesId', mediaMetadata.itunesId)">{{ mediaMetadata.itunesId }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('itunesId', mediaMetadata.itunesId)">{{ mediaMetadata.itunesId }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -188,7 +188,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.feedUrl" :disabled="!selectedMatchUsage.feedUrl" label="RSS Feed URL" /> <ui-text-input-with-label v-model="selectedMatch.feedUrl" :disabled="!selectedMatchUsage.feedUrl" label="RSS Feed URL" />
<p v-if="mediaMetadata.feedUrl" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.feedUrl" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('feedUrl', mediaMetadata.feedUrl)">{{ mediaMetadata.feedUrl }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('feedUrl', mediaMetadata.feedUrl)">{{ mediaMetadata.feedUrl }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -197,7 +197,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.itunesPageUrl" :disabled="!selectedMatchUsage.itunesPageUrl" label="iTunes Page URL" /> <ui-text-input-with-label v-model="selectedMatch.itunesPageUrl" :disabled="!selectedMatchUsage.itunesPageUrl" label="iTunes Page URL" />
<p v-if="mediaMetadata.itunesPageUrl" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.itunesPageUrl" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('itunesPageUrl', mediaMetadata.itunesPageUrl)">{{ mediaMetadata.itunesPageUrl }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('itunesPageUrl', mediaMetadata.itunesPageUrl)">{{ mediaMetadata.itunesPageUrl }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -206,7 +206,7 @@
<div class="flex-grow ml-4"> <div class="flex-grow ml-4">
<ui-text-input-with-label v-model="selectedMatch.releaseDate" :disabled="!selectedMatchUsage.releaseDate" :label="$strings.LabelReleaseDate" /> <ui-text-input-with-label v-model="selectedMatch.releaseDate" :disabled="!selectedMatchUsage.releaseDate" :label="$strings.LabelReleaseDate" />
<p v-if="mediaMetadata.releaseDate" class="text-xs ml-1 text-white text-opacity-60"> <p v-if="mediaMetadata.releaseDate" class="text-xs ml-1 text-white text-opacity-60">
{{ $strings.LabelCurrently }} <a title="Click to use current value" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('releaseDate', mediaMetadata.releaseDate)">{{ mediaMetadata.releaseDate }}</a> {{ $strings.LabelCurrently }} <a :title="$strings.LabelClickToUseCurrentValue" class="cursor-pointer hover:underline" @click.stop="setMatchFieldValue('releaseDate', mediaMetadata.releaseDate)">{{ mediaMetadata.releaseDate }}</a>
</p> </p>
</div> </div>
</div> </div>
@@ -623,7 +623,7 @@ export default {
this.clearSelectedMatch() this.clearSelectedMatch()
this.$emit('selectTab', 'details') this.$emit('selectTab', 'details')
} else { } else {
this.$toast.error(this.$strings.ToastItemDetailsUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
} }
} else { } else {
this.clearSelectedMatch() this.clearSelectedMatch()
@@ -2,28 +2,28 @@
<div class="w-full h-full relative"> <div class="w-full h-full relative">
<div id="scheduleWrapper" class="w-full overflow-y-auto px-2 py-4 md:px-6 md:py-6"> <div id="scheduleWrapper" class="w-full overflow-y-auto px-2 py-4 md:px-6 md:py-6">
<template v-if="!feedUrl"> <template v-if="!feedUrl">
<widgets-alert type="warning" class="text-base mb-4">No RSS feed URL is set for this podcast</widgets-alert> <widgets-alert type="warning" class="text-base mb-4">{{ $strings.ToastPodcastNoRssFeed }}</widgets-alert>
</template> </template>
<template v-if="feedUrl || autoDownloadEpisodes"> <template v-if="feedUrl || autoDownloadEpisodes">
<div class="flex items-center justify-between mb-4"> <div class="flex items-center justify-between mb-4">
<p class="text-base md:text-xl font-semibold">Schedule Automatic Episode Downloads</p> <p class="text-base md:text-xl font-semibold">{{ $strings.HeaderScheduleEpisodeDownloads }}</p>
<ui-checkbox v-model="enableAutoDownloadEpisodes" label="Enable" medium checkbox-bg="bg" label-class="pl-2 text-base md:text-lg" /> <ui-checkbox v-model="enableAutoDownloadEpisodes" :label="$strings.LabelEnable" medium checkbox-bg="bg" label-class="pl-2 text-base md:text-lg" />
</div> </div>
<div v-if="enableAutoDownloadEpisodes" class="flex items-center py-2"> <div v-if="enableAutoDownloadEpisodes" class="flex items-center py-2">
<ui-text-input ref="maxEpisodesInput" type="number" v-model="newMaxEpisodesToKeep" no-spinner :padding-x="1" text-center class="w-10 text-base" @change="updatedMaxEpisodesToKeep" /> <ui-text-input ref="maxEpisodesInput" type="number" v-model="newMaxEpisodesToKeep" no-spinner :padding-x="1" text-center class="w-10 text-base" @change="updatedMaxEpisodesToKeep" />
<ui-tooltip text="Value of 0 sets no max limit. After a new episode is auto-downloaded this will delete the oldest episode if you have more than X episodes. <br>This will only delete 1 episode per new download."> <ui-tooltip :text="$strings.LabelMaxEpisodesToKeepHelp">
<p class="pl-4 text-base"> <p class="pl-4 text-base">
Max episodes to keep {{ $strings.LabelMaxEpisodesToKeep }}
<span class="material-symbols icon-text">info</span> <span class="material-symbols icon-text">info</span>
</p> </p>
</ui-tooltip> </ui-tooltip>
</div> </div>
<div v-if="enableAutoDownloadEpisodes" class="flex items-center py-2"> <div v-if="enableAutoDownloadEpisodes" class="flex items-center py-2">
<ui-text-input ref="maxEpisodesToDownloadInput" type="number" v-model="newMaxNewEpisodesToDownload" no-spinner :padding-x="1" text-center class="w-10 text-base" @change="updateMaxNewEpisodesToDownload" /> <ui-text-input ref="maxEpisodesToDownloadInput" type="number" v-model="newMaxNewEpisodesToDownload" no-spinner :padding-x="1" text-center class="w-10 text-base" @change="updateMaxNewEpisodesToDownload" />
<ui-tooltip text="Value of 0 sets no max limit. When checking for new episodes this is the max number of episodes that will be downloaded."> <ui-tooltip :text="$strings.LabelUseZeroForUnlimited">
<p class="pl-4 text-base"> <p class="pl-4 text-base">
Max new episodes to download per check {{ $strings.LabelMaxEpisodesToDownloadPerCheck }}
<span class="material-symbols icon-text">info</span> <span class="material-symbols icon-text">info</span>
</p> </p>
</ui-tooltip> </ui-tooltip>
@@ -36,7 +36,7 @@
<div v-if="feedUrl || autoDownloadEpisodes" class="absolute bottom-0 left-0 w-full py-2 md:py-4 bg-bg border-t border-white border-opacity-5"> <div v-if="feedUrl || autoDownloadEpisodes" class="absolute bottom-0 left-0 w-full py-2 md:py-4 bg-bg border-t border-white border-opacity-5">
<div class="flex items-center px-2 md:px-4"> <div class="flex items-center px-2 md:px-4">
<div class="flex-grow" /> <div class="flex-grow" />
<ui-btn @click="save" :disabled="!isUpdated" :color="isUpdated ? 'success' : 'primary'" class="mx-2">{{ isUpdated ? 'Save' : 'No update necessary' }}</ui-btn> <ui-btn @click="save" :disabled="!isUpdated" :color="isUpdated ? 'success' : 'primary'" class="mx-2">{{ isUpdated ? $strings.ButtonSave : $strings.MessageNoUpdatesWereNecessary }}</ui-btn>
</div> </div>
</div> </div>
</div> </div>
+4 -4
View File
@@ -33,18 +33,18 @@
<span class="material-symbols text-lg ml-2">launch</span> <span class="material-symbols text-lg ml-2">launch</span>
</ui-btn> </ui-btn>
<ui-btn v-if="!isMetadataEmbedQueued && !isEmbedTaskRunning" class="w-full mt-4" small @click.stop="quickEmbed">Quick Embed</ui-btn> <ui-btn v-if="!isMetadataEmbedQueued && !isEmbedTaskRunning" class="w-full mt-4" small @click.stop="quickEmbed">{{ $strings.ButtonQuickEmbed }}</ui-btn>
</div> </div>
</div> </div>
<!-- queued alert --> <!-- queued alert -->
<widgets-alert v-if="isMetadataEmbedQueued" type="warning" class="mt-4"> <widgets-alert v-if="isMetadataEmbedQueued" type="warning" class="mt-4">
<p class="text-lg">Queued for metadata embed ({{ queuedEmbedLIds.length }} in queue)</p> <p class="text-lg">{{ $getString('MessageQuickEmbedQueue', [queuedEmbedLIds.length]) }}</p>
</widgets-alert> </widgets-alert>
<!-- processing alert --> <!-- processing alert -->
<widgets-alert v-if="isEmbedTaskRunning" type="warning" class="mt-4"> <widgets-alert v-if="isEmbedTaskRunning" type="warning" class="mt-4">
<p class="text-lg">Currently embedding metadata</p> <p class="text-lg">{{ $strings.MessageQuickEmbedInProgress }}</p>
</widgets-alert> </widgets-alert>
</div> </div>
@@ -113,7 +113,7 @@ export default {
methods: { methods: {
quickEmbed() { quickEmbed() {
const payload = { const payload = {
message: 'Warning! Quick embed will not backup your audio files. Make sure that you have a backup of your audio files. <br><br>Would you like to continue?', message: this.$strings.MessageConfirmQuickEmbed,
callback: (confirmed) => { callback: (confirmed) => {
if (confirmed) { if (confirmed) {
this.$axios this.$axios
@@ -160,7 +160,7 @@ export default {
return false return false
} }
if (!this.libraryCopy.folders.length) { if (!this.libraryCopy.folders.length) {
this.$toast.error('Library must have at least 1 path') this.$toast.error(this.$strings.ToastMustHaveAtLeastOnePath)
return false return false
} }
@@ -222,7 +222,7 @@ export default {
if (error.response && error.response.data) { if (error.response && error.response.data) {
this.$toast.error(error.response.data) this.$toast.error(error.response.data)
} else { } else {
this.$toast.error(this.$strings.ToastLibraryUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
} }
this.processing = false this.processing = false
}) })
@@ -3,13 +3,13 @@
<div class="w-full border border-black-200 p-4 my-8"> <div class="w-full border border-black-200 p-4 my-8">
<div class="flex flex-wrap items-center"> <div class="flex flex-wrap items-center">
<div> <div>
<p class="text-lg">Remove metadata files in library item folders</p> <p class="text-lg">{{ $strings.LabelRemoveMetadataFile }}</p>
<p class="max-w-sm text-sm pt-2 text-gray-300">Remove all metadata.json or metadata.abs files in your {{ mediaType }} folders</p> <p class="max-w-sm text-sm pt-2 text-gray-300">{{ $getString('LabelRemoveMetadataFileHelp', [mediaType]) }}</p>
</div> </div>
<div class="flex-grow" /> <div class="flex-grow" />
<div> <div>
<ui-btn class="mb-4 block" @click.stop="removeAllMetadataClick('json')">Remove all metadata.json</ui-btn> <ui-btn class="mb-4 block" @click.stop="removeAllMetadataClick('json')">{{ $strings.LabelRemoveAllMetadataJson }}</ui-btn>
<ui-btn @click.stop="removeAllMetadataClick('abs')">Remove all metadata.abs</ui-btn> <ui-btn @click.stop="removeAllMetadataClick('abs')">{{ $strings.LabelRemoveAllMetadataAbs }}</ui-btn>
</div> </div>
</div> </div>
</div> </div>
@@ -43,7 +43,7 @@ export default {
methods: { methods: {
removeAllMetadataClick(ext) { removeAllMetadataClick(ext) {
const payload = { const payload = {
message: `Are you sure you want to remove all metadata.${ext} files in your library item folders?`, message: this.$getString('MessageConfirmRemoveMetadataFiles', [ext]),
persistent: true, persistent: true,
callback: (confirmed) => { callback: (confirmed) => {
if (confirmed) { if (confirmed) {
@@ -60,16 +60,16 @@ export default {
.$post(`/api/libraries/${this.libraryId}/remove-metadata?ext=${ext}`) .$post(`/api/libraries/${this.libraryId}/remove-metadata?ext=${ext}`)
.then((data) => { .then((data) => {
if (!data.found) { if (!data.found) {
this.$toast.info(`No metadata.${ext} files were found in library`) this.$toast.info(this.$getString('ToastMetadataFilesRemovedNoneFound', [ext]))
} else if (!data.removed) { } else if (!data.removed) {
this.$toast.success(`No metadata.${ext} files removed`) this.$toast.success(this.$getString('ToastMetadataFilesRemovedNoneRemoved', [ext]))
} else { } else {
this.$toast.success(`Successfully removed ${data.removed} metadata.${ext} files`) this.$toast.success(this.$getString('ToastMetadataFilesRemovedSuccess', [data.removed, ext]))
} }
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to remove metadata files', error) console.error('Failed to remove metadata files', error)
this.$toast.error('Failed to remove metadata files') this.$toast.error(this.$getString('ToastMetadataFilesRemovedError', [ext]))
}) })
.finally(() => { .finally(() => {
this.$emit('update:processing', false) this.$emit('update:processing', false)
@@ -77,7 +77,13 @@ export default {
return this.notificationData.events || [] return this.notificationData.events || []
}, },
eventOptions() { eventOptions() {
return this.notificationEvents.map((e) => ({ value: e.name, text: e.name, subtext: e.description })) return this.notificationEvents.map((e) => {
return {
value: e.name,
text: e.name,
subtext: this.$strings[e.descriptionKey] || e.description
}
})
}, },
selectedEventData() { selectedEventData() {
return this.notificationEvents.find((e) => e.name === this.newNotification.eventName) return this.notificationEvents.find((e) => e.name === this.newNotification.eventName)
@@ -132,7 +138,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update notification', error) console.error('Failed to update notification', error)
this.$toast.error(this.$strings.ToastNotificationUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processing = false this.processing = false
@@ -135,7 +135,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to remove items from playlist', error) console.error('Failed to remove items from playlist', error)
this.$toast.error(this.$strings.ToastPlaylistUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
this.processing = false this.processing = false
}) })
}, },
@@ -153,7 +153,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to add items to playlist', error) console.error('Failed to add items to playlist', error)
this.$toast.error(this.$strings.ToastPlaylistUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
this.processing = false this.processing = false
}) })
}, },
@@ -115,7 +115,7 @@ export default {
.catch((error) => { .catch((error) => {
console.error('Failed to update playlist', error) console.error('Failed to update playlist', error)
this.processing = false this.processing = false
this.$toast.error(this.$strings.ToastPlaylistUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
} }
}, },
@@ -156,7 +156,12 @@ export default {
return this.selectedFolder.fullPath return this.selectedFolder.fullPath
}, },
podcastTypes() { podcastTypes() {
return this.$store.state.globals.podcastTypes || [] return this.$store.state.globals.podcastTypes.map((e) => {
return {
text: this.$strings[e.descriptionKey] || e.text,
value: e.value
}
})
} }
}, },
methods: { methods: {
@@ -33,11 +33,11 @@
</div> </div>
<div v-if="enclosureUrl" class="pb-4 pt-6"> <div v-if="enclosureUrl" class="pb-4 pt-6">
<ui-text-input-with-label :value="enclosureUrl" readonly class="text-xs"> <ui-text-input-with-label :value="enclosureUrl" readonly class="text-xs">
<label class="px-1 text-xs text-gray-200 font-semibold">Episode URL from RSS feed</label> <label class="px-1 text-xs text-gray-200 font-semibold">{{ $strings.LabelEpisodeUrlFromRssFeed }}</label>
</ui-text-input-with-label> </ui-text-input-with-label>
</div> </div>
<div v-else class="py-4"> <div v-else class="py-4">
<p class="text-xs text-gray-300 font-semibold">Episode not linked to RSS feed episode</p> <p class="text-xs text-gray-300 font-semibold">{{ $strings.LabelEpisodeNotLinkedToRssFeed }}</p>
</div> </div>
</div> </div>
</template> </template>
@@ -97,7 +97,12 @@ export default {
return this.enclosure.url return this.enclosure.url
}, },
episodeTypes() { episodeTypes() {
return this.$store.state.globals.episodeTypes || [] return this.$store.state.globals.episodeTypes.map((e) => {
return {
text: this.$strings[e.descriptionKey] || e.text,
value: e.value
}
})
} }
}, },
methods: { methods: {
@@ -152,14 +157,14 @@ export default {
const updateResult = await this.$axios.$patch(`/api/podcasts/${this.libraryItem.id}/episode/${this.episodeId}`, updatedDetails).catch((error) => { const updateResult = await this.$axios.$patch(`/api/podcasts/${this.libraryItem.id}/episode/${this.episodeId}`, updatedDetails).catch((error) => {
console.error('Failed update episode', error) console.error('Failed update episode', error)
this.isProcessing = false this.isProcessing = false
this.$toast.error(error?.response?.data || 'Failed to update episode') this.$toast.error(error?.response?.data || this.$strings.ToastFailedToUpdate)
return false return false
}) })
this.isProcessing = false this.isProcessing = false
if (updateResult) { if (updateResult) {
if (updateResult) { if (updateResult) {
this.$toast.success('Podcast episode updated') this.$toast.success(this.$strings.ToastItemUpdateSuccess)
return true return true
} else { } else {
this.$toast.info(this.$strings.MessageNoUpdatesWereNecessary) this.$toast.info(this.$strings.MessageNoUpdatesWereNecessary)
@@ -139,7 +139,7 @@ export default {
slug: this.newFeedSlug, slug: this.newFeedSlug,
metadataDetails: this.metadataDetails metadataDetails: this.metadataDetails
} }
if (this.$isDev) payload.serverAddress = `http://localhost:3333${this.$config.routerBasePath}` if (this.$isDev) payload.serverAddress = process.env.serverUrl
console.log('Payload', payload) console.log('Payload', payload)
this.$axios this.$axios
@@ -1,38 +1,37 @@
<template> <template>
<div class="flex items-center pt-4 pb-2 lg:pt-0 lg:pb-2"> <div class="flex justify-center pt-4 pb-2 lg:pt-0 lg:pb-2">
<div class="flex-grow" /> <div class="flex items-center justify-center flex-grow">
<template v-if="!loading"> <template v-if="!loading">
<ui-tooltip direction="top" :text="$strings.ButtonPreviousChapter" class="mr-4 lg:mr-8"> <ui-tooltip direction="top" :text="$strings.ButtonPreviousChapter" class="mr-4 lg:mr-8">
<button :aria-label="$strings.ButtonPreviousChapter" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="prevChapter"> <button :aria-label="$strings.ButtonPreviousChapter" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="prevChapter">
<span class="material-symbols text-2xl sm:text-3xl">first_page</span> <span class="material-symbols text-2xl sm:text-3xl">first_page</span>
</button>
</ui-tooltip>
<ui-tooltip direction="top" :text="jumpBackwardText">
<button :aria-label="jumpForwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpBackward">
<span class="material-symbols text-2xl sm:text-3xl">replay</span>
</button>
</ui-tooltip>
<button :aria-label="paused ? $strings.ButtonPlay : $strings.ButtonPause" class="p-2 shadow-sm bg-accent flex items-center justify-center rounded-full text-primary mx-4 lg:mx-8" :class="seekLoading ? 'animate-spin' : ''" @mousedown.prevent @mouseup.prevent @click.stop="playPause">
<span class="material-symbols fill text-2xl">{{ seekLoading ? 'autorenew' : paused ? 'play_arrow' : 'pause' }}</span>
</button> </button>
</ui-tooltip> <ui-tooltip direction="top" :text="jumpForwardText">
<ui-tooltip direction="top" :text="jumpBackwardText"> <button :aria-label="jumpForwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpForward">
<button :aria-label="jumpForwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpBackward"> <span class="material-symbols text-2xl sm:text-3xl">forward_media</span>
<span class="material-symbols text-2xl sm:text-3xl">replay</span> </button>
</button> </ui-tooltip>
</ui-tooltip> <ui-tooltip direction="top" :text="hasNextLabel" class="ml-4 lg:ml-8">
<button :aria-label="paused ? $strings.ButtonPlay : $strings.ButtonPause" class="p-2 shadow-sm bg-accent flex items-center justify-center rounded-full text-primary mx-4 lg:mx-8" :class="seekLoading ? 'animate-spin' : ''" @mousedown.prevent @mouseup.prevent @click.stop="playPause"> <button :aria-label="hasNextLabel" :disabled="!hasNext" class="text-gray-300 disabled:text-gray-500" @mousedown.prevent @mouseup.prevent @click.stop="next">
<span class="material-symbols fill text-2xl">{{ seekLoading ? 'autorenew' : paused ? 'play_arrow' : 'pause' }}</span> <span class="material-symbols text-2xl sm:text-3xl">last_page</span>
</button> </button>
<ui-tooltip direction="top" :text="jumpForwardText"> </ui-tooltip>
<button :aria-label="jumpForwardText" class="text-gray-300" @mousedown.prevent @mouseup.prevent @click.stop="jumpForward"> </template>
<span class="material-symbols text-2xl sm:text-3xl">forward_media</span> <template v-else>
</button> <div class="cursor-pointer p-2 shadow-sm bg-accent flex items-center justify-center rounded-full text-primary mx-8 animate-spin">
</ui-tooltip> <span class="material-symbols text-2xl">autorenew</span>
<ui-tooltip direction="top" :text="hasNextLabel" class="ml-4 lg:ml-8"> </div>
<button :aria-label="hasNextLabel" :disabled="!hasNext" class="text-gray-300 disabled:text-gray-500" @mousedown.prevent @mouseup.prevent @click.stop="next"> </template>
<span class="material-symbols text-2xl sm:text-3xl">last_page</span> </div>
</button>
</ui-tooltip>
<controls-playback-speed-control v-model="playbackRateInput" @input="playbackRateUpdated" @change="playbackRateChanged" />
</template>
<template v-else>
<div class="cursor-pointer p-2 shadow-sm bg-accent flex items-center justify-center rounded-full text-primary mx-8 animate-spin">
<span class="material-symbols text-2xl">autorenew</span>
</div>
</template>
<div class="flex-grow" />
</div> </div>
</template> </template>
@@ -41,7 +40,6 @@ export default {
props: { props: {
loading: Boolean, loading: Boolean,
seekLoading: Boolean, seekLoading: Boolean,
playbackRate: Number,
paused: Boolean, paused: Boolean,
hasNextChapter: Boolean, hasNextChapter: Boolean,
hasNextItemInQueue: Boolean hasNextItemInQueue: Boolean
@@ -50,14 +48,6 @@ export default {
return {} return {}
}, },
computed: { computed: {
playbackRateInput: {
get() {
return this.playbackRate
},
set(val) {
this.$emit('update:playbackRate', val)
}
},
jumpForwardText() { jumpForwardText() {
return this.getJumpText('jumpForwardAmount', this.$strings.ButtonJumpForward) return this.getJumpText('jumpForwardAmount', this.$strings.ButtonJumpForward)
}, },
@@ -89,15 +79,6 @@ export default {
jumpForward() { jumpForward() {
this.$emit('jumpForward') this.$emit('jumpForward')
}, },
playbackRateUpdated(playbackRate) {
this.$emit('setPlaybackRate', playbackRate)
},
playbackRateChanged(playbackRate) {
this.$emit('setPlaybackRate', playbackRate)
this.$store.dispatch('user/updateUserSettings', { playbackRate }).catch((err) => {
console.error('Failed to update settings', err)
})
},
getJumpText(setting, prefix) { getJumpText(setting, prefix) {
const amount = this.$store.getters['user/getUserSetting'](setting) const amount = this.$store.getters['user/getUserSetting'](setting)
if (!amount) return prefix if (!amount) return prefix
+22 -12
View File
@@ -2,9 +2,9 @@
<div class="w-full -mt-6"> <div class="w-full -mt-6">
<div class="w-full relative mb-1"> <div class="w-full relative mb-1">
<div class="absolute -top-10 lg:top-0 right-0 lg:right-2 flex items-center h-full"> <div class="absolute -top-10 lg:top-0 right-0 lg:right-2 flex items-center h-full">
<!-- <span class="material-symbols text-2xl cursor-pointer" @click="toggleFullscreen(true)">expand_less</span> --> <controls-playback-speed-control v-model="playbackRate" @input="setPlaybackRate" @change="playbackRateChanged" class="mx-2 block" />
<ui-tooltip direction="top" :text="$strings.LabelVolume"> <ui-tooltip direction="left" :text="$strings.LabelVolume">
<controls-volume-control ref="volumeControl" v-model="volume" @input="setVolume" class="mx-2 hidden sm:block" /> <controls-volume-control ref="volumeControl" v-model="volume" @input="setVolume" class="mx-2 hidden sm:block" />
</ui-tooltip> </ui-tooltip>
@@ -13,7 +13,7 @@
<span v-if="!sleepTimerSet" class="material-symbols text-2xl">snooze</span> <span v-if="!sleepTimerSet" class="material-symbols text-2xl">snooze</span>
<div v-else class="flex items-center"> <div v-else class="flex items-center">
<span class="material-symbols text-lg text-warning">snooze</span> <span class="material-symbols text-lg text-warning">snooze</span>
<p class="text-sm sm:text-lg text-warning font-mono font-semibold text-center px-0.5 sm:pb-0.5 sm:min-w-8">{{ sleepTimerRemainingString }}</p> <p class="text-sm sm:text-lg text-warning font-semibold text-center px-0.5 sm:pb-0.5 sm:min-w-8">{{ sleepTimerRemainingString }}</p>
</div> </div>
</button> </button>
</ui-tooltip> </ui-tooltip>
@@ -48,15 +48,19 @@
<player-track-bar ref="trackbar" :loading="loading" :chapters="chapters" :duration="duration" :current-chapter="currentChapter" :playback-rate="playbackRate" @seek="seek" /> <player-track-bar ref="trackbar" :loading="loading" :chapters="chapters" :duration="duration" :current-chapter="currentChapter" :playback-rate="playbackRate" @seek="seek" />
<div class="flex"> <div class="relative flex items-center justify-between">
<p ref="currentTimestamp" class="font-mono text-xxs sm:text-sm text-gray-100 pointer-events-auto">00:00:00</p> <div class="flex-grow flex items-center">
<p class="font-mono text-sm hidden sm:block text-gray-100 pointer-events-auto">&nbsp;/&nbsp;{{ progressPercent }}%</p> <p ref="currentTimestamp" class="font-mono text-xxs sm:text-sm text-gray-100 pointer-events-auto">00:00:00</p>
<div class="flex-grow" /> <p class="font-mono text-sm hidden sm:block text-gray-100 pointer-events-auto">&nbsp;/&nbsp;{{ progressPercent }}%</p>
<p class="text-xs sm:text-sm text-gray-300 pt-0.5 px-2 truncate"> </div>
{{ currentChapterName }} <span v-if="useChapterTrack" class="text-xs text-gray-400">&nbsp;({{ $getString('LabelPlayerChapterNumberMarker', [currentChapterIndex + 1, chapters.length]) }})</span> <div class="absolute left-1/2 transform -translate-x-1/2">
</p> <p class="text-xs sm:text-sm text-gray-300 pt-0.5 px-2 truncate">
<div class="flex-grow" /> {{ currentChapterName }} <span v-if="useChapterTrack" class="text-xs text-gray-400">&nbsp;({{ $getString('LabelPlayerChapterNumberMarker', [currentChapterIndex + 1, chapters.length]) }})</span>
<p class="font-mono text-xxs sm:text-sm text-gray-100 pointer-events-auto">{{ timeRemainingPretty }}</p> </p>
</div>
<div class="flex-grow flex items-center justify-end">
<p class="font-mono text-xxs sm:text-sm text-gray-100 pointer-events-auto">{{ timeRemainingPretty }}</p>
</div>
</div> </div>
<modals-chapters-modal v-model="showChaptersModal" :current-chapter="currentChapter" :playback-rate="playbackRate" :chapters="chapters" @select="selectChapter" /> <modals-chapters-modal v-model="showChaptersModal" :current-chapter="currentChapter" :playback-rate="playbackRate" :chapters="chapters" @select="selectChapter" />
@@ -224,6 +228,12 @@ export default {
this.playbackRate = Number((this.playbackRate - 0.1).toFixed(1)) this.playbackRate = Number((this.playbackRate - 0.1).toFixed(1))
this.setPlaybackRate(this.playbackRate) this.setPlaybackRate(this.playbackRate)
}, },
playbackRateChanged(playbackRate) {
this.setPlaybackRate(playbackRate)
this.$store.dispatch('user/updateUserSettings', { playbackRate }).catch((err) => {
console.error('Failed to update settings', err)
})
},
setPlaybackRate(playbackRate) { setPlaybackRate(playbackRate) {
this.$emit('setPlaybackRate', playbackRate) this.$emit('setPlaybackRate', playbackRate)
}, },
@@ -35,22 +35,22 @@
<div class="flex justify-between pt-12"> <div class="flex justify-between pt-12">
<div> <div>
<p class="text-sm text-center">{{ $strings.LabelStatsWeekListening }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsWeekListening }}</p>
<p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ totalMinutesListeningThisWeek }}</p> <p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ $formatNumber(totalMinutesListeningThisWeek) }}</p>
<p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p>
</div> </div>
<div> <div>
<p class="text-sm text-center">{{ $strings.LabelStatsDailyAverage }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsDailyAverage }}</p>
<p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ averageMinutesPerDay }}</p> <p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ $formatNumber(averageMinutesPerDay) }}</p>
<p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p>
</div> </div>
<div> <div>
<p class="text-sm text-center">{{ $strings.LabelStatsBestDay }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsBestDay }}</p>
<p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ mostListenedDay }}</p> <p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ $formatNumber(mostListenedDay) }}</p>
<p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsMinutes }}</p>
</div> </div>
<div> <div>
<p class="text-sm text-center">{{ $strings.LabelStatsDays }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsDays }}</p>
<p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ daysInARow }}</p> <p class="text-5xl font-semibold text-center" style="line-height: 0.85">{{ $formatNumber(daysInARow) }}</p>
<p class="text-sm text-center">{{ $strings.LabelStatsInARow }}</p> <p class="text-sm text-center">{{ $strings.LabelStatsInARow }}</p>
</div> </div>
</div> </div>
@@ -78,7 +78,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update collection', error) console.error('Failed to update collection', error)
this.$toast.error(this.$strings.ToastCollectionUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
}, },
editBook(book) { editBook(book) {
@@ -92,7 +92,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update playlist', error) console.error('Failed to update playlist', error)
this.$toast.error(this.$strings.ToastPlaylistUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
}, },
init() { init() {
@@ -223,7 +223,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to remove item from playlist', error) console.error('Failed to remove item from playlist', error)
this.$toast.error(this.$strings.ToastPlaylistUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.processingRemove = false this.processingRemove = false
@@ -12,10 +12,10 @@
</div> </div>
<div class="h-8 flex items-center"> <div class="h-8 flex items-center">
<div class="w-full inline-flex justify-between max-w-xl"> <div class="w-full inline-flex justify-between max-w-xl">
<p v-if="episode?.season" class="text-sm text-gray-300">Season #{{ episode.season }}</p> <p v-if="episode?.season" class="text-sm text-gray-300">{{ $getString('LabelSeasonNumber', [episode.season]) }}</p>
<p v-if="episode?.episode" class="text-sm text-gray-300">Episode #{{ episode.episode }}</p> <p v-if="episode?.episode" class="text-sm text-gray-300">{{ $getString('LabelEpisodeNumber', [episode.episode]) }}</p>
<p v-if="episode?.chapters?.length" class="text-sm text-gray-300">{{ episode.chapters.length }} Chapters</p> <p v-if="episode?.chapters?.length" class="text-sm text-gray-300">{{ $getString('LabelChapterCount', [episode.chapters.length]) }}</p>
<p v-if="publishedAt" class="text-sm text-gray-300">Published {{ $formatDate(publishedAt, dateFormat) }}</p> <p v-if="publishedAt" class="text-sm text-gray-300">{{ $getString('LabelPublishedDate', [$formatDate(publishedAt, dateFormat)]) }}</p>
</div> </div>
</div> </div>
@@ -132,13 +132,13 @@ export default {
return this.store.state.streamIsPlaying && this.isStreaming return this.store.state.streamIsPlaying && this.isStreaming
}, },
timeRemaining() { timeRemaining() {
if (this.streamIsPlaying) return 'Playing' if (this.streamIsPlaying) return this.$strings.ButtonPlaying
if (!this.itemProgress) return this.$elapsedPretty(this.episode?.duration || 0) if (!this.itemProgress) return this.$elapsedPretty(this.episode?.duration || 0)
if (this.userIsFinished) return 'Finished' if (this.userIsFinished) return this.$strings.LabelFinished
const duration = this.itemProgress.duration || this.episode?.duration || 0 const duration = this.itemProgress.duration || this.episode?.duration || 0
const remaining = Math.floor(duration - this.itemProgress.currentTime) const remaining = Math.floor(duration - this.itemProgress.currentTime)
return `${this.$elapsedPretty(remaining)} left` return this.$getString('LabelTimeLeft', [this.$elapsedPretty(remaining)])
} }
}, },
methods: { methods: {
@@ -182,7 +182,7 @@ export default {
toggleFinished(confirmed = false) { toggleFinished(confirmed = false) {
if (!this.userIsFinished && this.itemProgressPercent > 0 && !confirmed) { if (!this.userIsFinished && this.itemProgressPercent > 0 && !confirmed) {
const payload = { const payload = {
message: `Are you sure you want to mark "${this.episodeTitle}" as finished?`, message: this.$getString('MessageConfirmMarkItemFinished', [this.episodeTitle]),
callback: (confirmed) => { callback: (confirmed) => {
if (confirmed) { if (confirmed) {
this.toggleFinished(true) this.toggleFinished(true)
@@ -93,17 +93,18 @@ export default {
}, },
computed: { computed: {
contextMenuItems() { contextMenuItems() {
if (!this.userIsAdminOrUp) return [] const menuItems = []
return [ if (this.userIsAdminOrUp) {
{ menuItems.push({
text: 'Quick match all episodes', text: this.$strings.MessageQuickMatchAllEpisodes,
action: 'quick-match-episodes' action: 'quick-match-episodes'
}, })
{ }
text: this.allEpisodesFinished ? this.$strings.MessageMarkAllEpisodesNotFinished : this.$strings.MessageMarkAllEpisodesFinished, menuItems.push({
action: 'batch-mark-as-finished' text: this.allEpisodesFinished ? this.$strings.MessageMarkAllEpisodesNotFinished : this.$strings.MessageMarkAllEpisodesFinished,
} action: 'batch-mark-as-finished'
] })
return menuItems
}, },
sortItems() { sortItems() {
return [ return [
@@ -261,21 +262,21 @@ export default {
this.processing = true this.processing = true
const payload = { const payload = {
message: 'Quick matching episodes will overwrite details if a match is found. Only unmatched episodes will be updated. Are you sure?', message: this.$strings.MessageConfirmQuickMatchEpisodes,
callback: (confirmed) => { callback: (confirmed) => {
if (confirmed) { if (confirmed) {
this.$axios this.$axios
.$post(`/api/podcasts/${this.libraryItem.id}/match-episodes?override=1`) .$post(`/api/podcasts/${this.libraryItem.id}/match-episodes?override=1`)
.then((data) => { .then((data) => {
if (data.numEpisodesUpdated) { if (data.numEpisodesUpdated) {
this.$toast.success(`${data.numEpisodesUpdated} episodes updated`) this.$toast.success(this.$getString('ToastEpisodeUpdateSuccess', [data.numEpisodesUpdated]))
} else { } else {
this.$toast.info(this.$strings.ToastNoUpdatesNecessary) this.$toast.info(this.$strings.ToastNoUpdatesNecessary)
} }
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to request match episodes', error) console.error('Failed to request match episodes', error)
this.$toast.error('Failed to match episodes') this.$toast.error(this.$strings.ToastFailedToMatch)
}) })
} }
this.processing = false this.processing = false
@@ -1,14 +1,11 @@
<template> <template>
<ui-tooltip v-if="alreadyInLibrary" :text="$strings.LabelAlreadyInYourLibrary" direction="top"> <ui-tooltip :text="$strings.LabelAlreadyInYourLibrary" direction="top" class="inline-flex">
<span class="material-symbols ml-1 text-success" style="font-size: 0.8rem">check_circle</span> <span class="material-symbols ml-1 text-sm text-success">check_circle</span>
</ui-tooltip> </ui-tooltip>
</template> </template>
<script> <script>
export default { export default {
props: {
alreadyInLibrary: Boolean
},
data() { data() {
return {} return {}
}, },
+1 -1
View File
@@ -65,7 +65,7 @@ export default {
}, },
authors: { authors: {
component: 'cards-author-card', component: 'cards-author-card',
itemPropName: 'author', itemPropName: 'author-mount',
itemIdFunc: (item) => item.id itemIdFunc: (item) => item.id
}, },
narrators: { narrators: {
@@ -101,7 +101,12 @@ export default {
return this.$store.state.libraries.filterData || {} return this.$store.state.libraries.filterData || {}
}, },
podcastTypes() { podcastTypes() {
return this.$store.state.globals.podcastTypes || [] return this.$store.state.globals.podcastTypes.map((e) => {
return {
text: this.$strings[e.descriptionKey] || e.text,
value: e.value
}
})
} }
}, },
methods: { methods: {
@@ -5,14 +5,14 @@ import Tooltip from '@/components/ui/Tooltip.vue'
import LoadingSpinner from '@/components/widgets/LoadingSpinner.vue' import LoadingSpinner from '@/components/widgets/LoadingSpinner.vue'
describe('AuthorCard', () => { describe('AuthorCard', () => {
const author = { const authorMount = {
id: 1, id: 1,
name: 'John Doe', name: 'John Doe',
numBooks: 5 numBooks: 5
} }
const propsData = { const propsData = {
author, authorMount,
nameBelow: false nameBelow: false
} }
+2 -1
View File
@@ -357,7 +357,8 @@ export default {
teardown: false, teardown: false,
transports: ['websocket'], transports: ['websocket'],
upgrade: false, upgrade: false,
reconnection: true reconnection: true,
path: `${this.$config.routerBasePath}/socket.io`
}) })
this.$root.socket = this.socket this.$root.socket = this.socket
console.log('Socket initialized') console.log('Socket initialized')
+9 -4
View File
@@ -4,6 +4,7 @@ import LazySeriesCard from '@/components/cards/LazySeriesCard'
import LazyCollectionCard from '@/components/cards/LazyCollectionCard' import LazyCollectionCard from '@/components/cards/LazyCollectionCard'
import LazyPlaylistCard from '@/components/cards/LazyPlaylistCard' import LazyPlaylistCard from '@/components/cards/LazyPlaylistCard'
import LazyAlbumCard from '@/components/cards/LazyAlbumCard' import LazyAlbumCard from '@/components/cards/LazyAlbumCard'
import AuthorCard from '@/components/cards/AuthorCard'
export default { export default {
data() { data() {
@@ -20,6 +21,7 @@ export default {
if (this.entityName === 'collections') return Vue.extend(LazyCollectionCard) if (this.entityName === 'collections') return Vue.extend(LazyCollectionCard)
if (this.entityName === 'playlists') return Vue.extend(LazyPlaylistCard) if (this.entityName === 'playlists') return Vue.extend(LazyPlaylistCard)
if (this.entityName === 'albums') return Vue.extend(LazyAlbumCard) if (this.entityName === 'albums') return Vue.extend(LazyAlbumCard)
if (this.entityName === 'authors') return Vue.extend(AuthorCard)
return Vue.extend(LazyBookCard) return Vue.extend(LazyBookCard)
}, },
getComponentName() { getComponentName() {
@@ -27,6 +29,7 @@ export default {
if (this.entityName === 'collections') return 'cards-lazy-collection-card' if (this.entityName === 'collections') return 'cards-lazy-collection-card'
if (this.entityName === 'playlists') return 'cards-lazy-playlist-card' if (this.entityName === 'playlists') return 'cards-lazy-playlist-card'
if (this.entityName === 'albums') return 'cards-lazy-album-card' if (this.entityName === 'albums') return 'cards-lazy-album-card'
if (this.entityName === 'authors') return 'cards-author-card'
return 'cards-lazy-book-card' return 'cards-lazy-book-card'
}, },
async setCardSize() { async setCardSize() {
@@ -46,13 +49,14 @@ export default {
props.orderBy = this.seriesSortBy props.orderBy = this.seriesSortBy
} }
const instance = new ComponentClass({ const instance = new ComponentClass({
propsData: props propsData: props,
parent: this
}) })
instance.$mount() instance.$mount()
this.resizeObserver = new ResizeObserver((entries) => { this.resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) { for (let entry of entries) {
this.cardWidth = entry.contentRect.width this.cardWidth = entry.borderBoxSize[0].inlineSize
this.cardHeight = entry.contentRect.height this.cardHeight = entry.borderBoxSize[0].blockSize
this.resizeObserver.disconnect() this.resizeObserver.disconnect()
this.$refs.bookshelf.removeChild(instance.$el) this.$refs.bookshelf.removeChild(instance.$el)
} }
@@ -72,7 +76,7 @@ export default {
}) })
const timeAfter = performance.now() const timeAfter = performance.now()
}, },
async mountEntityCard(index) { mountEntityCard(index) {
var shelf = Math.floor(index / this.entitiesPerShelf) var shelf = Math.floor(index / this.entitiesPerShelf)
var shelfEl = document.getElementById(`shelf-${shelf}`) var shelfEl = document.getElementById(`shelf-${shelf}`)
if (!shelfEl) { if (!shelfEl) {
@@ -114,6 +118,7 @@ export default {
const _this = this const _this = this
const instance = new ComponentClass({ const instance = new ComponentClass({
propsData: props, propsData: props,
parent: this,
created() { created() {
this.$on('edit', (entity) => { this.$on('edit', (entity) => {
if (_this.editEntity) _this.editEntity(entity) if (_this.editEntity) _this.editEntity(entity)
+39 -52
View File
@@ -1,19 +1,24 @@
const pkg = require('./package.json') const pkg = require('./package.json')
const routerBasePath = process.env.ROUTER_BASE_PATH || ''
const serverHostUrl = process.env.NODE_ENV === 'production' ? '' : 'http://localhost:3333'
const serverPaths = ['api/', 'public/', 'hls/', 'auth/', 'feed/', 'status', 'login', 'logout', 'init']
const proxy = Object.fromEntries(serverPaths.map((path) => [`${routerBasePath}/${path}`, { target: process.env.NODE_ENV !== 'production' ? serverHostUrl : '/' }]))
module.exports = { module.exports = {
// Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode
ssr: false, ssr: false,
target: 'static', target: 'static',
dev: process.env.NODE_ENV !== 'production', dev: process.env.NODE_ENV !== 'production',
env: { env: {
serverUrl: process.env.NODE_ENV === 'production' ? process.env.ROUTER_BASE_PATH || '' : 'http://localhost:3333', serverUrl: serverHostUrl + routerBasePath,
chromecastReceiver: 'FD1F76C5' chromecastReceiver: 'FD1F76C5'
}, },
telemetry: false, telemetry: false,
publicRuntimeConfig: { publicRuntimeConfig: {
version: pkg.version, version: pkg.version,
routerBasePath: process.env.ROUTER_BASE_PATH || '' routerBasePath
}, },
// Global page headers: https://go.nuxtjs.dev/config-head // Global page headers: https://go.nuxtjs.dev/config-head
@@ -22,38 +27,23 @@ module.exports = {
htmlAttrs: { htmlAttrs: {
lang: 'en' lang: 'en'
}, },
meta: [ meta: [{ charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: '' }, { hid: 'robots', name: 'robots', content: 'noindex' }],
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' },
{ hid: 'robots', name: 'robots', content: 'noindex' }
],
script: [], script: [],
link: [ link: [
{ rel: 'icon', type: 'image/x-icon', href: (process.env.ROUTER_BASE_PATH || '') + '/favicon.ico' }, { rel: 'icon', type: 'image/x-icon', href: routerBasePath + '/favicon.ico' },
{ rel: 'apple-touch-icon', href: (process.env.ROUTER_BASE_PATH || '') + '/ios_icon.png' } { rel: 'apple-touch-icon', href: routerBasePath + '/ios_icon.png' }
] ]
}, },
router: { router: {
base: process.env.ROUTER_BASE_PATH || '' base: routerBasePath
}, },
// Global CSS: https://go.nuxtjs.dev/config-css // Global CSS: https://go.nuxtjs.dev/config-css
css: [ css: ['@/assets/tailwind.css', '@/assets/app.css'],
'@/assets/tailwind.css',
'@/assets/app.css'
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [ plugins: ['@/plugins/constants.js', '@/plugins/init.client.js', '@/plugins/axios.js', '@/plugins/toast.js', '@/plugins/utils.js', '@/plugins/i18n.js'],
'@/plugins/constants.js',
'@/plugins/init.client.js',
'@/plugins/axios.js',
'@/plugins/toast.js',
'@/plugins/utils.js',
'@/plugins/i18n.js'
],
// Auto import components: https://go.nuxtjs.dev/config-components // Auto import components: https://go.nuxtjs.dev/config-components
components: true, components: true,
@@ -65,30 +55,25 @@ module.exports = {
], ],
// Modules: https://go.nuxtjs.dev/config-modules // Modules: https://go.nuxtjs.dev/config-modules
modules: [ modules: ['nuxt-socket-io', '@nuxtjs/axios', '@nuxtjs/proxy'],
'nuxt-socket-io',
'@nuxtjs/axios',
'@nuxtjs/proxy'
],
proxy: { proxy,
'/api/': { target: process.env.NODE_ENV !== 'production' ? 'http://localhost:3333' : '/' },
'/dev/': { target: 'http://localhost:3333', pathRewrite: { '^/dev/': '' } }
},
io: { io: {
sockets: [{ sockets: [
name: 'dev', {
url: 'http://localhost:3333' name: 'dev',
}, url: serverHostUrl
{ },
name: 'prod' {
}] name: 'prod'
}
]
}, },
// Axios module configuration: https://go.nuxtjs.dev/config-axios // Axios module configuration: https://go.nuxtjs.dev/config-axios
axios: { axios: {
baseURL: process.env.ROUTER_BASE_PATH || '' baseURL: routerBasePath
}, },
// nuxt/pwa https://pwa.nuxtjs.org // nuxt/pwa https://pwa.nuxtjs.org
@@ -108,11 +93,11 @@ module.exports = {
background_color: '#232323', background_color: '#232323',
icons: [ icons: [
{ {
src: (process.env.ROUTER_BASE_PATH || '') + '/icon.svg', src: routerBasePath + '/icon.svg',
sizes: 'any' sizes: 'any'
}, },
{ {
src: (process.env.ROUTER_BASE_PATH || '') + '/icon192.png', src: routerBasePath + '/icon192.png',
type: 'image/png', type: 'image/png',
sizes: 'any' sizes: 'any'
} }
@@ -129,10 +114,12 @@ module.exports = {
// Build Configuration: https://go.nuxtjs.dev/config-build // Build Configuration: https://go.nuxtjs.dev/config-build
build: { build: {
postcss: { postcss: {
plugins: { postcssOptions: {
tailwindcss: {}, plugins: {
autoprefixer: {}, tailwindcss: {},
}, autoprefixer: {}
}
}
} }
}, },
watchers: { watchers: {
@@ -147,12 +134,12 @@ module.exports = {
}, },
/** /**
* Temporary workaround for @nuxt-community/tailwindcss-module. * Temporary workaround for @nuxt-community/tailwindcss-module.
* *
* Reported: 2022-05-23 * Reported: 2022-05-23
* See: [Issue tracker](https://github.com/nuxt-community/tailwindcss-module/issues/480) * See: [Issue tracker](https://github.com/nuxt-community/tailwindcss-module/issues/480)
*/ */
devServerHandlers: [], devServerHandlers: [],
ignore: ["**/*.test.*", "**/*.cy.*"] ignore: ['**/*.test.*', '**/*.cy.*']
} }
+3106 -2020
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "audiobookshelf-client", "name": "audiobookshelf-client",
"version": "2.13.4", "version": "2.15.1",
"buildNumber": 1, "buildNumber": 1,
"description": "Self-hosted audiobook and podcast client", "description": "Self-hosted audiobook and podcast client",
"main": "index.js", "main": "index.js",
@@ -27,7 +27,7 @@
"fast-average-color": "^9.4.0", "fast-average-color": "^9.4.0",
"hls.js": "^1.5.7", "hls.js": "^1.5.7",
"libarchive.js": "^1.3.0", "libarchive.js": "^1.3.0",
"nuxt": "^2.17.3", "nuxt": "^2.18.1",
"nuxt-socket-io": "^1.1.18", "nuxt-socket-io": "^1.1.18",
"trix": "^1.3.1", "trix": "^1.3.1",
"v-click-outside": "^3.1.2", "v-click-outside": "^3.1.2",
+16 -4
View File
@@ -415,7 +415,7 @@ export default {
const audioEl = this.audioEl || document.createElement('audio') const audioEl = this.audioEl || document.createElement('audio')
var src = audioTrack.contentUrl + `?token=${this.userToken}` var src = audioTrack.contentUrl + `?token=${this.userToken}`
if (this.$isDev) { if (this.$isDev) {
src = `http://localhost:3333${this.$config.routerBasePath}${src}` src = `${process.env.serverUrl}${src}`
} }
audioEl.src = src audioEl.src = src
@@ -486,7 +486,7 @@ export default {
.then((data) => { .then((data) => {
this.saving = false this.saving = false
if (data.updated) { if (data.updated) {
this.$toast.success('Chapters updated') this.$toast.success(this.$strings.ToastChaptersUpdated)
if (this.previousRoute) { if (this.previousRoute) {
this.$router.push(this.previousRoute) this.$router.push(this.previousRoute)
} else { } else {
@@ -499,7 +499,7 @@ export default {
.catch((error) => { .catch((error) => {
this.saving = false this.saving = false
console.error('Failed to update chapters', error) console.error('Failed to update chapters', error)
this.$toast.error('Failed to update chapters') this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
}, },
applyChapterNamesOnly() { applyChapterNamesOnly() {
@@ -533,7 +533,7 @@ export default {
}, },
findChapters() { findChapters() {
if (!this.asinInput) { if (!this.asinInput) {
this.$toast.error('Must input an ASIN') this.$toast.error(this.$strings.ToastAsinRequired)
return return
} }
@@ -628,15 +628,27 @@ export default {
.finally(() => { .finally(() => {
this.saving = false this.saving = false
}) })
},
libraryItemUpdated(libraryItem) {
if (libraryItem.id === this.libraryItem.id) {
if (!!libraryItem.media.metadata.asin && this.mediaMetadata.asin !== libraryItem.media.metadata.asin) {
this.asinInput = libraryItem.media.metadata.asin
}
this.libraryItem = libraryItem
}
} }
}, },
mounted() { mounted() {
this.regionInput = localStorage.getItem('audibleRegion') || 'US' this.regionInput = localStorage.getItem('audibleRegion') || 'US'
this.asinInput = this.mediaMetadata.asin || null this.asinInput = this.mediaMetadata.asin || null
this.initChapters() this.initChapters()
this.$eventBus.$on(`${this.libraryItem.id}_updated`, this.libraryItemUpdated)
}, },
beforeDestroy() { beforeDestroy() {
this.destroyAudioEl() this.destroyAudioEl()
this.$eventBus.$off(`${this.libraryItem.id}_updated`, this.libraryItemUpdated)
} }
} }
</script> </script>
+18 -18
View File
@@ -63,11 +63,11 @@
<div class="w-full max-w-4xl mx-auto"> <div class="w-full max-w-4xl mx-auto">
<!-- queued alert --> <!-- queued alert -->
<widgets-alert v-if="isMetadataEmbedQueued" type="warning" class="mb-4"> <widgets-alert v-if="isMetadataEmbedQueued" type="warning" class="mb-4">
<p class="text-lg">Audiobook is queued for metadata embed ({{ queuedEmbedLIds.length }} in queue)</p> <p class="text-lg">{{ $getString('MessageEmbedQueue', [queuedEmbedLIds.length]) }}</p>
</widgets-alert> </widgets-alert>
<!-- metadata embed action buttons --> <!-- metadata embed action buttons -->
<div v-else-if="isEmbedTool" class="w-full flex justify-end items-center mb-4"> <div v-else-if="isEmbedTool" class="w-full flex justify-end items-center mb-4">
<ui-checkbox v-if="!isTaskFinished" v-model="shouldBackupAudioFiles" :disabled="processing" label="Backup audio files" medium checkbox-bg="bg" label-class="pl-2 text-base md:text-lg" @input="toggleBackupAudioFiles" /> <ui-checkbox v-if="!isTaskFinished" v-model="shouldBackupAudioFiles" :disabled="processing" :label="$strings.LabelBackupAudioFiles" medium checkbox-bg="bg" label-class="pl-2 text-base md:text-lg" @input="toggleBackupAudioFiles" />
<div class="flex-grow" /> <div class="flex-grow" />
@@ -78,7 +78,7 @@
<!-- m4b embed action buttons --> <!-- m4b embed action buttons -->
<div v-else class="w-full flex items-center mb-4"> <div v-else class="w-full flex items-center mb-4">
<button :disabled="processing" class="text-sm uppercase text-gray-200 flex items-center pt-px pl-1 pr-2 hover:bg-white/5 rounded-md" @click="showEncodeOptions = !showEncodeOptions"> <button :disabled="processing" class="text-sm uppercase text-gray-200 flex items-center pt-px pl-1 pr-2 hover:bg-white/5 rounded-md" @click="showEncodeOptions = !showEncodeOptions">
<span class="material-symbols text-xl">{{ showEncodeOptions || usingCustomEncodeOptions ? 'check_box' : 'check_box_outline_blank' }}</span> <span class="pl-1">Use Advanced Options</span> <span class="material-symbols text-xl">{{ showEncodeOptions || usingCustomEncodeOptions ? 'check_box' : 'check_box_outline_blank' }}</span> <span class="pl-1">{{ $strings.LabelUseAdvancedOptions }}</span>
</button> </button>
<div class="flex-grow" /> <div class="flex-grow" />
@@ -94,11 +94,11 @@
<transition name="slide"> <transition name="slide">
<div v-if="showEncodeOptions || usingCustomEncodeOptions" class="mb-4 pb-4 border-b border-white/10"> <div v-if="showEncodeOptions || usingCustomEncodeOptions" class="mb-4 pb-4 border-b border-white/10">
<div class="flex flex-wrap -mx-2"> <div class="flex flex-wrap -mx-2">
<ui-text-input-with-label ref="bitrateInput" v-model="encodingOptions.bitrate" :disabled="processing || isTaskFinished" :label="'Audio Bitrate (e.g. 128k)'" class="m-2 max-w-40" @input="bitrateChanged" /> <ui-text-input-with-label ref="bitrateInput" v-model="encodingOptions.bitrate" :disabled="processing || isTaskFinished" :label="$strings.LabelAudioBitrate" class="m-2 max-w-40" @input="bitrateChanged" />
<ui-text-input-with-label ref="channelsInput" v-model="encodingOptions.channels" :disabled="processing || isTaskFinished" :label="'Audio Channels (1 or 2)'" class="m-2 max-w-40" @input="channelsChanged" /> <ui-text-input-with-label ref="channelsInput" v-model="encodingOptions.channels" :disabled="processing || isTaskFinished" :label="$strings.LabelAudioChannels" class="m-2 max-w-40" @input="channelsChanged" />
<ui-text-input-with-label ref="codecInput" v-model="encodingOptions.codec" :disabled="processing || isTaskFinished" :label="'Audio Codec'" class="m-2 max-w-40" @input="codecChanged" /> <ui-text-input-with-label ref="codecInput" v-model="encodingOptions.codec" :disabled="processing || isTaskFinished" :label="$strings.LabelAudioCodec" class="m-2 max-w-40" @input="codecChanged" />
</div> </div>
<p class="text-sm text-warning">Warning: Do not update these settings unless you are familiar with ffmpeg encoding options.</p> <p class="text-sm text-warning">{{ $strings.LabelEncodingWarningAdvancedSettings }}</p>
</div> </div>
</transition> </transition>
</div> </div>
@@ -106,36 +106,36 @@
<div class="mb-4"> <div class="mb-4">
<div v-if="isEmbedTool" class="flex items-start mb-2"> <div v-if="isEmbedTool" class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2">Metadata will be embedded in the audio tracks inside your audiobook folder.</p> <p class="text-gray-200 ml-2">{{ $strings.LabelEncodingInfoEmbedded }}</p>
</div> </div>
<div v-else class="flex items-start mb-2"> <div v-else class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2"> <p class="text-gray-200 ml-2">
Finished M4B will be put into your audiobook folder at <span class="rounded-md bg-neutral-600 text-sm text-white py-0.5 px-1 font-mono">.../{{ libraryItemRelPath }}/</span>. {{ $strings.LabelEncodingFinishedM4B }} <span class="rounded-md bg-neutral-600 text-sm text-white py-0.5 px-1 font-mono">.../{{ libraryItemRelPath }}/</span>.
</p> </p>
</div> </div>
<div v-if="shouldBackupAudioFiles || isM4BTool" class="flex items-start mb-2"> <div v-if="shouldBackupAudioFiles || isM4BTool" class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2"> <p class="text-gray-200 ml-2">
A backup of your original audio files will be stored in <span class="rounded-md bg-neutral-600 text-sm text-white py-0.5 px-1 font-mono">/metadata/cache/items/{{ libraryItemId }}/</span>. Make sure to periodically purge items cache. {{ $strings.LabelEncodingBackupLocation }} <span class="rounded-md bg-neutral-600 text-sm text-white py-0.5 px-1 font-mono">/metadata/cache/items/{{ libraryItemId }}/</span>. {{ $strings.LabelEncodingClearItemCache }}
</p> </p>
</div> </div>
<div v-if="isEmbedTool && audioFiles.length > 1" class="flex items-start mb-2"> <div v-if="isEmbedTool && audioFiles.length > 1" class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2">Chapters are not embedded in multi-track audiobooks.</p> <p class="text-gray-200 ml-2">{{ $strings.LabelEncodingChaptersNotEmbedded }}</p>
</div> </div>
<div v-if="isM4BTool" class="flex items-start mb-2"> <div v-if="isM4BTool" class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2">Encoding can take up to 30 minutes.</p> <p class="text-gray-200 ml-2">{{ $strings.LabelEncodingTimeWarning }}</p>
</div> </div>
<div v-if="isM4BTool" class="flex items-start mb-2"> <div v-if="isM4BTool" class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2">If you have the watcher disabled you will need to re-scan this audiobook afterwards.</p> <p class="text-gray-200 ml-2">{{ $strings.LabelEncodingWatcherDisabled }}</p>
</div> </div>
<div class="flex items-start mb-2"> <div class="flex items-start mb-2">
<span class="material-symbols text-base text-warning pt-1">star</span> <span class="material-symbols text-base text-warning pt-1">star</span>
<p class="text-gray-200 ml-2">Once the task is started you can navigate away from this page.</p> <p class="text-gray-200 ml-2">{{ $strings.LabelEncodingStartedNavigation }}</p>
</div> </div>
</div> </div>
</div> </div>
@@ -269,11 +269,11 @@ export default {
}, },
availableTools() { availableTools() {
if (this.isSingleM4b) { if (this.isSingleM4b) {
return [{ value: 'embed', text: 'Embed Metadata' }] return [{ value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }]
} else { } else {
return [ return [
{ value: 'embed', text: 'Embed Metadata' }, { value: 'embed', text: this.$strings.LabelToolsEmbedMetadata },
{ value: 'm4b', text: 'M4B Encoder' } { value: 'm4b', text: this.$strings.LabelToolsM4bEncoder }
] ]
} }
}, },
@@ -370,7 +370,7 @@ export default {
}, },
embedClick() { embedClick() {
const payload = { const payload = {
message: `Are you sure you want to embed metadata in ${this.audioFiles.length} audio files?`, message: this.$getString('MessageConfirmEmbedMetadataInAudioFiles', [this.audioFiles.length]),
callback: (confirmed) => { callback: (confirmed) => {
if (confirmed) { if (confirmed) {
this.updateAudioFileMetadata() this.updateAudioFileMetadata()
+2 -2
View File
@@ -53,7 +53,7 @@ export default {
}) })
if (!author) { if (!author) {
return redirect(`/library/${store.state.libraries.currentLibraryId}/authors`) return redirect(`/library/${store.state.libraries.currentLibraryId}/bookshelf/authors`)
} }
if (store.state.libraries.currentLibraryId !== author.libraryId || !store.state.libraries.filterData) { if (store.state.libraries.currentLibraryId !== author.libraryId || !store.state.libraries.filterData) {
@@ -109,7 +109,7 @@ export default {
authorRemoved(author) { authorRemoved(author) {
if (author.id === this.author.id) { if (author.id === this.author.id) {
console.warn('Author was removed') console.warn('Author was removed')
this.$router.replace(`/library/${this.currentLibraryId}/authors`) this.$router.replace(`/library/${this.currentLibraryId}/bookshelf/authors`)
} }
} }
}, },
+1 -1
View File
@@ -16,7 +16,7 @@
<ui-btn v-if="showPlayButton" :disabled="streaming" color="success" :padding-x="4" small class="flex items-center h-9 mr-2" @click="clickPlay"> <ui-btn v-if="showPlayButton" :disabled="streaming" color="success" :padding-x="4" small class="flex items-center h-9 mr-2" @click="clickPlay">
<span v-show="!streaming" class="material-symbols fill text-2xl -ml-2 pr-1 text-white">play_arrow</span> <span v-show="!streaming" class="material-symbols fill text-2xl -ml-2 pr-1 text-white">play_arrow</span>
{{ streaming ? $strings.ButtonPlaying : $strings.ButtonPlay }} {{ streaming ? $strings.ButtonPlaying : $strings.ButtonPlayAll }}
</ui-btn> </ui-btn>
<!-- RSS feed --> <!-- RSS feed -->
+1 -1
View File
@@ -317,7 +317,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update server settings', error) console.error('Failed to update server settings', error)
this.$toast.error(this.$strings.ToastServerSettingsUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.savingSettings = false this.savingSettings = false
+1 -1
View File
@@ -162,7 +162,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to save backup path', error) console.error('Failed to save backup path', error)
const errorMsg = error.response?.data || this.$strings.ToastBackupPathUpdateFailed const errorMsg = error.response?.data || this.$strings.ToastFailedToUpdate
this.$toast.error(errorMsg) this.$toast.error(errorMsg)
}) })
.finally(() => { .finally(() => {
+1 -1
View File
@@ -292,7 +292,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update email settings', error) console.error('Failed to update email settings', error)
this.$toast.error(this.$strings.ToastEmailSettingsUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.savingSettings = false this.savingSettings = false
+2 -3
View File
@@ -290,7 +290,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update prefixes', error) console.error('Failed to update prefixes', error)
this.$toast.error(this.$strings.ToastSortingPrefixesUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.savingPrefixes = false this.savingPrefixes = false
@@ -328,7 +328,6 @@ export default {
.dispatch('updateServerSettings', payload) .dispatch('updateServerSettings', payload)
.then(() => { .then(() => {
this.updatingServerSettings = false this.updatingServerSettings = false
this.$toast.success(this.$strings.ToastServerSettingsUpdateSuccess)
if (payload.language) { if (payload.language) {
// Updating language after save allows for re-rendering // Updating language after save allows for re-rendering
@@ -338,7 +337,7 @@ export default {
.catch((error) => { .catch((error) => {
console.error('Failed to update server settings', error) console.error('Failed to update server settings', error)
this.updatingServerSettings = false this.updatingServerSettings = false
this.$toast.error(this.$strings.ToastServerSettingsUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
}, },
initServerSettings() { initServerSettings() {
+2 -2
View File
@@ -10,9 +10,9 @@
</template> </template>
<div class="flex justify-between mb-2 place-items-end"> <div class="flex justify-between mb-2 place-items-end">
<ui-text-input ref="input" v-model="search" placeholder="Search filter.." @input="inputUpdate" clearable class="w-full sm:w-40 h-8 text-sm sm:mb-0" /> <ui-text-input ref="input" v-model="search" :placeholder="$strings.PlaceholderSearch" @input="inputUpdate" clearable class="w-full sm:w-40 h-8 text-sm sm:mb-0" />
<ui-dropdown v-model="newServerSettings.logLevel" label="Server Log Level" :items="logLevelItems" @input="logLevelUpdated" class="w-full sm:w-44" /> <ui-dropdown v-model="newServerSettings.logLevel" :label="$strings.LabelServerLogLevel" :items="logLevelItems" @input="logLevelUpdated" class="w-full sm:w-44" />
</div> </div>
<div class="relative"> <div class="relative">
+1 -1
View File
@@ -132,7 +132,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to update notification settings', error) console.error('Failed to update notification settings', error)
this.$toast.error(this.$strings.ToastNotificationSettingsUpdateFailed) this.$toast.error(this.$strings.ToastFailedToUpdate)
}) })
.finally(() => { .finally(() => {
this.savingSettings = false this.savingSettings = false
@@ -1,115 +0,0 @@
<template>
<div class="page" :class="streamLibraryItem ? 'streaming' : ''">
<app-book-shelf-toolbar page="authors" is-home :authors="authors" />
<div id="bookshelf" class="w-full h-full p-8e overflow-y-auto" :style="{ fontSize: sizeMultiplier + 'rem' }">
<!-- Cover size widget -->
<widgets-cover-size-widget class="fixed right-4 z-50" :style="{ bottom: streamLibraryItem ? '181px' : '16px' }" />
<div class="flex flex-wrap justify-center">
<template v-for="author in authorsSorted">
<cards-author-card :key="author.id" :author="author" class="p-3e" @edit="editAuthor" />
</template>
</div>
</div>
</div>
</template>
<script>
export default {
async asyncData({ store, params, redirect, query, app }) {
var libraryId = params.library
var libraryData = await store.dispatch('libraries/fetch', libraryId)
if (!libraryData) {
return redirect('/oops?message=Library not found')
}
const library = libraryData.library
if (library.mediaType === 'podcast') {
return redirect(`/library/${libraryId}`)
}
return {
libraryId
}
},
data() {
return {
loading: true,
authors: []
}
},
computed: {
sizeMultiplier() {
return this.$store.getters['user/getSizeMultiplier']
},
streamLibraryItem() {
return this.$store.state.streamLibraryItem
},
currentLibraryId() {
return this.$store.state.libraries.currentLibraryId
},
selectedAuthor() {
return this.$store.state.globals.selectedAuthor
},
authorSortBy() {
return this.$store.getters['user/getUserSetting']('authorSortBy') || 'name'
},
authorSortDesc() {
return !!this.$store.getters['user/getUserSetting']('authorSortDesc')
},
authorsSorted() {
const sortProp = this.authorSortBy
const bDesc = this.authorSortDesc ? -1 : 1
return this.authors.sort((a, b) => {
if (typeof a[sortProp] === 'number' && typeof b[sortProp] === 'number') {
// Fallback to name sort if equal
if (a[sortProp] === b[sortProp]) return a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }) * bDesc
return a[sortProp] > b[sortProp] ? bDesc : -bDesc
}
return a[sortProp]?.localeCompare(b[sortProp], undefined, { sensitivity: 'base' }) * bDesc
})
}
},
methods: {
async init() {
this.authors = await this.$axios
.$get(`/api/libraries/${this.currentLibraryId}/authors`)
.then((response) => response.authors)
.catch((error) => {
console.error('Failed to load authors', error)
return []
})
this.loading = false
},
authorAdded(author) {
if (!this.authors.some((au) => au.id === author.id)) {
this.authors.push(author)
}
},
authorUpdated(author) {
this.authors = this.authors.map((au) => {
if (au.id === author.id) {
return author
}
return au
})
},
authorRemoved(author) {
this.authors = this.authors.filter((au) => au.id !== author.id)
},
editAuthor(author) {
this.$store.commit('globals/showEditAuthorModal', author)
}
},
mounted() {
this.init()
this.$root.socket.on('author_added', this.authorAdded)
this.$root.socket.on('author_updated', this.authorUpdated)
this.$root.socket.on('author_removed', this.authorRemoved)
},
beforeDestroy() {
this.$root.socket.off('author_added', this.authorAdded)
this.$root.socket.off('author_updated', this.authorUpdated)
this.$root.socket.off('author_removed', this.authorRemoved)
}
}
</script>
@@ -27,7 +27,7 @@ export default {
// Redirect podcast libraries // Redirect podcast libraries
const library = libraryData.library const library = libraryData.library
if (library.mediaType === 'podcast' && (params.id === 'collections' || params.id === 'series')) { if (library.mediaType === 'podcast' && (params.id === 'collections' || params.id === 'series' || params.id === 'authors')) {
return redirect(`/library/${libraryId}`) return redirect(`/library/${libraryId}`)
} }
+1 -1
View File
@@ -120,7 +120,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed to updated narrator', error) console.error('Failed to updated narrator', error)
this.$toast.error('Failed to update narrator') this.$toast.error(this.$strings.ToastFailedToUpdate)
this.loading = false this.loading = false
}) })
}, },
@@ -5,7 +5,7 @@
<div id="bookshelf" class="w-full overflow-y-auto px-2 py-6 sm:px-4 md:p-12 relative"> <div id="bookshelf" class="w-full overflow-y-auto px-2 py-6 sm:px-4 md:p-12 relative">
<div class="w-full max-w-4xl mx-auto flex"> <div class="w-full max-w-4xl mx-auto flex">
<form @submit.prevent="submit" class="flex flex-grow"> <form @submit.prevent="submit" class="flex flex-grow">
<ui-text-input v-model="searchInput" type="search" :disabled="processing" placeholder="Enter search term or RSS feed URL" class="flex-grow mr-2 text-sm md:text-base" /> <ui-text-input v-model="searchInput" type="search" :disabled="processing" :placeholder="$strings.MessagePodcastSearchField" class="flex-grow mr-2 text-sm md:text-base" />
<ui-btn type="submit" :disabled="processing" class="hidden md:block">{{ $strings.ButtonSubmit }}</ui-btn> <ui-btn type="submit" :disabled="processing" class="hidden md:block">{{ $strings.ButtonSubmit }}</ui-btn>
<ui-btn type="submit" :disabled="processing" class="block md:hidden" small>{{ $strings.ButtonSubmit }}</ui-btn> <ui-btn type="submit" :disabled="processing" class="block md:hidden" small>{{ $strings.ButtonSubmit }}</ui-btn>
</form> </form>
@@ -22,7 +22,7 @@
<div class="flex items-center"> <div class="flex items-center">
<a :href="podcast.pageUrl" class="text-base md:text-lg text-gray-200 hover:underline" target="_blank" @click.stop>{{ podcast.title }}</a> <a :href="podcast.pageUrl" class="text-base md:text-lg text-gray-200 hover:underline" target="_blank" @click.stop>{{ podcast.title }}</a>
<widgets-explicit-indicator v-if="podcast.explicit" /> <widgets-explicit-indicator v-if="podcast.explicit" />
<widgets-already-in-library-indicator :already-in-library="podcast.alreadyInLibrary" /> <widgets-already-in-library-indicator v-if="podcast.alreadyInLibrary" />
</div> </div>
<p class="text-sm md:text-base text-gray-300 whitespace-nowrap truncate">{{ $getString('LabelByAuthor', [podcast.artistName]) }}</p> <p class="text-sm md:text-base text-gray-300 whitespace-nowrap truncate">{{ $getString('LabelByAuthor', [podcast.artistName]) }}</p>
<p class="text-xs text-gray-400 leading-5">{{ podcast.genres.join(', ') }}</p> <p class="text-xs text-gray-400 leading-5">{{ podcast.genres.join(', ') }}</p>
@@ -108,7 +108,7 @@ export default {
if (!txt || !txt.includes('<opml') || !txt.includes('<outline ')) { if (!txt || !txt.includes('<opml') || !txt.includes('<outline ')) {
// Quick lazy check for valid OPML // Quick lazy check for valid OPML
this.$toast.error('Invalid OPML file <opml> tag not found OR an <outline> tag was not found') this.$toast.error(this.$strings.MessageTaskOpmlParseFastFail)
this.processing = false this.processing = false
return return
} }
@@ -117,7 +117,7 @@ export default {
.$post(`/api/podcasts/opml/parse`, { opmlText: txt }) .$post(`/api/podcasts/opml/parse`, { opmlText: txt })
.then((data) => { .then((data) => {
if (!data.feeds?.length) { if (!data.feeds?.length) {
this.$toast.error('No feeds found in OPML file') this.$toast.error(this.$strings.MessageTaskOpmlParseNoneFound)
} else { } else {
this.opmlFeeds = data.feeds || [] this.opmlFeeds = data.feeds || []
this.showOPMLFeedsModal = true this.showOPMLFeedsModal = true
@@ -125,7 +125,7 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.error('Failed', error) console.error('Failed', error)
this.$toast.error('Failed to parse OPML file') this.$toast.error(this.$strings.MessageTaskOpmlParseFailed)
}) })
.finally(() => { .finally(() => {
this.processing = false this.processing = false
@@ -191,7 +191,7 @@ export default {
return return
} }
if (!podcast.feedUrl) { if (!podcast.feedUrl) {
this.$toast.error('Invalid podcast - no feed') this.$toast.error(this.$strings.MessageNoPodcastFeed)
return return
} }
this.processing = true this.processing = true
@@ -211,15 +211,15 @@ export default {
async fetchExistentPodcastsInYourLibrary() { async fetchExistentPodcastsInYourLibrary() {
this.processing = true this.processing = true
const podcasts = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/items?page=0&minified=1`).catch((error) => { const podcastsResponse = await this.$axios.$get(`/api/libraries/${this.currentLibraryId}/podcast-titles`).catch((error) => {
console.error('Failed to fetch podcasts', error) console.error('Failed to fetch podcasts', error)
return [] return []
}) })
this.existentPodcasts = podcasts.results.map((p) => { this.existentPodcasts = podcastsResponse.podcasts.map((p) => {
return { return {
title: p.media.metadata.title.toLowerCase(), title: p.title.toLowerCase(),
itunesId: p.media.metadata.itunesId, itunesId: p.itunesId,
id: p.id id: p.libraryItemId
} }
}) })
this.processing = false this.processing = false
+1 -1
View File
@@ -16,7 +16,7 @@
<ui-btn v-if="showPlayButton" :disabled="streaming" color="success" :padding-x="4" small class="flex items-center h-9 mr-2" @click="clickPlay"> <ui-btn v-if="showPlayButton" :disabled="streaming" color="success" :padding-x="4" small class="flex items-center h-9 mr-2" @click="clickPlay">
<span v-show="!streaming" class="material-symbols fill text-2xl -ml-2 pr-1 text-white">play_arrow</span> <span v-show="!streaming" class="material-symbols fill text-2xl -ml-2 pr-1 text-white">play_arrow</span>
{{ streaming ? $strings.ButtonPlaying : $strings.ButtonPlay }} {{ streaming ? $strings.ButtonPlaying : $strings.ButtonPlayAll }}
</ui-btn> </ui-btn>
<ui-icon-btn icon="edit" class="mx-0.5" @click="editClick" /> <ui-icon-btn icon="edit" class="mx-0.5" @click="editClick" />
+8 -9
View File
@@ -10,7 +10,7 @@
<p v-if="mediaItemShare.playbackSession.displayAuthor" class="text-lg lg:text-xl text-slate-400 font-semibold text-center mb-1 truncate">{{ mediaItemShare.playbackSession.displayAuthor }}</p> <p v-if="mediaItemShare.playbackSession.displayAuthor" class="text-lg lg:text-xl text-slate-400 font-semibold text-center mb-1 truncate">{{ mediaItemShare.playbackSession.displayAuthor }}</p>
<div class="w-full pt-16"> <div class="w-full pt-16">
<player-ui ref="audioPlayer" :chapters="chapters" :paused="isPaused" :loading="!hasLoaded" :is-podcast="false" hide-bookmarks hide-sleep-timer @playPause="playPause" @jumpForward="jumpForward" @jumpBackward="jumpBackward" @setVolume="setVolume" @setPlaybackRate="setPlaybackRate" @seek="seek" /> <player-ui ref="audioPlayer" :chapters="chapters" :current-chapter="currentChapter" :paused="isPaused" :loading="!hasLoaded" :is-podcast="false" hide-bookmarks hide-sleep-timer @playPause="playPause" @jumpForward="jumpForward" @jumpBackward="jumpBackward" @setVolume="setVolume" @setPlaybackRate="setPlaybackRate" @seek="seek" />
</div> </div>
</div> </div>
</div> </div>
@@ -51,7 +51,8 @@ export default {
windowHeight: 0, windowHeight: 0,
listeningTimeSinceSync: 0, listeningTimeSinceSync: 0,
coverRgb: null, coverRgb: null,
coverBgIsLight: false coverBgIsLight: false,
currentTime: 0
} }
}, },
computed: { computed: {
@@ -60,16 +61,10 @@ export default {
}, },
coverUrl() { coverUrl() {
if (!this.playbackSession.coverPath) return `${this.$config.routerBasePath}/book_placeholder.jpg` if (!this.playbackSession.coverPath) return `${this.$config.routerBasePath}/book_placeholder.jpg`
if (process.env.NODE_ENV === 'development') { return `${this.$config.routerBasePath}/public/share/${this.mediaItemShare.slug}/cover`
return `http://localhost:3333/public/share/${this.mediaItemShare.slug}/cover`
}
return `/public/share/${this.mediaItemShare.slug}/cover`
}, },
audioTracks() { audioTracks() {
return (this.playbackSession.audioTracks || []).map((track) => { return (this.playbackSession.audioTracks || []).map((track) => {
if (process.env.NODE_ENV === 'development') {
track.contentUrl = `${process.env.serverUrl}${track.contentUrl}`
}
track.relativeContentUrl = track.contentUrl track.relativeContentUrl = track.contentUrl
return track return track
}) })
@@ -83,6 +78,9 @@ export default {
chapters() { chapters() {
return this.playbackSession.chapters || [] return this.playbackSession.chapters || []
}, },
currentChapter() {
return this.chapters.find((chapter) => chapter.start <= this.currentTime && this.currentTime < chapter.end)
},
coverAspectRatio() { coverAspectRatio() {
const coverAspectRatio = this.playbackSession.coverAspectRatio const coverAspectRatio = this.playbackSession.coverAspectRatio
return coverAspectRatio === this.$constants.BookCoverAspectRatio.STANDARD ? 1.6 : 1 return coverAspectRatio === this.$constants.BookCoverAspectRatio.STANDARD ? 1.6 : 1
@@ -154,6 +152,7 @@ export default {
// Update UI // Update UI
this.$refs.audioPlayer.setCurrentTime(time) this.$refs.audioPlayer.setCurrentTime(time)
this.currentTime = time
}, },
setDuration() { setDuration() {
if (!this.localAudioPlayer) return if (!this.localAudioPlayer) return
-6
View File
@@ -384,12 +384,6 @@ export default {
else itemsFailed++ else itemsFailed++
this.updateItemCardStatus(item.index, result ? 'success' : 'failed') this.updateItemCardStatus(item.index, result ? 'success' : 'failed')
} }
if (itemsUploaded) {
this.$toast.success(`Successfully uploaded ${itemsUploaded} item${itemsUploaded > 1 ? 's' : ''}`)
}
if (itemsFailed) {
this.$toast.success(`Failed to upload ${itemsFailed} item${itemsFailed > 1 ? 's' : ''}`)
}
this.processing = false this.processing = false
this.uploadFinished = true this.uploadFinished = true
} }
-4
View File
@@ -23,10 +23,6 @@ export default class AudioTrack {
get relativeContentUrl() { get relativeContentUrl() {
if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl
if (process.env.NODE_ENV === 'development') {
return `${process.env.serverUrl}${this.contentUrl}?token=${this.userToken}`
}
return this.contentUrl + `?token=${this.userToken}` return this.contentUrl + `?token=${this.userToken}`
} }
} }
+3 -4
View File
@@ -1,5 +1,5 @@
export default function ({ $axios, store, $config }) { export default function ({ $axios, store, $config }) {
$axios.onRequest(config => { $axios.onRequest((config) => {
if (!config.url) { if (!config.url) {
console.error('Axios request invalid config', config) console.error('Axios request invalid config', config)
return return
@@ -13,14 +13,13 @@ export default function ({ $axios, store, $config }) {
} }
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
config.url = `/dev${config.url}`
console.log('Making request to ' + config.url) console.log('Making request to ' + config.url)
} }
}) })
$axios.onError(error => { $axios.onError((error) => {
const code = parseInt(error.response && error.response.status) const code = parseInt(error.response && error.response.status)
const message = error.response ? error.response.data || 'Unknown Error' : 'Unknown Error' const message = error.response ? error.response.data || 'Unknown Error' : 'Unknown Error'
console.error('Axios error', code, message) console.error('Axios error', code, message)
}) })
} }
+2 -2
View File
@@ -89,10 +89,10 @@ Vue.prototype.$strings = { ...enUsStrings }
* Get string and substitute * Get string and substitute
* *
* @param {string} key * @param {string} key
* @param {string[]} subs * @param {string[]} [subs=[]]
* @returns {string} * @returns {string}
*/ */
Vue.prototype.$getString = (key, subs) => { Vue.prototype.$getString = (key, subs = []) => {
if (!Vue.prototype.$strings[key]) return '' if (!Vue.prototype.$strings[key]) return ''
if (subs?.length && Array.isArray(subs)) { if (subs?.length && Array.isArray(subs)) {
return supplant(Vue.prototype.$strings[key], subs) return supplant(Vue.prototype.$strings[key], subs)
+4 -1
View File
@@ -18,7 +18,10 @@ Vue.prototype.$bytesPretty = (bytes, decimals = 2) => {
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i] return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]
} }
Vue.prototype.$elapsedPretty = (seconds, useFullNames = false) => { Vue.prototype.$elapsedPretty = (seconds, useFullNames = false, useMilliseconds = false) => {
if (useMilliseconds && seconds > 0 && seconds < 1) {
return `${Math.floor(seconds * 1000)} ms`
}
if (seconds < 60) { if (seconds < 60) {
return `${Math.floor(seconds)} sec${useFullNames ? 'onds' : ''}` return `${Math.floor(seconds)} sec${useFullNames ? 'onds' : ''}`
} }
+5 -15
View File
@@ -72,13 +72,13 @@ export const state = () => ({
} }
], ],
podcastTypes: [ podcastTypes: [
{ text: 'Episodic', value: 'episodic' }, { text: 'Episodic', value: 'episodic', descriptionKey: 'LabelEpisodic' },
{ text: 'Serial', value: 'serial' } { text: 'Serial', value: 'serial', descriptionKey: 'LabelSerial' }
], ],
episodeTypes: [ episodeTypes: [
{ text: 'Full', value: 'full' }, { text: 'Full', value: 'full', descriptionKey: 'LabelFull' },
{ text: 'Trailer', value: 'trailer' }, { text: 'Trailer', value: 'trailer', descriptionKey: 'LabelTrailer' },
{ text: 'Bonus', value: 'bonus' } { text: 'Bonus', value: 'bonus', descriptionKey: 'LabelBonus' }
], ],
libraryIcons: ['database', 'audiobookshelf', 'books-1', 'books-2', 'book-1', 'microphone-1', 'microphone-3', 'radio', 'podcast', 'rss', 'headphones', 'music', 'file-picture', 'rocket', 'power', 'star', 'heart'] libraryIcons: ['database', 'audiobookshelf', 'books-1', 'books-2', 'book-1', 'microphone-1', 'microphone-3', 'radio', 'podcast', 'rss', 'headphones', 'music', 'file-picture', 'rocket', 'power', 'star', 'heart']
}) })
@@ -98,12 +98,6 @@ export const getters = {
const userToken = rootGetters['user/getToken'] const userToken = rootGetters['user/getToken']
const lastUpdate = libraryItem.updatedAt || Date.now() const lastUpdate = libraryItem.updatedAt || Date.now()
const libraryItemId = libraryItem.libraryItemId || libraryItem.id // Workaround for /users/:id page showing media progress covers const libraryItemId = libraryItem.libraryItemId || libraryItem.id // Workaround for /users/:id page showing media progress covers
if (process.env.NODE_ENV !== 'production') {
// Testing
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
}
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}` return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}&ts=${lastUpdate}${raw ? '&raw=1' : ''}`
}, },
getLibraryItemCoverSrcById: getLibraryItemCoverSrcById:
@@ -112,10 +106,6 @@ export const getters = {
const placeholder = `${rootState.routerBasePath}/book_placeholder.jpg` const placeholder = `${rootState.routerBasePath}/book_placeholder.jpg`
if (!libraryItemId) return placeholder if (!libraryItemId) return placeholder
const userToken = rootGetters['user/getToken'] const userToken = rootGetters['user/getToken']
if (process.env.NODE_ENV !== 'production') {
// Testing
return `http://localhost:3333${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
}
return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}` return `${rootState.routerBasePath}/api/items/${libraryItemId}/cover?token=${userToken}${raw ? '&raw=1' : ''}${timestamp ? `&ts=${timestamp}` : ''}`
}, },
getIsBatchSelectingMediaItems: (state) => { getIsBatchSelectingMediaItems: (state) => {
+12 -1
View File
@@ -240,7 +240,8 @@ export const mutations = {
series: [], series: [],
narrators: [], narrators: [],
languages: [], languages: [],
publishers: [] publishers: [],
publishedDecades: []
} }
*/ */
const mediaMetadata = libraryItem.media.metadata const mediaMetadata = libraryItem.media.metadata
@@ -307,6 +308,16 @@ export const mutations = {
state.filterData.publishers.sort((a, b) => a.localeCompare(b)) state.filterData.publishers.sort((a, b) => a.localeCompare(b))
} }
// Add publishedDecades
if (mediaMetadata.publishedYear && !isNaN(mediaMetadata.publishedYear)) {
const publishedYear = parseInt(mediaMetadata.publishedYear, 10)
const decade = (Math.floor(publishedYear / 10) * 10).toString()
if (!state.filterData.publishedDecades.includes(decade)) {
state.filterData.publishedDecades.push(decade)
state.filterData.publishedDecades.sort((a, b) => a - b)
}
}
// Add language // Add language
if (mediaMetadata.language && !state.filterData.languages.includes(mediaMetadata.language)) { if (mediaMetadata.language && !state.filterData.languages.includes(mediaMetadata.language)) {
state.filterData.languages.push(mediaMetadata.language) state.filterData.languages.push(mediaMetadata.language)
+1 -1
View File
@@ -90,7 +90,7 @@ export const actions = {
if (state.settings.orderBy == 'media.metadata.publishedYear') { if (state.settings.orderBy == 'media.metadata.publishedYear') {
settingsUpdate.orderBy = 'media.metadata.title' settingsUpdate.orderBy = 'media.metadata.title'
} }
const invalidFilters = ['series', 'authors', 'narrators', 'publishers', 'languages', 'progress', 'issues', 'ebooks', 'abridged'] const invalidFilters = ['series', 'authors', 'narrators', 'publishers', 'publishedDecades', 'languages', 'progress', 'issues', 'ebooks', 'abridged']
const filterByFirstPart = (state.settings.filterBy || '').split('.').shift() const filterByFirstPart = (state.settings.filterBy || '').split('.').shift()
if (invalidFilters.includes(filterByFirstPart)) { if (invalidFilters.includes(filterByFirstPart)) {
settingsUpdate.filterBy = 'all' settingsUpdate.filterBy = 'all'
-8
View File
@@ -711,10 +711,8 @@
"PlaceholderNewPlaylist": "Ново име на плейлиста", "PlaceholderNewPlaylist": "Ново име на плейлиста",
"PlaceholderSearch": "Търсене...", "PlaceholderSearch": "Търсене...",
"PlaceholderSearchEpisode": "Търсене на Епизоди...", "PlaceholderSearchEpisode": "Търсене на Епизоди...",
"ToastAccountUpdateFailed": "Неуспешно обновяване на акаунта",
"ToastAccountUpdateSuccess": "Успешно обновяване на акаунта", "ToastAccountUpdateSuccess": "Успешно обновяване на акаунта",
"ToastAuthorImageRemoveSuccess": "Авторската снимка е премахната", "ToastAuthorImageRemoveSuccess": "Авторската снимка е премахната",
"ToastAuthorUpdateFailed": "Неуспешно обновяване на автора",
"ToastAuthorUpdateMerged": "Обновяване на автора сливано", "ToastAuthorUpdateMerged": "Обновяване на автора сливано",
"ToastAuthorUpdateSuccess": "Автора обновен", "ToastAuthorUpdateSuccess": "Автора обновен",
"ToastAuthorUpdateSuccessNoImageFound": "Автор обновен (не е намерена снимка)", "ToastAuthorUpdateSuccessNoImageFound": "Автор обновен (не е намерена снимка)",
@@ -728,17 +726,13 @@
"ToastBookmarkCreateFailed": "Неуспешно създаване на отметка", "ToastBookmarkCreateFailed": "Неуспешно създаване на отметка",
"ToastBookmarkCreateSuccess": "Отметката е създадена", "ToastBookmarkCreateSuccess": "Отметката е създадена",
"ToastBookmarkRemoveSuccess": "Отметката е премахната", "ToastBookmarkRemoveSuccess": "Отметката е премахната",
"ToastBookmarkUpdateFailed": "Неуспешно обновяване на отметка",
"ToastBookmarkUpdateSuccess": "Отметката е обновена", "ToastBookmarkUpdateSuccess": "Отметката е обновена",
"ToastChaptersHaveErrors": "Главите имат грешки", "ToastChaptersHaveErrors": "Главите имат грешки",
"ToastChaptersMustHaveTitles": "Главите трябва да имат заглавия", "ToastChaptersMustHaveTitles": "Главите трябва да имат заглавия",
"ToastCollectionItemsRemoveSuccess": "Елемент(и) премахнати от колекция", "ToastCollectionItemsRemoveSuccess": "Елемент(и) премахнати от колекция",
"ToastCollectionRemoveSuccess": "Колекцията е премахната", "ToastCollectionRemoveSuccess": "Колекцията е премахната",
"ToastCollectionUpdateFailed": "Неуспешно обновяване на колекция",
"ToastCollectionUpdateSuccess": "Колекцията е обновена", "ToastCollectionUpdateSuccess": "Колекцията е обновена",
"ToastItemCoverUpdateFailed": "Неуспешно обновяване на корица на елемент",
"ToastItemCoverUpdateSuccess": "Корицата на елемента е обновена", "ToastItemCoverUpdateSuccess": "Корицата на елемента е обновена",
"ToastItemDetailsUpdateFailed": "Неуспешно обновяване на детайли на елемент",
"ToastItemDetailsUpdateSuccess": "Детайлите на елемента са обновени", "ToastItemDetailsUpdateSuccess": "Детайлите на елемента са обновени",
"ToastItemMarkedAsFinishedFailed": "Неуспешно маркиране като завършено", "ToastItemMarkedAsFinishedFailed": "Неуспешно маркиране като завършено",
"ToastItemMarkedAsFinishedSuccess": "Елементът е маркиран като завършен", "ToastItemMarkedAsFinishedSuccess": "Елементът е маркиран като завършен",
@@ -750,12 +744,10 @@
"ToastLibraryDeleteSuccess": "Библиотеката е изтрита", "ToastLibraryDeleteSuccess": "Библиотеката е изтрита",
"ToastLibraryScanFailedToStart": "Неуспешно стартиране на сканиране", "ToastLibraryScanFailedToStart": "Неуспешно стартиране на сканиране",
"ToastLibraryScanStarted": "Сканирането на библиотеката е стартирано", "ToastLibraryScanStarted": "Сканирането на библиотеката е стартирано",
"ToastLibraryUpdateFailed": "Неуспешно обновяване на библиотека",
"ToastLibraryUpdateSuccess": "Библиотеката \"{0}\" е обновена", "ToastLibraryUpdateSuccess": "Библиотеката \"{0}\" е обновена",
"ToastPlaylistCreateFailed": "Неуспешно създаване на плейлист", "ToastPlaylistCreateFailed": "Неуспешно създаване на плейлист",
"ToastPlaylistCreateSuccess": "Плейлистът е създаден", "ToastPlaylistCreateSuccess": "Плейлистът е създаден",
"ToastPlaylistRemoveSuccess": "Плейлистът е премахнат", "ToastPlaylistRemoveSuccess": "Плейлистът е премахнат",
"ToastPlaylistUpdateFailed": "Неуспешно обновяване на плейлист",
"ToastPlaylistUpdateSuccess": "Плейлистът е обновен", "ToastPlaylistUpdateSuccess": "Плейлистът е обновен",
"ToastPodcastCreateFailed": "Неуспешно създаване на подкаст", "ToastPodcastCreateFailed": "Неуспешно създаване на подкаст",
"ToastPodcastCreateSuccess": "Подкастът е създаден", "ToastPodcastCreateSuccess": "Подкастът е създаден",
+38 -22
View File
@@ -8,7 +8,7 @@
"ButtonAddYourFirstLibrary": "আপনার প্রথম লাইব্রেরি যোগ করুন", "ButtonAddYourFirstLibrary": "আপনার প্রথম লাইব্রেরি যোগ করুন",
"ButtonApply": "প্রয়োগ করুন", "ButtonApply": "প্রয়োগ করুন",
"ButtonApplyChapters": "অধ্যায় প্রয়োগ করুন", "ButtonApplyChapters": "অধ্যায় প্রয়োগ করুন",
"ButtonAuthors": "লেখক", "ButtonAuthors": "লেখকগণ",
"ButtonBack": "পেছনে যান", "ButtonBack": "পেছনে যান",
"ButtonBrowseForFolder": "ফোল্ডারের জন্য ব্রাউজ করুন", "ButtonBrowseForFolder": "ফোল্ডারের জন্য ব্রাউজ করুন",
"ButtonCancel": "বাতিল করুন", "ButtonCancel": "বাতিল করুন",
@@ -56,6 +56,7 @@
"ButtonOpenManager": "ম্যানেজার খুলুন", "ButtonOpenManager": "ম্যানেজার খুলুন",
"ButtonPause": "বিরতি", "ButtonPause": "বিরতি",
"ButtonPlay": "বাজান", "ButtonPlay": "বাজান",
"ButtonPlayAll": "সব চালান",
"ButtonPlaying": "বাজছে", "ButtonPlaying": "বাজছে",
"ButtonPlaylists": "প্লেলিস্ট", "ButtonPlaylists": "প্লেলিস্ট",
"ButtonPrevious": "পূর্ববর্তী", "ButtonPrevious": "পূর্ববর্তী",
@@ -549,7 +550,7 @@
"LabelSleepTimer": "স্লিপ টাইমার", "LabelSleepTimer": "স্লিপ টাইমার",
"LabelSlug": "স্লাগ", "LabelSlug": "স্লাগ",
"LabelStart": "শুরু", "LabelStart": "শুরু",
"LabelStartTime": "শুরু করার সময়", "LabelStartTime": "শুরুর সময়",
"LabelStarted": "শুরু হয়েছে", "LabelStarted": "শুরু হয়েছে",
"LabelStartedAt": "এতে শুরু হয়েছে", "LabelStartedAt": "এতে শুরু হয়েছে",
"LabelStatsAudioTracks": "অডিও ট্র্যাক", "LabelStatsAudioTracks": "অডিও ট্র্যাক",
@@ -702,7 +703,7 @@
"MessageEpisodesQueuedForDownload": "{0} পর্ব(গুলি) ডাউনলোডের জন্য সারিবদ্ধ", "MessageEpisodesQueuedForDownload": "{0} পর্ব(গুলি) ডাউনলোডের জন্য সারিবদ্ধ",
"MessageEreaderDevices": "ই-বুক সরবরাহ নিশ্চিত করতে, আপনাকে নীচে তালিকাভুক্ত প্রতিটি ডিভাইসের জন্য একটি বৈধ প্রেরক হিসাবে উপরের ইমেল ঠিকানাটি যুক্ত করতে হতে পারে।", "MessageEreaderDevices": "ই-বুক সরবরাহ নিশ্চিত করতে, আপনাকে নীচে তালিকাভুক্ত প্রতিটি ডিভাইসের জন্য একটি বৈধ প্রেরক হিসাবে উপরের ইমেল ঠিকানাটি যুক্ত করতে হতে পারে।",
"MessageFeedURLWillBe": "ফিড URL হবে {0}", "MessageFeedURLWillBe": "ফিড URL হবে {0}",
"MessageFetching": "আনয় হচ্ছে...", "MessageFetching": "আনয় হচ্ছে.",
"MessageForceReScanDescription": "সকল ফাইল আবার নতুন স্ক্যানের মত স্ক্যান করবে। অডিও ফাইল ID3 ট্যাগ, OPF ফাইল, এবং টেক্সট ফাইলগুলি নতুন হিসাবে স্ক্যান করা হবে।", "MessageForceReScanDescription": "সকল ফাইল আবার নতুন স্ক্যানের মত স্ক্যান করবে। অডিও ফাইল ID3 ট্যাগ, OPF ফাইল, এবং টেক্সট ফাইলগুলি নতুন হিসাবে স্ক্যান করা হবে।",
"MessageImportantNotice": "গুরুত্বপূর্ণ বিজ্ঞপ্তি!", "MessageImportantNotice": "গুরুত্বপূর্ণ বিজ্ঞপ্তি!",
"MessageInsertChapterBelow": "নীচে অধ্যায় ঢোকান", "MessageInsertChapterBelow": "নীচে অধ্যায় ঢোকান",
@@ -710,7 +711,7 @@
"MessageItemsUpdated": "{0}টি আইটেম আপডেট করা হয়েছে", "MessageItemsUpdated": "{0}টি আইটেম আপডেট করা হয়েছে",
"MessageJoinUsOn": "আমাদের সাথে যোগ দিন", "MessageJoinUsOn": "আমাদের সাথে যোগ দিন",
"MessageListeningSessionsInTheLastYear": "গত বছরে {0}টি শোনার সেশন", "MessageListeningSessionsInTheLastYear": "গত বছরে {0}টি শোনার সেশন",
"MessageLoading": "লোড হচ্ছে...", "MessageLoading": "লোড হচ্ছে.",
"MessageLoadingFolders": "ফোল্ডার লোড হচ্ছে...", "MessageLoadingFolders": "ফোল্ডার লোড হচ্ছে...",
"MessageLogsDescription": "লগগুলি JSON ফাইল হিসাবে <code>/metadata/logs</code>-এ সংরক্ষণ করা হয়। ক্র্যাশ লগগুলি <code>/metadata/logs/crash_logs.txt</code>-এ সংরক্ষণ করা হয়।", "MessageLogsDescription": "লগগুলি JSON ফাইল হিসাবে <code>/metadata/logs</code>-এ সংরক্ষণ করা হয়। ক্র্যাশ লগগুলি <code>/metadata/logs/crash_logs.txt</code>-এ সংরক্ষণ করা হয়।",
"MessageM4BFailed": "M4B ব্যর্থ!", "MessageM4BFailed": "M4B ব্যর্থ!",
@@ -776,6 +777,38 @@
"MessageShareExpiresIn": "মেয়াদ শেষ হবে {0}", "MessageShareExpiresIn": "মেয়াদ শেষ হবে {0}",
"MessageShareURLWillBe": "শেয়ার করা ইউআরএল হবে <strong>{0}</strong>", "MessageShareURLWillBe": "শেয়ার করা ইউআরএল হবে <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "\"{0}\" এর জন্য {1} এ প্লেব্যাক শুরু করবেন?", "MessageStartPlaybackAtTime": "\"{0}\" এর জন্য {1} এ প্লেব্যাক শুরু করবেন?",
"MessageTaskAudioFileNotWritable": "অডিও ফাইল \"{0}\" লেখার যোগ্য নয়",
"MessageTaskCanceledByUser": "ব্যবহারকারী দ্বারা টাস্ক বাতিল করা হয়েছে",
"MessageTaskDownloadingEpisodeDescription": "\"{0}\" পর্ব ডাউনলোড করা হচ্ছে",
"MessageTaskEmbeddingMetadata": "মেটাডেটা এম্বেড করা হচ্ছে",
"MessageTaskEmbeddingMetadataDescription": "অডিওবুক \"{0}\" এ মেটাডেটা এম্বেড করা হচ্ছে",
"MessageTaskEncodingM4b": "এনকোডিং M4B",
"MessageTaskEncodingM4bDescription": "একটি একক m4b ফাইলে অডিওবুক \"{0}\" এনকোড করা হচ্ছে",
"MessageTaskFailed": "ব্যর্থ হয়েছে",
"MessageTaskFailedToBackupAudioFile": "অডিও ফাইল \"{0}\" ব্যাকআপ করতে ব্যর্থ হয়েছে",
"MessageTaskFailedToCreateCacheDirectory": "ক্যাশে ডিরেক্টরি তৈরি করতে ব্যর্থ হয়েছে",
"MessageTaskFailedToEmbedMetadataInFile": "\"{0}\" ফাইলে মেটাডেটা এম্বেড করতে ব্যর্থ হয়েছে",
"MessageTaskFailedToMergeAudioFiles": "অডিও ফাইল মার্জ করতে ব্যর্থ হয়েছে",
"MessageTaskFailedToMoveM4bFile": "m4b ফাইল সরাতে ব্যর্থ হয়েছে",
"MessageTaskFailedToWriteMetadataFile": "মেটাডেটা ফাইল লিখতে ব্যর্থ হয়েছে",
"MessageTaskMatchingBooksInLibrary": "লাইব্রেরি \"{0}\"-এ বই মিলানো হচ্ছে",
"MessageTaskNoFilesToScan": "স্ক্যান করার জন্য কোন ফাইল নেই",
"MessageTaskOpmlImport": "OPML আমদানি",
"MessageTaskOpmlImportDescription": "{0} RSS ফিড থেকে পডকাস্ট তৈরি করা হচ্ছে",
"MessageTaskOpmlImportFeed": "OPML ফিড আমদানি",
"MessageTaskOpmlImportFeedDescription": "RSS ফিড \"{0}\" আমদানি করা হচ্ছে",
"MessageTaskOpmlImportFeedFailed": "পডকাস্ট ফিড পেতে ব্যর্থ হয়েছে",
"MessageTaskOpmlImportFeedPodcastDescription": "পডকাস্ট তৈরি করা হচ্ছে \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "পডকাস্ট আগে থেকেই পাথে বিদ্যমান",
"MessageTaskOpmlImportFeedPodcastFailed": "পডকাস্ট তৈরি করতে ব্যর্থ",
"MessageTaskOpmlImportFinished": "{0}টি পডকাস্ট যোগ করা হয়েছে",
"MessageTaskScanItemsAdded": "{0}টি করা হয়েছে",
"MessageTaskScanItemsMissing": "{0}টি অনুপস্থিত",
"MessageTaskScanItemsUpdated": "{0} টি আপডেট করা হয়েছে",
"MessageTaskScanNoChangesNeeded": "কোন পরিবর্তন প্রয়োজন নেই",
"MessageTaskScanningFileChanges": "\"{0}\" এ ফাইলের পরিবর্তন স্ক্যান করা হচ্ছে",
"MessageTaskScanningLibrary": "\"{0}\" লাইব্রেরি স্ক্যান করা হচ্ছে",
"MessageTaskTargetDirectoryNotWritable": "টার্গেট ডিরেক্টরি লেখার যোগ্য নয়",
"MessageThinking": "চিন্তা করছি...", "MessageThinking": "চিন্তা করছি...",
"MessageUploaderItemFailed": "আপলোড করতে ব্যর্থ", "MessageUploaderItemFailed": "আপলোড করতে ব্যর্থ",
"MessageUploaderItemSuccess": "সফলভাবে আপলোড হয়েছে!", "MessageUploaderItemSuccess": "সফলভাবে আপলোড হয়েছে!",
@@ -816,14 +849,12 @@
"StatsTopNarrators": "শীর্ষ কথকগণ", "StatsTopNarrators": "শীর্ষ কথকগণ",
"StatsTotalDuration": "মোট সময়কাল…", "StatsTotalDuration": "মোট সময়কাল…",
"StatsYearInReview": "বাৎসরিক পর্যালোচনা", "StatsYearInReview": "বাৎসরিক পর্যালোচনা",
"ToastAccountUpdateFailed": "অ্যাকাউন্ট আপডেট করতে ব্যর্থ",
"ToastAccountUpdateSuccess": "অ্যাকাউন্ট আপডেট করা হয়েছে", "ToastAccountUpdateSuccess": "অ্যাকাউন্ট আপডেট করা হয়েছে",
"ToastAppriseUrlRequired": "একটি Apprise ইউআরএল লিখতে হবে", "ToastAppriseUrlRequired": "একটি Apprise ইউআরএল লিখতে হবে",
"ToastAuthorImageRemoveSuccess": "লেখকের ছবি সরানো হয়েছে", "ToastAuthorImageRemoveSuccess": "লেখকের ছবি সরানো হয়েছে",
"ToastAuthorNotFound": "লেখক \"{0}\" খুঁজে পাওয়া যায়নি", "ToastAuthorNotFound": "লেখক \"{0}\" খুঁজে পাওয়া যায়নি",
"ToastAuthorRemoveSuccess": "লেখক সরানো হয়েছে", "ToastAuthorRemoveSuccess": "লেখক সরানো হয়েছে",
"ToastAuthorSearchNotFound": "লেখক পাওয়া যায়নি", "ToastAuthorSearchNotFound": "লেখক পাওয়া যায়নি",
"ToastAuthorUpdateFailed": "লেখক আপডেট করতে ব্যর্থ",
"ToastAuthorUpdateMerged": "লেখক একত্রিত হয়েছে", "ToastAuthorUpdateMerged": "লেখক একত্রিত হয়েছে",
"ToastAuthorUpdateSuccess": "লেখক আপডেট করেছেন", "ToastAuthorUpdateSuccess": "লেখক আপডেট করেছেন",
"ToastAuthorUpdateSuccessNoImageFound": "লেখক আপডেট করেছেন (কোন ছবি পাওয়া যায়নি)", "ToastAuthorUpdateSuccessNoImageFound": "লেখক আপডেট করেছেন (কোন ছবি পাওয়া যায়নি)",
@@ -834,7 +865,6 @@
"ToastBackupDeleteSuccess": "ব্যাকআপ মুছে ফেলা হয়েছে", "ToastBackupDeleteSuccess": "ব্যাকআপ মুছে ফেলা হয়েছে",
"ToastBackupInvalidMaxKeep": "রাখার জন্য অকার্যকর ব্যাকআপের সংখ্যা", "ToastBackupInvalidMaxKeep": "রাখার জন্য অকার্যকর ব্যাকআপের সংখ্যা",
"ToastBackupInvalidMaxSize": "অকার্যকর সর্বোচ্চ ব্যাকআপ আকার", "ToastBackupInvalidMaxSize": "অকার্যকর সর্বোচ্চ ব্যাকআপ আকার",
"ToastBackupPathUpdateFailed": "ব্যাকআপ পথ আপডেট করতে ব্যর্থ হয়েছে",
"ToastBackupRestoreFailed": "ব্যাকআপ পুনরুদ্ধার করতে ব্যর্থ", "ToastBackupRestoreFailed": "ব্যাকআপ পুনরুদ্ধার করতে ব্যর্থ",
"ToastBackupUploadFailed": "ব্যাকআপ আপলোড করতে ব্যর্থ", "ToastBackupUploadFailed": "ব্যাকআপ আপলোড করতে ব্যর্থ",
"ToastBackupUploadSuccess": "ব্যাকআপ আপলোড হয়েছে", "ToastBackupUploadSuccess": "ব্যাকআপ আপলোড হয়েছে",
@@ -845,7 +875,6 @@
"ToastBookmarkCreateFailed": "বুকমার্ক তৈরি করতে ব্যর্থ", "ToastBookmarkCreateFailed": "বুকমার্ক তৈরি করতে ব্যর্থ",
"ToastBookmarkCreateSuccess": "বুকমার্ক যোগ করা হয়েছে", "ToastBookmarkCreateSuccess": "বুকমার্ক যোগ করা হয়েছে",
"ToastBookmarkRemoveSuccess": "বুকমার্ক সরানো হয়েছে", "ToastBookmarkRemoveSuccess": "বুকমার্ক সরানো হয়েছে",
"ToastBookmarkUpdateFailed": "বুকমার্ক আপডেট করতে ব্যর্থ",
"ToastBookmarkUpdateSuccess": "বুকমার্ক আপডেট করা হয়েছে", "ToastBookmarkUpdateSuccess": "বুকমার্ক আপডেট করা হয়েছে",
"ToastCachePurgeFailed": "ক্যাশে পরিষ্কার করতে ব্যর্থ হয়েছে", "ToastCachePurgeFailed": "ক্যাশে পরিষ্কার করতে ব্যর্থ হয়েছে",
"ToastCachePurgeSuccess": "ক্যাশে সফলভাবে পরিষ্কার করা হয়েছে", "ToastCachePurgeSuccess": "ক্যাশে সফলভাবে পরিষ্কার করা হয়েছে",
@@ -856,7 +885,6 @@
"ToastCollectionItemsAddSuccess": "আইটেম(গুলি) সংগ্রহে যোগ করা সফল হয়েছে", "ToastCollectionItemsAddSuccess": "আইটেম(গুলি) সংগ্রহে যোগ করা সফল হয়েছে",
"ToastCollectionItemsRemoveSuccess": "আইটেম(গুলি) সংগ্রহ থেকে সরানো হয়েছে", "ToastCollectionItemsRemoveSuccess": "আইটেম(গুলি) সংগ্রহ থেকে সরানো হয়েছে",
"ToastCollectionRemoveSuccess": "সংগ্রহ সরানো হয়েছে", "ToastCollectionRemoveSuccess": "সংগ্রহ সরানো হয়েছে",
"ToastCollectionUpdateFailed": "সংগ্রহ আপডেট করতে ব্যর্থ",
"ToastCollectionUpdateSuccess": "সংগ্রহ আপডেট করা হয়েছে", "ToastCollectionUpdateSuccess": "সংগ্রহ আপডেট করা হয়েছে",
"ToastCoverUpdateFailed": "কভার আপডেট ব্যর্থ হয়েছে", "ToastCoverUpdateFailed": "কভার আপডেট ব্যর্থ হয়েছে",
"ToastDeleteFileFailed": "ফাইল মুছে ফেলতে ব্যর্থ হয়েছে", "ToastDeleteFileFailed": "ফাইল মুছে ফেলতে ব্যর্থ হয়েছে",
@@ -865,8 +893,6 @@
"ToastDeviceNameAlreadyExists": "এই নামের ইরিডার ডিভাইস ইতিমধ্যেই বিদ্যমান", "ToastDeviceNameAlreadyExists": "এই নামের ইরিডার ডিভাইস ইতিমধ্যেই বিদ্যমান",
"ToastDeviceTestEmailFailed": "পরীক্ষামূলক ইমেল পাঠাতে ব্যর্থ হয়েছে", "ToastDeviceTestEmailFailed": "পরীক্ষামূলক ইমেল পাঠাতে ব্যর্থ হয়েছে",
"ToastDeviceTestEmailSuccess": "পরীক্ষামূলক ইমেল পাঠানো হয়েছে", "ToastDeviceTestEmailSuccess": "পরীক্ষামূলক ইমেল পাঠানো হয়েছে",
"ToastDeviceUpdateFailed": "ডিভাইস আপডেট করতে ব্যর্থ হয়েছে",
"ToastEmailSettingsUpdateFailed": "ইমেল সেটিংস আপডেট করতে ব্যর্থ হয়েছে",
"ToastEmailSettingsUpdateSuccess": "ইমেল সেটিংস আপডেট করা হয়েছে", "ToastEmailSettingsUpdateSuccess": "ইমেল সেটিংস আপডেট করা হয়েছে",
"ToastEncodeCancelFailed": "এনকোড বাতিল করতে ব্যর্থ হয়েছে", "ToastEncodeCancelFailed": "এনকোড বাতিল করতে ব্যর্থ হয়েছে",
"ToastEncodeCancelSucces": "এনকোড বাতিল করা হয়েছে", "ToastEncodeCancelSucces": "এনকোড বাতিল করা হয়েছে",
@@ -875,21 +901,17 @@
"ToastErrorCannotShare": "এই ডিভাইসে স্থানীয়ভাবে শেয়ার করা যাবে না", "ToastErrorCannotShare": "এই ডিভাইসে স্থানীয়ভাবে শেয়ার করা যাবে না",
"ToastFailedToLoadData": "ডেটা লোড করা যায়নি", "ToastFailedToLoadData": "ডেটা লোড করা যায়নি",
"ToastFailedToShare": "শেয়ার করতে ব্যর্থ", "ToastFailedToShare": "শেয়ার করতে ব্যর্থ",
"ToastFailedToUpdateAccount": "অ্যাকাউন্ট আপডেট করতে ব্যর্থ", "ToastFailedToUpdate": "আপডেট করতে ব্যর্থ হয়েছে",
"ToastFailedToUpdateUser": "ব্যবহারকারী আপডেট করতে ব্যর্থ",
"ToastInvalidImageUrl": "অকার্যকর ছবির ইউআরএল", "ToastInvalidImageUrl": "অকার্যকর ছবির ইউআরএল",
"ToastInvalidUrl": "অকার্যকর ইউআরএল", "ToastInvalidUrl": "অকার্যকর ইউআরএল",
"ToastItemCoverUpdateFailed": "আইটেম কভার আপডেট করতে ব্যর্থ হয়েছে",
"ToastItemCoverUpdateSuccess": "আইটেম কভার আপডেট করা হয়েছে", "ToastItemCoverUpdateSuccess": "আইটেম কভার আপডেট করা হয়েছে",
"ToastItemDeletedFailed": "আইটেম মুছে ফেলতে ব্যর্থ", "ToastItemDeletedFailed": "আইটেম মুছে ফেলতে ব্যর্থ",
"ToastItemDeletedSuccess": "মুছে ফেলা আইটেম", "ToastItemDeletedSuccess": "মুছে ফেলা আইটেম",
"ToastItemDetailsUpdateFailed": "আইটেমের বিবরণ আপডেট করতে ব্যর্থ",
"ToastItemDetailsUpdateSuccess": "আইটেমের বিবরণ আপডেট করা হয়েছে", "ToastItemDetailsUpdateSuccess": "আইটেমের বিবরণ আপডেট করা হয়েছে",
"ToastItemMarkedAsFinishedFailed": "সমাপ্ত হিসাবে চিহ্নিত করতে ব্যর্থ", "ToastItemMarkedAsFinishedFailed": "সমাপ্ত হিসাবে চিহ্নিত করতে ব্যর্থ",
"ToastItemMarkedAsFinishedSuccess": "আইটেম সমাপ্ত হিসাবে চিহ্নিত", "ToastItemMarkedAsFinishedSuccess": "আইটেম সমাপ্ত হিসাবে চিহ্নিত",
"ToastItemMarkedAsNotFinishedFailed": "সমাপ্ত হয়নি হিসাবে চিহ্নিত করতে ব্যর্থ", "ToastItemMarkedAsNotFinishedFailed": "সমাপ্ত হয়নি হিসাবে চিহ্নিত করতে ব্যর্থ",
"ToastItemMarkedAsNotFinishedSuccess": "আইটেম সমাপ্ত হয়নি বলে চিহ্নিত", "ToastItemMarkedAsNotFinishedSuccess": "আইটেম সমাপ্ত হয়নি বলে চিহ্নিত",
"ToastItemUpdateFailed": "আইটেম আপডেট করতে ব্যর্থ",
"ToastItemUpdateSuccess": "আইটেম আপডেট করা হয়েছে", "ToastItemUpdateSuccess": "আইটেম আপডেট করা হয়েছে",
"ToastLibraryCreateFailed": "লাইব্রেরি তৈরি করতে ব্যর্থ", "ToastLibraryCreateFailed": "লাইব্রেরি তৈরি করতে ব্যর্থ",
"ToastLibraryCreateSuccess": "লাইব্রেরি \"{0}\" তৈরি করা হয়েছে", "ToastLibraryCreateSuccess": "লাইব্রেরি \"{0}\" তৈরি করা হয়েছে",
@@ -897,7 +919,6 @@
"ToastLibraryDeleteSuccess": "লাইব্রেরি মুছে ফেলা হয়েছে", "ToastLibraryDeleteSuccess": "লাইব্রেরি মুছে ফেলা হয়েছে",
"ToastLibraryScanFailedToStart": "স্ক্যান শুরু করতে ব্যর্থ", "ToastLibraryScanFailedToStart": "স্ক্যান শুরু করতে ব্যর্থ",
"ToastLibraryScanStarted": "লাইব্রেরি স্ক্যান শুরু হয়েছে", "ToastLibraryScanStarted": "লাইব্রেরি স্ক্যান শুরু হয়েছে",
"ToastLibraryUpdateFailed": "লাইব্রেরি আপডেট করতে ব্যর্থ",
"ToastLibraryUpdateSuccess": "লাইব্রেরি \"{0}\" আপডেট করা হয়েছে", "ToastLibraryUpdateSuccess": "লাইব্রেরি \"{0}\" আপডেট করা হয়েছে",
"ToastNameEmailRequired": "নাম এবং ইমেইল আবশ্যক", "ToastNameEmailRequired": "নাম এবং ইমেইল আবশ্যক",
"ToastNameRequired": "নাম আবশ্যক", "ToastNameRequired": "নাম আবশ্যক",
@@ -912,16 +933,13 @@
"ToastNotificationDeleteFailed": "বিজ্ঞপ্তি মুছে ফেলতে ব্যর্থ", "ToastNotificationDeleteFailed": "বিজ্ঞপ্তি মুছে ফেলতে ব্যর্থ",
"ToastNotificationFailedMaximum": "সর্বাধিক ব্যর্থ প্রচেষ্টা >= 0 হতে হবে", "ToastNotificationFailedMaximum": "সর্বাধিক ব্যর্থ প্রচেষ্টা >= 0 হতে হবে",
"ToastNotificationQueueMaximum": "সর্বাধিক বিজ্ঞপ্তি সারি >= 0 হতে হবে", "ToastNotificationQueueMaximum": "সর্বাধিক বিজ্ঞপ্তি সারি >= 0 হতে হবে",
"ToastNotificationSettingsUpdateFailed": "বিজ্ঞপ্তি সেটিংস আপডেট করতে ব্যর্থ",
"ToastNotificationSettingsUpdateSuccess": "বিজ্ঞপ্তি সেটিংস আপডেট করা হয়েছে", "ToastNotificationSettingsUpdateSuccess": "বিজ্ঞপ্তি সেটিংস আপডেট করা হয়েছে",
"ToastNotificationTestTriggerFailed": "পরীক্ষামূলক বিজ্ঞপ্তি ট্রিগার করতে ব্যর্থ হয়েছে", "ToastNotificationTestTriggerFailed": "পরীক্ষামূলক বিজ্ঞপ্তি ট্রিগার করতে ব্যর্থ হয়েছে",
"ToastNotificationTestTriggerSuccess": "পরীক্ষামুলক বিজ্ঞপ্তি ট্রিগার হয়েছে", "ToastNotificationTestTriggerSuccess": "পরীক্ষামুলক বিজ্ঞপ্তি ট্রিগার হয়েছে",
"ToastNotificationUpdateFailed": "বিজ্ঞপ্তি আপডেট করতে ব্যর্থ",
"ToastNotificationUpdateSuccess": "বিজ্ঞপ্তি আপডেট হয়েছে", "ToastNotificationUpdateSuccess": "বিজ্ঞপ্তি আপডেট হয়েছে",
"ToastPlaylistCreateFailed": "প্লেলিস্ট তৈরি করতে ব্যর্থ", "ToastPlaylistCreateFailed": "প্লেলিস্ট তৈরি করতে ব্যর্থ",
"ToastPlaylistCreateSuccess": "প্লেলিস্ট তৈরি করা হয়েছে", "ToastPlaylistCreateSuccess": "প্লেলিস্ট তৈরি করা হয়েছে",
"ToastPlaylistRemoveSuccess": "প্লেলিস্ট সরানো হয়েছে", "ToastPlaylistRemoveSuccess": "প্লেলিস্ট সরানো হয়েছে",
"ToastPlaylistUpdateFailed": "প্লেলিস্ট আপডেট করতে ব্যর্থ",
"ToastPlaylistUpdateSuccess": "প্লেলিস্ট আপডেট করা হয়েছে", "ToastPlaylistUpdateSuccess": "প্লেলিস্ট আপডেট করা হয়েছে",
"ToastPodcastCreateFailed": "পডকাস্ট তৈরি করতে ব্যর্থ", "ToastPodcastCreateFailed": "পডকাস্ট তৈরি করতে ব্যর্থ",
"ToastPodcastCreateSuccess": "পডকাস্ট সফলভাবে তৈরি করা হয়েছে", "ToastPodcastCreateSuccess": "পডকাস্ট সফলভাবে তৈরি করা হয়েছে",
@@ -950,7 +968,6 @@
"ToastSendEbookToDeviceSuccess": "ইবুক \"{0}\" ডিভাইসে পাঠানো হয়েছে", "ToastSendEbookToDeviceSuccess": "ইবুক \"{0}\" ডিভাইসে পাঠানো হয়েছে",
"ToastSeriesUpdateFailed": "সিরিজ আপডেট ব্যর্থ হয়েছে", "ToastSeriesUpdateFailed": "সিরিজ আপডেট ব্যর্থ হয়েছে",
"ToastSeriesUpdateSuccess": "সিরিজ আপডেট সাফল্য", "ToastSeriesUpdateSuccess": "সিরিজ আপডেট সাফল্য",
"ToastServerSettingsUpdateFailed": "সার্ভার সেটিংস আপডেট করতে ব্যর্থ হয়েছে",
"ToastServerSettingsUpdateSuccess": "সার্ভার সেটিংস আপডেট করা হয়েছে", "ToastServerSettingsUpdateSuccess": "সার্ভার সেটিংস আপডেট করা হয়েছে",
"ToastSessionCloseFailed": "অধিবেশন বন্ধ করতে ব্যর্থ হয়েছে", "ToastSessionCloseFailed": "অধিবেশন বন্ধ করতে ব্যর্থ হয়েছে",
"ToastSessionDeleteFailed": "সেশন মুছে ফেলতে ব্যর্থ", "ToastSessionDeleteFailed": "সেশন মুছে ফেলতে ব্যর্থ",
@@ -961,7 +978,6 @@
"ToastSocketDisconnected": "সকেট সংযোগ বিচ্ছিন্ন", "ToastSocketDisconnected": "সকেট সংযোগ বিচ্ছিন্ন",
"ToastSocketFailedToConnect": "সকেট সংযোগ করতে ব্যর্থ হয়েছে", "ToastSocketFailedToConnect": "সকেট সংযোগ করতে ব্যর্থ হয়েছে",
"ToastSortingPrefixesEmptyError": "কমপক্ষে ১ টি সাজানোর উপসর্গ থাকতে হবে", "ToastSortingPrefixesEmptyError": "কমপক্ষে ১ টি সাজানোর উপসর্গ থাকতে হবে",
"ToastSortingPrefixesUpdateFailed": "বাছাই উপসর্গ আপডেট করতে ব্যর্থ হয়েছে",
"ToastSortingPrefixesUpdateSuccess": "বাছাই করা উপসর্গ আপডেট করা হয়েছে ({0}টি আইটেম)", "ToastSortingPrefixesUpdateSuccess": "বাছাই করা উপসর্গ আপডেট করা হয়েছে ({0}টি আইটেম)",
"ToastTitleRequired": "শিরোনাম আবশ্যক", "ToastTitleRequired": "শিরোনাম আবশ্যক",
"ToastUnknownError": "অজানা ত্রুটি", "ToastUnknownError": "অজানা ত্রুটি",
+102 -16
View File
@@ -28,6 +28,7 @@
"ButtonEdit": "Upravit", "ButtonEdit": "Upravit",
"ButtonEditChapters": "Upravit kapitoly", "ButtonEditChapters": "Upravit kapitoly",
"ButtonEditPodcast": "Upravit podcast", "ButtonEditPodcast": "Upravit podcast",
"ButtonEnable": "Povolit",
"ButtonForceReScan": "Vynutit opětovné prohledání", "ButtonForceReScan": "Vynutit opětovné prohledání",
"ButtonFullPath": "Úplná cesta", "ButtonFullPath": "Úplná cesta",
"ButtonHide": "Skrýt", "ButtonHide": "Skrýt",
@@ -44,10 +45,15 @@
"ButtonMatchAllAuthors": "Spárovat všechny autory", "ButtonMatchAllAuthors": "Spárovat všechny autory",
"ButtonMatchBooks": "Spárovat Knihy", "ButtonMatchBooks": "Spárovat Knihy",
"ButtonNevermind": "Nevadí", "ButtonNevermind": "Nevadí",
"ButtonNext": "Další",
"ButtonNextChapter": "Další Kapitola", "ButtonNextChapter": "Další Kapitola",
"ButtonNextItemInQueue": "Žádná další položka ve frontě",
"ButtonOk": "Ok",
"ButtonOpenFeed": "Otevřít kanál", "ButtonOpenFeed": "Otevřít kanál",
"ButtonOpenManager": "Otevřít správce", "ButtonOpenManager": "Otevřít správce",
"ButtonPause": "Pozastavit",
"ButtonPlay": "Přehrát", "ButtonPlay": "Přehrát",
"ButtonPlayAll": "Přehrát vše",
"ButtonPlaying": "Hraje", "ButtonPlaying": "Hraje",
"ButtonPlaylists": "Seznamy skladeb", "ButtonPlaylists": "Seznamy skladeb",
"ButtonPrevious": "Předchozí", "ButtonPrevious": "Předchozí",
@@ -88,6 +94,8 @@
"ButtonStartMetadataEmbed": "Spustit vkládání metadat", "ButtonStartMetadataEmbed": "Spustit vkládání metadat",
"ButtonStats": "Statistiky", "ButtonStats": "Statistiky",
"ButtonSubmit": "Odeslat", "ButtonSubmit": "Odeslat",
"ButtonTest": "Test",
"ButtonUnlinkOpenId": "Odpojit OpenID",
"ButtonUpload": "Nahrát", "ButtonUpload": "Nahrát",
"ButtonUploadBackup": "Nahrát zálohu", "ButtonUploadBackup": "Nahrát zálohu",
"ButtonUploadCover": "Nahrát obálku", "ButtonUploadCover": "Nahrát obálku",
@@ -100,10 +108,12 @@
"ErrorUploadFetchMetadataNoResults": "Nepodařilo se načíst metadata - zkuste aktualizovat název a/nebo autora", "ErrorUploadFetchMetadataNoResults": "Nepodařilo se načíst metadata - zkuste aktualizovat název a/nebo autora",
"ErrorUploadLacksTitle": "Musí mít titul", "ErrorUploadLacksTitle": "Musí mít titul",
"HeaderAccount": "Účet", "HeaderAccount": "Účet",
"HeaderAddCustomMetadataProvider": "Přidat vlastního poskytovatele metadat",
"HeaderAdvanced": "Pokročilé", "HeaderAdvanced": "Pokročilé",
"HeaderAppriseNotificationSettings": "Nastavení oznámení Apprise", "HeaderAppriseNotificationSettings": "Nastavení oznámení Apprise",
"HeaderAudioTracks": "Zvukové stopy", "HeaderAudioTracks": "Zvukové stopy",
"HeaderAudiobookTools": "Nástroje pro správu souborů audioknih", "HeaderAudiobookTools": "Nástroje pro správu souborů audioknih",
"HeaderAuthentication": "Autentizace",
"HeaderBackups": "Zálohy", "HeaderBackups": "Zálohy",
"HeaderChangePassword": "Změnit heslo", "HeaderChangePassword": "Změnit heslo",
"HeaderChapters": "Kapitoly", "HeaderChapters": "Kapitoly",
@@ -144,10 +154,13 @@
"HeaderMetadataToEmbed": "Metadata k vložení", "HeaderMetadataToEmbed": "Metadata k vložení",
"HeaderNewAccount": "Nový účet", "HeaderNewAccount": "Nový účet",
"HeaderNewLibrary": "Nová knihovna", "HeaderNewLibrary": "Nová knihovna",
"HeaderNotificationCreate": "Vytvořit notifikaci",
"HeaderNotificationUpdate": "Aktualizovat notifikaci",
"HeaderNotifications": "Oznámení", "HeaderNotifications": "Oznámení",
"HeaderOpenIDConnectAuthentication": "Ověřování pomocí OpenID Connect", "HeaderOpenIDConnectAuthentication": "Ověřování pomocí OpenID Connect",
"HeaderOpenRSSFeed": "Otevřít RSS kanál", "HeaderOpenRSSFeed": "Otevřít RSS kanál",
"HeaderOtherFiles": "Ostatní soubory", "HeaderOtherFiles": "Ostatní soubory",
"HeaderPasswordAuthentication": "Autentizace heslem",
"HeaderPermissions": "Oprávnění", "HeaderPermissions": "Oprávnění",
"HeaderPlayerQueue": "Fronta přehrávače", "HeaderPlayerQueue": "Fronta přehrávače",
"HeaderPlayerSettings": "Nastavení přehrávače", "HeaderPlayerSettings": "Nastavení přehrávače",
@@ -200,6 +213,7 @@
"LabelAddToPlaylist": "Přidat do seznamu přehrávání", "LabelAddToPlaylist": "Přidat do seznamu přehrávání",
"LabelAddToPlaylistBatch": "Přidat {0} položky do seznamu přehrávání", "LabelAddToPlaylistBatch": "Přidat {0} položky do seznamu přehrávání",
"LabelAddedAt": "Přidáno v", "LabelAddedAt": "Přidáno v",
"LabelAddedDate": "Přidáno {0}",
"LabelAdminUsersOnly": "Pouze administrátoři", "LabelAdminUsersOnly": "Pouze administrátoři",
"LabelAll": "Vše", "LabelAll": "Vše",
"LabelAllUsers": "Všichni uživatelé", "LabelAllUsers": "Všichni uživatelé",
@@ -229,6 +243,7 @@
"LabelBitrate": "Datový tok", "LabelBitrate": "Datový tok",
"LabelBooks": "Knihy", "LabelBooks": "Knihy",
"LabelButtonText": "Text tlačítka", "LabelButtonText": "Text tlačítka",
"LabelByAuthor": "od {0}",
"LabelChangePassword": "Změnit heslo", "LabelChangePassword": "Změnit heslo",
"LabelChannels": "Kanály", "LabelChannels": "Kanály",
"LabelChapterTitle": "Název kapitoly", "LabelChapterTitle": "Název kapitoly",
@@ -238,6 +253,7 @@
"LabelClosePlayer": "Zavřít přehrávač", "LabelClosePlayer": "Zavřít přehrávač",
"LabelCodec": "Kodek", "LabelCodec": "Kodek",
"LabelCollapseSeries": "Sbalit sérii", "LabelCollapseSeries": "Sbalit sérii",
"LabelCollapseSubSeries": "Sbalit podsérie",
"LabelCollection": "Kolekce", "LabelCollection": "Kolekce",
"LabelCollections": "Kolekce", "LabelCollections": "Kolekce",
"LabelComplete": "Dokončeno", "LabelComplete": "Dokončeno",
@@ -288,16 +304,21 @@
"LabelEpisode": "Epizoda", "LabelEpisode": "Epizoda",
"LabelEpisodeTitle": "Název epizody", "LabelEpisodeTitle": "Název epizody",
"LabelEpisodeType": "Typ epizody", "LabelEpisodeType": "Typ epizody",
"LabelEpisodes": "Epizody",
"LabelExample": "Příklad", "LabelExample": "Příklad",
"LabelExpandSeries": "Rozbalit série", "LabelExpandSeries": "Rozbalit série",
"LabelExpandSubSeries": "Rozbalit podsérie",
"LabelExplicit": "Explicitní", "LabelExplicit": "Explicitní",
"LabelExplicitChecked": "Explicitní (zaškrtnuto)", "LabelExplicitChecked": "Explicitní (zaškrtnuto)",
"LabelExplicitUnchecked": "Není explicitní (nezaškrtnuto)", "LabelExplicitUnchecked": "Není explicitní (nezaškrtnuto)",
"LabelExportOPML": "Export OPML",
"LabelFeedURL": "URL zdroje", "LabelFeedURL": "URL zdroje",
"LabelFetchingMetadata": "Získávání metadat", "LabelFetchingMetadata": "Získávání metadat",
"LabelFile": "Soubor", "LabelFile": "Soubor",
"LabelFileBirthtime": "Čas vzniku souboru", "LabelFileBirthtime": "Čas vzniku souboru",
"LabelFileBornDate": "Vytvořeno {0}",
"LabelFileModified": "Soubor změněn", "LabelFileModified": "Soubor změněn",
"LabelFileModifiedDate": "Změněno {0}",
"LabelFilename": "Název souboru", "LabelFilename": "Název souboru",
"LabelFilterByUser": "Filtrovat podle uživatele", "LabelFilterByUser": "Filtrovat podle uživatele",
"LabelFindEpisodes": "Najít epizody", "LabelFindEpisodes": "Najít epizody",
@@ -307,6 +328,7 @@
"LabelFontBold": "Tučně", "LabelFontBold": "Tučně",
"LabelFontBoldness": "Výraznost písma", "LabelFontBoldness": "Výraznost písma",
"LabelFontFamily": "Rodina písem", "LabelFontFamily": "Rodina písem",
"LabelFontItalic": "Kurzíva",
"LabelFontScale": "Měřítko písma", "LabelFontScale": "Měřítko písma",
"LabelFontStrikethrough": "Přeškrtnutí", "LabelFontStrikethrough": "Přeškrtnutí",
"LabelFormat": "Formát", "LabelFormat": "Formát",
@@ -325,6 +347,7 @@
"LabelInProgress": "Probíhá", "LabelInProgress": "Probíhá",
"LabelIncludeInTracklist": "Zahrnout do seznamu stop", "LabelIncludeInTracklist": "Zahrnout do seznamu stop",
"LabelIncomplete": "Neúplné", "LabelIncomplete": "Neúplné",
"LabelInterval": "Interval",
"LabelIntervalCustomDailyWeekly": "Vlastní denně/týdně", "LabelIntervalCustomDailyWeekly": "Vlastní denně/týdně",
"LabelIntervalEvery12Hours": "Každých 12 hodin", "LabelIntervalEvery12Hours": "Každých 12 hodin",
"LabelIntervalEvery15Minutes": "Každých 15 minut", "LabelIntervalEvery15Minutes": "Každých 15 minut",
@@ -421,17 +444,22 @@
"LabelPersonalYearReview": "Váš přehled roku ({0})", "LabelPersonalYearReview": "Váš přehled roku ({0})",
"LabelPhotoPathURL": "Cesta k fotografii/URL", "LabelPhotoPathURL": "Cesta k fotografii/URL",
"LabelPlayMethod": "Metoda přehrávání", "LabelPlayMethod": "Metoda přehrávání",
"LabelPlayerChapterNumberMarker": "{0} z {1}",
"LabelPlaylists": "Seznamy skladeb", "LabelPlaylists": "Seznamy skladeb",
"LabelPodcast": "Podcast",
"LabelPodcastSearchRegion": "Oblast vyhledávání podcastu", "LabelPodcastSearchRegion": "Oblast vyhledávání podcastu",
"LabelPodcastType": "Typ podcastu", "LabelPodcastType": "Typ podcastu",
"LabelPodcasts": "Podcasty", "LabelPodcasts": "Podcasty",
"LabelPort": "Port",
"LabelPrefixesToIgnore": "Předpony, které se mají ignorovat (nerozlišují se malá a velká písmena)", "LabelPrefixesToIgnore": "Předpony, které se mají ignorovat (nerozlišují se malá a velká písmena)",
"LabelPreventIndexing": "Zabránit indexování vašeho kanálu v adresářích podcastů iTunes a Google", "LabelPreventIndexing": "Zabránit indexování vašeho kanálu v adresářích podcastů iTunes a Google",
"LabelPrimaryEbook": "Hlavní e-kniha", "LabelPrimaryEbook": "Hlavní e-kniha",
"LabelProgress": "Průběh", "LabelProgress": "Průběh",
"LabelProvider": "Poskytovatel", "LabelProvider": "Poskytovatel",
"LabelProviderAuthorizationValue": "Hodnota autorizačního headeru",
"LabelPubDate": "Datum vydání", "LabelPubDate": "Datum vydání",
"LabelPublishYear": "Rok vydání", "LabelPublishYear": "Rok vydání",
"LabelPublishedDate": "Vydáno {0}",
"LabelPublisher": "Vydavatel", "LabelPublisher": "Vydavatel",
"LabelPublishers": "Vydavatelé", "LabelPublishers": "Vydavatelé",
"LabelRSSFeedCustomOwnerEmail": "Vlastní e-mail vlastníka", "LabelRSSFeedCustomOwnerEmail": "Vlastní e-mail vlastníka",
@@ -441,6 +469,7 @@
"LabelRSSFeedSlug": "RSS kanál Slug", "LabelRSSFeedSlug": "RSS kanál Slug",
"LabelRSSFeedURL": "URL RSS kanálu", "LabelRSSFeedURL": "URL RSS kanálu",
"LabelRandomly": "Náhodně", "LabelRandomly": "Náhodně",
"LabelReAddSeriesToContinueListening": "Znovu přidat sérii k pokračování poslechu",
"LabelRead": "Číst", "LabelRead": "Číst",
"LabelReadAgain": "Číst znovu", "LabelReadAgain": "Číst znovu",
"LabelReadEbookWithoutProgress": "Číst e-knihu bez zachování průběhu", "LabelReadEbookWithoutProgress": "Číst e-knihu bez zachování průběhu",
@@ -448,6 +477,7 @@
"LabelRecentlyAdded": "Nedávno přidané", "LabelRecentlyAdded": "Nedávno přidané",
"LabelRecommended": "Doporučeno", "LabelRecommended": "Doporučeno",
"LabelRedo": "Přepracovat", "LabelRedo": "Přepracovat",
"LabelRegion": "Region",
"LabelReleaseDate": "Datum vydání", "LabelReleaseDate": "Datum vydání",
"LabelRemoveCover": "Odstranit obálku", "LabelRemoveCover": "Odstranit obálku",
"LabelRowsPerPage": "Řádky na stránku", "LabelRowsPerPage": "Řádky na stránku",
@@ -539,6 +569,7 @@
"LabelTagsNotAccessibleToUser": "Značky nepřístupné uživateli", "LabelTagsNotAccessibleToUser": "Značky nepřístupné uživateli",
"LabelTasks": "Spuštěné Úlohy", "LabelTasks": "Spuštěné Úlohy",
"LabelTextEditorBulletedList": "Seznam s odrážkami", "LabelTextEditorBulletedList": "Seznam s odrážkami",
"LabelTextEditorLink": "Odkaz",
"LabelTextEditorNumberedList": "Seznam s čísly", "LabelTextEditorNumberedList": "Seznam s čísly",
"LabelTextEditorUnlink": "Zrušit odkaz", "LabelTextEditorUnlink": "Zrušit odkaz",
"LabelTheme": "Téma", "LabelTheme": "Téma",
@@ -572,6 +603,7 @@
"LabelUnabridged": "Nezkráceno", "LabelUnabridged": "Nezkráceno",
"LabelUndo": "Zpět", "LabelUndo": "Zpět",
"LabelUnknown": "Neznámý", "LabelUnknown": "Neznámý",
"LabelUnknownPublishDate": "Neznámé datum vydání",
"LabelUpdateCover": "Aktualizovat obálku", "LabelUpdateCover": "Aktualizovat obálku",
"LabelUpdateCoverHelp": "Povolit přepsání existujících obálek pro vybrané knihy, pokud je nalezena shoda", "LabelUpdateCoverHelp": "Povolit přepsání existujících obálek pro vybrané knihy, pokud je nalezena shoda",
"LabelUpdateDetails": "Aktualizovat podrobnosti", "LabelUpdateDetails": "Aktualizovat podrobnosti",
@@ -620,14 +652,19 @@
"MessageCheckingCron": "Kontrola cronu...", "MessageCheckingCron": "Kontrola cronu...",
"MessageConfirmCloseFeed": "Opravdu chcete zavřít tento kanál?", "MessageConfirmCloseFeed": "Opravdu chcete zavřít tento kanál?",
"MessageConfirmDeleteBackup": "Opravdu chcete smazat zálohu pro {0}?", "MessageConfirmDeleteBackup": "Opravdu chcete smazat zálohu pro {0}?",
"MessageConfirmDeleteDevice": "Opravdu chcete vymazat zařízení e-reader \"{0}\"?",
"MessageConfirmDeleteFile": "Tento krok smaže soubor ze souborového systému. Jsi si jisti?", "MessageConfirmDeleteFile": "Tento krok smaže soubor ze souborového systému. Jsi si jisti?",
"MessageConfirmDeleteLibrary": "Opravdu chcete trvale smazat knihovnu \"{0}\"?", "MessageConfirmDeleteLibrary": "Opravdu chcete trvale smazat knihovnu \"{0}\"?",
"MessageConfirmDeleteLibraryItem": "Tento krok odstraní položku knihovny z databáze a vašeho souborového systému. Jste si jisti?", "MessageConfirmDeleteLibraryItem": "Tento krok odstraní položku knihovny z databáze a vašeho souborového systému. Jste si jisti?",
"MessageConfirmDeleteLibraryItems": "Tímto smažete {0} položkek knihovny z databáze a vašeho souborového systému. Jsi si jisti?", "MessageConfirmDeleteLibraryItems": "Tímto smažete {0} položkek knihovny z databáze a vašeho souborového systému. Jsi si jisti?",
"MessageConfirmDeleteMetadataProvider": "Opravdu chcete vymazat vlastního poskytovatele metadat \"{0}\"?",
"MessageConfirmDeleteNotification": "Opravdu chcete vymazat tuto notifikaci?",
"MessageConfirmDeleteSession": "Opravdu chcete smazat tuto relaci?", "MessageConfirmDeleteSession": "Opravdu chcete smazat tuto relaci?",
"MessageConfirmForceReScan": "Opravdu chcete vynutit opětovné prohledání?", "MessageConfirmForceReScan": "Opravdu chcete vynutit opětovné prohledání?",
"MessageConfirmMarkAllEpisodesFinished": "Opravdu chcete označit všechny epizody jako dokončené?", "MessageConfirmMarkAllEpisodesFinished": "Opravdu chcete označit všechny epizody jako dokončené?",
"MessageConfirmMarkAllEpisodesNotFinished": "Opravdu chcete označit všechny epizody jako nedokončené?", "MessageConfirmMarkAllEpisodesNotFinished": "Opravdu chcete označit všechny epizody jako nedokončené?",
"MessageConfirmMarkItemFinished": "Opravdu chcete označit \"{0}\" jako dokončené?",
"MessageConfirmMarkItemNotFinished": "Opravdu chcete označit \"{0}\" jako nedokončené?",
"MessageConfirmMarkSeriesFinished": "Opravdu chcete označit všechny knihy z této série jako dokončené?", "MessageConfirmMarkSeriesFinished": "Opravdu chcete označit všechny knihy z této série jako dokončené?",
"MessageConfirmMarkSeriesNotFinished": "Opravdu chcete označit všechny knihy z této série jako nedokončené?", "MessageConfirmMarkSeriesNotFinished": "Opravdu chcete označit všechny knihy z této série jako nedokončené?",
"MessageConfirmPurgeCache": "Vyčistit mezipaměť odstraní celý adresář na adrese <code>/metadata/cache</code>. <br /><br />Určitě chcete odstranit adresář mezipaměti?", "MessageConfirmPurgeCache": "Vyčistit mezipaměť odstraní celý adresář na adrese <code>/metadata/cache</code>. <br /><br />Určitě chcete odstranit adresář mezipaměti?",
@@ -648,7 +685,9 @@
"MessageConfirmRenameTag": "Opravdu chcete přejmenovat tag \"{0}\" na \"{1}\" pro všechny položky?", "MessageConfirmRenameTag": "Opravdu chcete přejmenovat tag \"{0}\" na \"{1}\" pro všechny položky?",
"MessageConfirmRenameTagMergeNote": "Poznámka: Tato značka již existuje, takže budou sloučeny.", "MessageConfirmRenameTagMergeNote": "Poznámka: Tato značka již existuje, takže budou sloučeny.",
"MessageConfirmRenameTagWarning": "Varování! Podobná značka s jinými velkými a malými písmeny již existuje \"{0}\".", "MessageConfirmRenameTagWarning": "Varování! Podobná značka s jinými velkými a malými písmeny již existuje \"{0}\".",
"MessageConfirmResetProgress": "Opravdu chcete zahodit svůj pokrok?",
"MessageConfirmSendEbookToDevice": "Opravdu chcete odeslat e-knihu {0} {1}\" do zařízení \"{2}\"?", "MessageConfirmSendEbookToDevice": "Opravdu chcete odeslat e-knihu {0} {1}\" do zařízení \"{2}\"?",
"MessageConfirmUnlinkOpenId": "Opravdu chcete odpojit tohoto uživatele z OpenID?",
"MessageDownloadingEpisode": "Stahuji epizodu", "MessageDownloadingEpisode": "Stahuji epizodu",
"MessageDragFilesIntoTrackOrder": "Přetáhněte soubory do správného pořadí stop", "MessageDragFilesIntoTrackOrder": "Přetáhněte soubory do správného pořadí stop",
"MessageEmbedFailed": "Vložení selhalo!", "MessageEmbedFailed": "Vložení selhalo!",
@@ -656,7 +695,7 @@
"MessageEpisodesQueuedForDownload": "{0} Epizody zařazené do fronty ke stažení", "MessageEpisodesQueuedForDownload": "{0} Epizody zařazené do fronty ke stažení",
"MessageEreaderDevices": "Aby bylo zajištěno doručení elektronických knih, může být nutné přidat výše uvedenou e-mailovou adresu jako platného odesílatele pro každé zařízení uvedené níže.", "MessageEreaderDevices": "Aby bylo zajištěno doručení elektronických knih, může být nutné přidat výše uvedenou e-mailovou adresu jako platného odesílatele pro každé zařízení uvedené níže.",
"MessageFeedURLWillBe": "URL zdroje bude {0}", "MessageFeedURLWillBe": "URL zdroje bude {0}",
"MessageFetching": "Stahování...", "MessageFetching": "Načítání...",
"MessageForceReScanDescription": "znovu prohledá všechny soubory jako při novém skenování. ID3 tagy zvukových souborů OPF soubory a textové soubory budou skenovány jako nové.", "MessageForceReScanDescription": "znovu prohledá všechny soubory jako při novém skenování. ID3 tagy zvukových souborů OPF soubory a textové soubory budou skenovány jako nové.",
"MessageImportantNotice": "Důležité upozornění!", "MessageImportantNotice": "Důležité upozornění!",
"MessageInsertChapterBelow": "Vložit kapitolu níže", "MessageInsertChapterBelow": "Vložit kapitolu níže",
@@ -683,6 +722,7 @@
"MessageNoCollections": "Žádné kolekce", "MessageNoCollections": "Žádné kolekce",
"MessageNoCoversFound": "Nebyly nalezeny žádné obálky", "MessageNoCoversFound": "Nebyly nalezeny žádné obálky",
"MessageNoDescription": "Bez popisu", "MessageNoDescription": "Bez popisu",
"MessageNoDevices": "Žádná zařízení",
"MessageNoDownloadsInProgress": "Momentálně neprobíhá žádné stahování", "MessageNoDownloadsInProgress": "Momentálně neprobíhá žádné stahování",
"MessageNoDownloadsQueued": "Žádné stahování ve frontě", "MessageNoDownloadsQueued": "Žádné stahování ve frontě",
"MessageNoEpisodeMatchesFound": "Nebyly nalezeny žádné odpovídající epizody", "MessageNoEpisodeMatchesFound": "Nebyly nalezeny žádné odpovídající epizody",
@@ -710,6 +750,7 @@
"MessagePauseChapter": "Pozastavit přehrávání kapitoly", "MessagePauseChapter": "Pozastavit přehrávání kapitoly",
"MessagePlayChapter": "Poslechnout si začátek kapitoly", "MessagePlayChapter": "Poslechnout si začátek kapitoly",
"MessagePlaylistCreateFromCollection": "Vytvořit seznam skladeb z kolekce", "MessagePlaylistCreateFromCollection": "Vytvořit seznam skladeb z kolekce",
"MessagePleaseWait": "Čekejte prosím...",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast nemá žádnou adresu URL kanálu RSS, kterou by mohl použít pro porovnávání", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nemá žádnou adresu URL kanálu RSS, kterou by mohl použít pro porovnávání",
"MessageQuickMatchDescription": "Vyplňte prázdné detaily položky a obálku prvním výsledkem shody z '{0}'. Nepřepisuje podrobnosti, pokud není povoleno nastavení serveru \"Preferovat párování metadata\".", "MessageQuickMatchDescription": "Vyplňte prázdné detaily položky a obálku prvním výsledkem shody z '{0}'. Nepřepisuje podrobnosti, pokud není povoleno nastavení serveru \"Preferovat párování metadata\".",
"MessageRemoveChapter": "Odstranit kapitolu", "MessageRemoveChapter": "Odstranit kapitolu",
@@ -728,17 +769,46 @@
"MessageShareExpiresIn": "Expiruje za {0}", "MessageShareExpiresIn": "Expiruje za {0}",
"MessageShareURLWillBe": "Sdílené URL bude <strong>{0}</strong>", "MessageShareURLWillBe": "Sdílené URL bude <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Spustit přehrávání pro \"{0}\" v {1}?", "MessageStartPlaybackAtTime": "Spustit přehrávání pro \"{0}\" v {1}?",
"MessageTaskAudioFileNotWritable": "Nelze zapisovat do audio souboru \"{0}\"",
"MessageTaskCanceledByUser": "Task zrušen uživatelem",
"MessageTaskDownloadingEpisodeDescription": "Stahování epizody \"{0}\"",
"MessageTaskEmbeddingMetadata": "Vkládání metadat",
"MessageTaskEmbeddingMetadataDescription": "Vkládání metadat do audioknihy \"{0}\"",
"MessageTaskEncodingM4b": "Kódování M4B",
"MessageTaskEncodingM4bDescription": "Kódování audioknihy \"{0}\" do jednoho m4b souboru",
"MessageTaskFailed": "Selhalo",
"MessageTaskFailedToBackupAudioFile": "Zálohování audio souboru \"{0}\" se selhalo",
"MessageTaskFailedToCreateCacheDirectory": "Vytvoření cache adresáře selhalo",
"MessageTaskFailedToEmbedMetadataInFile": "Vkládání metadat do souboru \"{0}\" selhalo",
"MessageTaskFailedToMergeAudioFiles": "Spojení audio souborů selhalo",
"MessageTaskFailedToMoveM4bFile": "Přesunutí m4b souboru selhalo",
"MessageTaskFailedToWriteMetadataFile": "Zápis souboru metadat selhal",
"MessageTaskNoFilesToScan": "Žádné soubory ke skenování",
"MessageTaskOpmlImport": "Import OPML",
"MessageTaskOpmlImportDescription": "Vytváření podcastů z {0} RSS feedů",
"MessageTaskOpmlImportFeedDescription": "Importování RSS feedu \"{0}\"",
"MessageTaskOpmlImportFeedPodcastDescription": "Vytváření podcastu \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast se stejnou cestou již existuje",
"MessageTaskOpmlImportFeedPodcastFailed": "Vytváření podcastu selhalo",
"MessageTaskOpmlImportFinished": "Přidáno {0} podcastů",
"MessageTaskScanItemsAdded": "{0} přidáno",
"MessageTaskScanItemsMissing": "{0} chybí",
"MessageTaskScanItemsUpdated": "{0} aktualizováno",
"MessageTaskScanNoChangesNeeded": "Žádné změny nejsou nutné",
"MessageTaskScanningFileChanges": "Skenování změn souborů v \"{0}\"",
"MessageTaskScanningLibrary": "Skenování \"{0}\" knihovny",
"MessageTaskTargetDirectoryNotWritable": "Do cílové složky nelze zapisovat",
"MessageThinking": "Přemýšlení...", "MessageThinking": "Přemýšlení...",
"MessageUploaderItemFailed": "Nahrávání se nezdařilo", "MessageUploaderItemFailed": "Nahrávání selhalo",
"MessageUploaderItemSuccess": "Nahráno bylo úspěšně!", "MessageUploaderItemSuccess": "Úspěšně nahráno!",
"MessageUploading": "Odesílám...", "MessageUploading": "Nahrávám...",
"MessageValidCronExpression": "Platný výraz cronu", "MessageValidCronExpression": "Platný výraz cronu",
"MessageWatcherIsDisabledGlobally": "Hlídač je globálně zakázán v nastavení serveru", "MessageWatcherIsDisabledGlobally": "Hlídač je globálně zakázán v nastavení serveru",
"MessageXLibraryIsEmpty": "{0} knihovna je prázdná!", "MessageXLibraryIsEmpty": "{0} knihovna je prázdná!",
"MessageYourAudiobookDurationIsLonger": "Doba trvání audioknihy je delší než nalezená délka", "MessageYourAudiobookDurationIsLonger": "Délka audioknihy je delší, než byla nalezena",
"MessageYourAudiobookDurationIsShorter": "Délka audioknihy je kratší, než byla nalezena", "MessageYourAudiobookDurationIsShorter": "Délka audioknihy je kratší, než byla nalezena",
"NoteChangeRootPassword": "Uživatel root je jediný uživatel, který může mít prázdné heslo", "NoteChangeRootPassword": "Uživatel root je jediný uživatel, který může mít prázdné heslo",
"NoteChapterEditorTimes": "Poznámka: Čas začátku první kapitoly musí zůstat v 0:00 a čas začátku poslední kapitoly nesmí překročit tuto dobu trvání audioknihy.", "NoteChapterEditorTimes": "Poznámka: Čas začátku první kapitoly musí zůstat na 0:00 a čas začátku poslední kapitoly nesmí překročit dobu trvání audioknihy.",
"NoteFolderPicker": "Poznámka: složky, které jsou již namapovány, nebudou zobrazeny", "NoteFolderPicker": "Poznámka: složky, které jsou již namapovány, nebudou zobrazeny",
"NoteRSSFeedPodcastAppsHttps": "Upozornění: Většina aplikací pro podcasty bude vyžadovat, aby adresa URL kanálu RSS používala protokol HTTPS", "NoteRSSFeedPodcastAppsHttps": "Upozornění: Většina aplikací pro podcasty bude vyžadovat, aby adresa URL kanálu RSS používala protokol HTTPS",
"NoteRSSFeedPodcastAppsPubDate": "Upozornění: 1 nebo více epizod nemá datum vydání. Některé podcastové aplikace to vyžadují.", "NoteRSSFeedPodcastAppsPubDate": "Upozornění: 1 nebo více epizod nemá datum vydání. Některé podcastové aplikace to vyžadují.",
@@ -752,8 +822,10 @@
"PlaceholderSearchEpisode": "Hledat epizodu..", "PlaceholderSearchEpisode": "Hledat epizodu..",
"StatsAuthorsAdded": "autoři přidáni", "StatsAuthorsAdded": "autoři přidáni",
"StatsBooksAdded": "knihy přidány", "StatsBooksAdded": "knihy přidány",
"StatsBooksAdditional": "Některé další zahrnují…",
"StatsBooksFinished": "dokončené knihy", "StatsBooksFinished": "dokončené knihy",
"StatsBooksFinishedThisYear": "Některé knihy dokončené tento rok…", "StatsBooksFinishedThisYear": "Některé knihy dokončené tento rok…",
"StatsCollectionGrewTo": "Vaše kolekce knih se rozrostla na…",
"StatsSessions": "sezení", "StatsSessions": "sezení",
"StatsSpentListening": "stráveno posloucháním", "StatsSpentListening": "stráveno posloucháním",
"StatsTopAuthor": "TOP AUTOR", "StatsTopAuthor": "TOP AUTOR",
@@ -763,59 +835,75 @@
"StatsTopMonth": "TOP MĚSÍC", "StatsTopMonth": "TOP MĚSÍC",
"StatsTotalDuration": "S celkovou dobou…", "StatsTotalDuration": "S celkovou dobou…",
"StatsYearInReview": "ROK V PŘEHLEDU", "StatsYearInReview": "ROK V PŘEHLEDU",
"ToastAccountUpdateFailed": "Aktualizace účtu se nezdařila",
"ToastAccountUpdateSuccess": "Účet aktualizován", "ToastAccountUpdateSuccess": "Účet aktualizován",
"ToastAppriseUrlRequired": "Je nutné zadat Apprise URL",
"ToastAuthorImageRemoveSuccess": "Obrázek autora odstraněn", "ToastAuthorImageRemoveSuccess": "Obrázek autora odstraněn",
"ToastAuthorUpdateFailed": "Aktualizace autora se nezdařila", "ToastAuthorNotFound": "Author \"{0}\" nenalezen",
"ToastAuthorRemoveSuccess": "Autor odstraněn",
"ToastAuthorSearchNotFound": "Autor nenalezen",
"ToastAuthorUpdateMerged": "Autor sloučen", "ToastAuthorUpdateMerged": "Autor sloučen",
"ToastAuthorUpdateSuccess": "Autor aktualizován", "ToastAuthorUpdateSuccess": "Autor aktualizován",
"ToastAuthorUpdateSuccessNoImageFound": "Autor aktualizován (nebyl nalezen žádný obrázek)", "ToastAuthorUpdateSuccessNoImageFound": "Autor aktualizován (nebyl nalezen žádný obrázek)",
"ToastBackupAppliedSuccess": "Záloha obnovena",
"ToastBackupCreateFailed": "Vytvoření zálohy se nezdařilo", "ToastBackupCreateFailed": "Vytvoření zálohy se nezdařilo",
"ToastBackupCreateSuccess": "Záloha vytvořena", "ToastBackupCreateSuccess": "Záloha vytvořena",
"ToastBackupDeleteFailed": "Nepodařilo se smazat zálohu", "ToastBackupDeleteFailed": "Nepodařilo se smazat zálohu",
"ToastBackupDeleteSuccess": "Záloha smazána", "ToastBackupDeleteSuccess": "Záloha smazána",
"ToastBackupInvalidMaxKeep": "Neplatný počet záloh k zachování",
"ToastBackupInvalidMaxSize": "Neplatná maximální velikost zálohy",
"ToastBackupRestoreFailed": "Nepodařilo se obnovit zálohu", "ToastBackupRestoreFailed": "Nepodařilo se obnovit zálohu",
"ToastBackupUploadFailed": "Nepodařilo se nahrát zálohu", "ToastBackupUploadFailed": "Nepodařilo se nahrát zálohu",
"ToastBackupUploadSuccess": "Záloha nahrána", "ToastBackupUploadSuccess": "Záloha nahrána",
"ToastBatchDeleteFailed": "Hromadné smazání selhalo",
"ToastBatchDeleteSuccess": "Hromadné smazání proběhlo úspěšně",
"ToastBatchUpdateFailed": "Dávková aktualizace se nezdařila", "ToastBatchUpdateFailed": "Dávková aktualizace se nezdařila",
"ToastBatchUpdateSuccess": "Dávková aktualizace proběhla úspěšně", "ToastBatchUpdateSuccess": "Dávková aktualizace proběhla úspěšně",
"ToastBookmarkCreateFailed": "Vytvoření záložky se nezdařilo", "ToastBookmarkCreateFailed": "Vytvoření záložky se nezdařilo",
"ToastBookmarkCreateSuccess": "Přidána záložka", "ToastBookmarkCreateSuccess": "Přidána záložka",
"ToastBookmarkRemoveSuccess": "Záložka odstraněna", "ToastBookmarkRemoveSuccess": "Záložka odstraněna",
"ToastBookmarkUpdateFailed": "Aktualizace záložky se nezdařila",
"ToastBookmarkUpdateSuccess": "Záložka aktualizována", "ToastBookmarkUpdateSuccess": "Záložka aktualizována",
"ToastCachePurgeFailed": "Nepodařilo se vyčistit mezipaměť", "ToastCachePurgeFailed": "Nepodařilo se vyčistit mezipaměť",
"ToastCachePurgeSuccess": "Vyrovnávací paměť úspěšně vyčištěna", "ToastCachePurgeSuccess": "Vyrovnávací paměť úspěšně vyčištěna",
"ToastChaptersHaveErrors": "Kapitoly obsahují chyby", "ToastChaptersHaveErrors": "Kapitoly obsahují chyby",
"ToastChaptersMustHaveTitles": "Kapitoly musí mít názvy", "ToastChaptersMustHaveTitles": "Kapitoly musí mít názvy",
"ToastChaptersRemoved": "Kapitoly odstraněny",
"ToastCollectionItemsRemoveSuccess": "Položky odstraněny z kolekce", "ToastCollectionItemsRemoveSuccess": "Položky odstraněny z kolekce",
"ToastCollectionRemoveSuccess": "Kolekce odstraněna", "ToastCollectionRemoveSuccess": "Kolekce odstraněna",
"ToastCollectionUpdateFailed": "Aktualizace kolekce se nezdařila",
"ToastCollectionUpdateSuccess": "Kolekce aktualizována", "ToastCollectionUpdateSuccess": "Kolekce aktualizována",
"ToastCoverUpdateFailed": "Aktualizace obálky selhala",
"ToastDeleteFileFailed": "Nepodařilo se smazat soubor", "ToastDeleteFileFailed": "Nepodařilo se smazat soubor",
"ToastDeleteFileSuccess": "Soubor smazán", "ToastDeleteFileSuccess": "Soubor smazán",
"ToastDeviceAddFailed": "Přidání zařízení selhalo",
"ToastDeviceNameAlreadyExists": "Zařízení se stejným jménem již existuje",
"ToastDeviceTestEmailFailed": "Odeslání testovacího emailu selhalo",
"ToastDeviceTestEmailSuccess": "Testovací email byl odeslán",
"ToastEmailSettingsUpdateSuccess": "Nastavení emailu aktualizována",
"ToastEpisodeDownloadQueueClearFailed": "Vyčištění fronty selhalo",
"ToastErrorCannotShare": "Na tomto zařízení nelze nativně sdílet", "ToastErrorCannotShare": "Na tomto zařízení nelze nativně sdílet",
"ToastFailedToLoadData": "Nepodařilo se načíst data", "ToastFailedToLoadData": "Nepodařilo se načíst data",
"ToastItemCoverUpdateFailed": "Aktualizace obálky se nezdařila", "ToastFailedToShare": "Sdílení selhalo",
"ToastFailedToUpdate": "Aktualizace selhala",
"ToastInvalidImageUrl": "Neplatná URL obrázku",
"ToastInvalidUrl": "Neplatná URL",
"ToastItemCoverUpdateSuccess": "Obálka předmětu byl aktualizována", "ToastItemCoverUpdateSuccess": "Obálka předmětu byl aktualizována",
"ToastItemDetailsUpdateFailed": "Nepodařilo se aktualizovat podrobnosti o položce", "ToastItemDeletedFailed": "Smazání položky selhalo",
"ToastItemDeletedSuccess": "Položka smazána",
"ToastItemDetailsUpdateSuccess": "Podrobnosti o položce byly aktualizovány", "ToastItemDetailsUpdateSuccess": "Podrobnosti o položce byly aktualizovány",
"ToastItemMarkedAsFinishedFailed": "Nepodařilo se označit jako dokončené", "ToastItemMarkedAsFinishedFailed": "Nepodařilo se označit jako dokončené",
"ToastItemMarkedAsFinishedSuccess": "Položka označena jako dokončená", "ToastItemMarkedAsFinishedSuccess": "Položka označena jako dokončená",
"ToastItemMarkedAsNotFinishedFailed": "Nepodařilo se označit jako nedokončené", "ToastItemMarkedAsNotFinishedFailed": "Nepodařilo se označit jako nedokončené",
"ToastItemMarkedAsNotFinishedSuccess": "Položka označena jako nedokončená", "ToastItemMarkedAsNotFinishedSuccess": "Položka označena jako nedokončená",
"ToastItemUpdateSuccess": "Položka aktualizována",
"ToastLibraryCreateFailed": "Vytvoření knihovny se nezdařilo", "ToastLibraryCreateFailed": "Vytvoření knihovny se nezdařilo",
"ToastLibraryCreateSuccess": "Knihovna \"{0}\" vytvořena", "ToastLibraryCreateSuccess": "Knihovna \"{0}\" vytvořena",
"ToastLibraryDeleteFailed": "Nepodařilo se smazat knihovnu", "ToastLibraryDeleteFailed": "Nepodařilo se smazat knihovnu",
"ToastLibraryDeleteSuccess": "Knihovna smazána", "ToastLibraryDeleteSuccess": "Knihovna smazána",
"ToastLibraryScanFailedToStart": "Nepodařilo se spustit kontrolu", "ToastLibraryScanFailedToStart": "Nepodařilo se spustit kontrolu",
"ToastLibraryScanStarted": "Kontrola knihovny spuštěna", "ToastLibraryScanStarted": "Kontrola knihovny spuštěna",
"ToastLibraryUpdateFailed": "Aktualizace knihovny se nezdařila",
"ToastLibraryUpdateSuccess": "Knihovna \"{0}\" aktualizována", "ToastLibraryUpdateSuccess": "Knihovna \"{0}\" aktualizována",
"ToastPlaylistCreateFailed": "Vytvoření seznamu přehrávání se nezdařilo", "ToastPlaylistCreateFailed": "Vytvoření seznamu přehrávání se nezdařilo",
"ToastPlaylistCreateSuccess": "Seznam přehrávání vytvořen", "ToastPlaylistCreateSuccess": "Seznam přehrávání vytvořen",
"ToastPlaylistRemoveSuccess": "Seznam přehrávání odstraněn", "ToastPlaylistRemoveSuccess": "Seznam přehrávání odstraněn",
"ToastPlaylistUpdateFailed": "Aktualizace seznamu přehrávání se nezdařila",
"ToastPlaylistUpdateSuccess": "Seznam přehrávání aktualizován", "ToastPlaylistUpdateSuccess": "Seznam přehrávání aktualizován",
"ToastPodcastCreateFailed": "Vytvoření podcastu se nezdařilo", "ToastPodcastCreateFailed": "Vytvoření podcastu se nezdařilo",
"ToastPodcastCreateSuccess": "Podcast byl úspěšně vytvořen", "ToastPodcastCreateSuccess": "Podcast byl úspěšně vytvořen",
@@ -827,7 +915,6 @@
"ToastSendEbookToDeviceSuccess": "E-kniha odeslána do zařízení \"{0}\"", "ToastSendEbookToDeviceSuccess": "E-kniha odeslána do zařízení \"{0}\"",
"ToastSeriesUpdateFailed": "Aktualizace série se nezdařila", "ToastSeriesUpdateFailed": "Aktualizace série se nezdařila",
"ToastSeriesUpdateSuccess": "Aktualizace série byla úspěšná", "ToastSeriesUpdateSuccess": "Aktualizace série byla úspěšná",
"ToastServerSettingsUpdateFailed": "Nepodařilo se aktualizovat nastavení serveru",
"ToastServerSettingsUpdateSuccess": "Nastavení serveru aktualizováno", "ToastServerSettingsUpdateSuccess": "Nastavení serveru aktualizováno",
"ToastSessionDeleteFailed": "Nepodařilo se smazat relaci", "ToastSessionDeleteFailed": "Nepodařilo se smazat relaci",
"ToastSessionDeleteSuccess": "Relace smazána", "ToastSessionDeleteSuccess": "Relace smazána",
@@ -835,7 +922,6 @@
"ToastSocketDisconnected": "Socket odpojen", "ToastSocketDisconnected": "Socket odpojen",
"ToastSocketFailedToConnect": "Socket se nepodařilo připojit", "ToastSocketFailedToConnect": "Socket se nepodařilo připojit",
"ToastSortingPrefixesEmptyError": "Musí mít alespoň 1 třídicí předponu", "ToastSortingPrefixesEmptyError": "Musí mít alespoň 1 třídicí předponu",
"ToastSortingPrefixesUpdateFailed": "Nepodařilo se aktualizovat třídicí předpony",
"ToastSortingPrefixesUpdateSuccess": "Aktualizovány předpony třídění ({0} položek)", "ToastSortingPrefixesUpdateSuccess": "Aktualizovány předpony třídění ({0} položek)",
"ToastUserDeleteFailed": "Nepodařilo se smazat uživatele", "ToastUserDeleteFailed": "Nepodařilo se smazat uživatele",
"ToastUserDeleteSuccess": "Uživatel smazán" "ToastUserDeleteSuccess": "Uživatel smazán"
+20 -15
View File
@@ -1,7 +1,10 @@
{ {
"ButtonAdd": "Tilføj", "ButtonAdd": "Tilføj",
"ButtonAddChapters": "Tilføj kapitler", "ButtonAddChapters": "Tilføj kapitler",
"ButtonAddDevice": "Tilføj enhed",
"ButtonAddLibrary": "Tilføj Bibliotek",
"ButtonAddPodcasts": "Tilføj podcasts", "ButtonAddPodcasts": "Tilføj podcasts",
"ButtonAddUser": "Tilføj bruger",
"ButtonAddYourFirstLibrary": "Tilføj din første bibliotek", "ButtonAddYourFirstLibrary": "Tilføj din første bibliotek",
"ButtonApply": "Anvend", "ButtonApply": "Anvend",
"ButtonApplyChapters": "Anvend kapitler", "ButtonApplyChapters": "Anvend kapitler",
@@ -25,6 +28,7 @@
"ButtonEdit": "Rediger", "ButtonEdit": "Rediger",
"ButtonEditChapters": "Rediger kapitler", "ButtonEditChapters": "Rediger kapitler",
"ButtonEditPodcast": "Rediger podcast", "ButtonEditPodcast": "Rediger podcast",
"ButtonEnable": "Aktiver",
"ButtonForceReScan": "Tvungen genindlæsning", "ButtonForceReScan": "Tvungen genindlæsning",
"ButtonFullPath": "Fuld sti", "ButtonFullPath": "Fuld sti",
"ButtonHide": "Skjul", "ButtonHide": "Skjul",
@@ -42,6 +46,7 @@
"ButtonOk": "OK", "ButtonOk": "OK",
"ButtonOpenFeed": "Åbn feed", "ButtonOpenFeed": "Åbn feed",
"ButtonOpenManager": "Åbn manager", "ButtonOpenManager": "Åbn manager",
"ButtonPause": "Pause",
"ButtonPlay": "Afspil", "ButtonPlay": "Afspil",
"ButtonPlaying": "Afspiller", "ButtonPlaying": "Afspiller",
"ButtonPlaylists": "Afspilningslister", "ButtonPlaylists": "Afspilningslister",
@@ -66,7 +71,7 @@
"ButtonScanLibrary": "Scan Bibliotek", "ButtonScanLibrary": "Scan Bibliotek",
"ButtonSearch": "Søg", "ButtonSearch": "Søg",
"ButtonSelectFolderPath": "Vælg Mappen Sti", "ButtonSelectFolderPath": "Vælg Mappen Sti",
"ButtonSeries": "Serie", "ButtonSeries": "Serier",
"ButtonSetChaptersFromTracks": "Sæt kapitler fra spor", "ButtonSetChaptersFromTracks": "Sæt kapitler fra spor",
"ButtonShiftTimes": "Skift Tider", "ButtonShiftTimes": "Skift Tider",
"ButtonShow": "Vis", "ButtonShow": "Vis",
@@ -188,14 +193,14 @@
"LabelChapters": "Kapitler", "LabelChapters": "Kapitler",
"LabelChaptersFound": "fundne kapitler", "LabelChaptersFound": "fundne kapitler",
"LabelClosePlayer": "Luk afspiller", "LabelClosePlayer": "Luk afspiller",
"LabelCollapseSeries": "Fold Serie Sammen", "LabelCollapseSeries": "Fold Serier Sammen",
"LabelCollection": "Samling", "LabelCollection": "Samling",
"LabelCollections": "Samlinger", "LabelCollections": "Samlinger",
"LabelComplete": "Fuldfør", "LabelComplete": "Fuldfør",
"LabelConfirmPassword": "Bekræft Adgangskode", "LabelConfirmPassword": "Bekræft Adgangskode",
"LabelContinueListening": "Fortsæt Lytning", "LabelContinueListening": "Fortsæt med at lytte",
"LabelContinueReading": "Fortsæt Læsning", "LabelContinueReading": "Fortsæt med at læse",
"LabelContinueSeries": "Fortsæt Serie", "LabelContinueSeries": "Fortsæt Serien",
"LabelCover": "Omslag", "LabelCover": "Omslag",
"LabelCoverImageURL": "Omslagsbillede URL", "LabelCoverImageURL": "Omslagsbillede URL",
"LabelCreatedAt": "Oprettet Kl.", "LabelCreatedAt": "Oprettet Kl.",
@@ -212,6 +217,7 @@
"LabelDiscFromFilename": "Disk fra Filnavn", "LabelDiscFromFilename": "Disk fra Filnavn",
"LabelDiscFromMetadata": "Disk fra Metadata", "LabelDiscFromMetadata": "Disk fra Metadata",
"LabelDiscover": "Opdag", "LabelDiscover": "Opdag",
"LabelDownload": "Download",
"LabelDownloadNEpisodes": "Download {0} episoder", "LabelDownloadNEpisodes": "Download {0} episoder",
"LabelDuration": "Varighed", "LabelDuration": "Varighed",
"LabelDurationFound": "Fundet varighed:", "LabelDurationFound": "Fundet varighed:",
@@ -225,12 +231,15 @@
"LabelEmbeddedCover": "Indlejret Omslag", "LabelEmbeddedCover": "Indlejret Omslag",
"LabelEnable": "Aktivér", "LabelEnable": "Aktivér",
"LabelEnd": "Slut", "LabelEnd": "Slut",
"LabelEndOfChapter": "Slutningen af kapitel",
"LabelEpisode": "Episode",
"LabelEpisodeTitle": "Episodetitel", "LabelEpisodeTitle": "Episodetitel",
"LabelEpisodeType": "Episodetype", "LabelEpisodeType": "Episodetype",
"LabelExample": "Eksempel", "LabelExample": "Eksempel",
"LabelExplicit": "Eksplisit", "LabelExplicit": "Eksplisit",
"LabelFeedURL": "Feed URL",
"LabelFile": "Fil", "LabelFile": "Fil",
"LabelFileBirthtime": "Fødselstidspunkt for fil", "LabelFileBirthtime": "Oprettelsestidspunkt for fil",
"LabelFileModified": "Fil ændret", "LabelFileModified": "Fil ændret",
"LabelFilename": "Filnavn", "LabelFilename": "Filnavn",
"LabelFilterByUser": "Filtrér efter bruger", "LabelFilterByUser": "Filtrér efter bruger",
@@ -238,8 +247,10 @@
"LabelFinished": "Færdig", "LabelFinished": "Færdig",
"LabelFolder": "Mappe", "LabelFolder": "Mappe",
"LabelFolders": "Mapper", "LabelFolders": "Mapper",
"LabelFontBoldness": "Skrift tykkelse",
"LabelFontFamily": "Fontfamilie", "LabelFontFamily": "Fontfamilie",
"LabelFontScale": "Skriftstørrelse", "LabelFontScale": "Skriftstørrelse",
"LabelGenre": "Genre",
"LabelGenres": "Genrer", "LabelGenres": "Genrer",
"LabelHardDeleteFile": "Permanent slet fil", "LabelHardDeleteFile": "Permanent slet fil",
"LabelHasEbook": "Har e-bog", "LabelHasEbook": "Har e-bog",
@@ -267,6 +278,7 @@
"LabelLastSeen": "Sidst set", "LabelLastSeen": "Sidst set",
"LabelLastTime": "Sidste gang", "LabelLastTime": "Sidste gang",
"LabelLastUpdate": "Seneste opdatering", "LabelLastUpdate": "Seneste opdatering",
"LabelLayout": "Layout",
"LabelLayoutSinglePage": "Enkeltside", "LabelLayoutSinglePage": "Enkeltside",
"LabelLayoutSplitPage": "Opdelt side", "LabelLayoutSplitPage": "Opdelt side",
"LabelLess": "Mindre", "LabelLess": "Mindre",
@@ -344,10 +356,11 @@
"LabelRSSFeedPreventIndexing": "Forhindrer indeksering", "LabelRSSFeedPreventIndexing": "Forhindrer indeksering",
"LabelRSSFeedSlug": "RSS-feed-slug", "LabelRSSFeedSlug": "RSS-feed-slug",
"LabelRSSFeedURL": "RSS-feed-URL", "LabelRSSFeedURL": "RSS-feed-URL",
"LabelRandomly": "Tilfældigt",
"LabelRead": "Læst", "LabelRead": "Læst",
"LabelReadAgain": "Læs igen", "LabelReadAgain": "Læs igen",
"LabelReadEbookWithoutProgress": "Læs e-bog uden at følge fremskridt", "LabelReadEbookWithoutProgress": "Læs e-bog uden at følge fremskridt",
"LabelRecentSeries": "Seneste serie", "LabelRecentSeries": "Seneste serier",
"LabelRecentlyAdded": "Senest tilføjet", "LabelRecentlyAdded": "Senest tilføjet",
"LabelRecommended": "Anbefalet", "LabelRecommended": "Anbefalet",
"LabelReleaseDate": "Udgivelsesdato", "LabelReleaseDate": "Udgivelsesdato",
@@ -604,10 +617,8 @@
"PlaceholderNewPlaylist": "Nyt afspilningslistnavn", "PlaceholderNewPlaylist": "Nyt afspilningslistnavn",
"PlaceholderSearch": "Søg..", "PlaceholderSearch": "Søg..",
"PlaceholderSearchEpisode": "Søg efter episode..", "PlaceholderSearchEpisode": "Søg efter episode..",
"ToastAccountUpdateFailed": "Mislykkedes opdatering af konto",
"ToastAccountUpdateSuccess": "Konto opdateret", "ToastAccountUpdateSuccess": "Konto opdateret",
"ToastAuthorImageRemoveSuccess": "Forfatterbillede fjernet", "ToastAuthorImageRemoveSuccess": "Forfatterbillede fjernet",
"ToastAuthorUpdateFailed": "Mislykkedes opdatering af forfatter",
"ToastAuthorUpdateMerged": "Forfatter fusioneret", "ToastAuthorUpdateMerged": "Forfatter fusioneret",
"ToastAuthorUpdateSuccess": "Forfatter opdateret", "ToastAuthorUpdateSuccess": "Forfatter opdateret",
"ToastAuthorUpdateSuccessNoImageFound": "Forfatter opdateret (ingen billede fundet)", "ToastAuthorUpdateSuccessNoImageFound": "Forfatter opdateret (ingen billede fundet)",
@@ -623,17 +634,13 @@
"ToastBookmarkCreateFailed": "Mislykkedes oprettelse af bogmærke", "ToastBookmarkCreateFailed": "Mislykkedes oprettelse af bogmærke",
"ToastBookmarkCreateSuccess": "Bogmærke tilføjet", "ToastBookmarkCreateSuccess": "Bogmærke tilføjet",
"ToastBookmarkRemoveSuccess": "Bogmærke fjernet", "ToastBookmarkRemoveSuccess": "Bogmærke fjernet",
"ToastBookmarkUpdateFailed": "Mislykkedes opdatering af bogmærke",
"ToastBookmarkUpdateSuccess": "Bogmærke opdateret", "ToastBookmarkUpdateSuccess": "Bogmærke opdateret",
"ToastChaptersHaveErrors": "Kapitler har fejl", "ToastChaptersHaveErrors": "Kapitler har fejl",
"ToastChaptersMustHaveTitles": "Kapitler skal have titler", "ToastChaptersMustHaveTitles": "Kapitler skal have titler",
"ToastCollectionItemsRemoveSuccess": "Element(er) fjernet fra samlingen", "ToastCollectionItemsRemoveSuccess": "Element(er) fjernet fra samlingen",
"ToastCollectionRemoveSuccess": "Samling fjernet", "ToastCollectionRemoveSuccess": "Samling fjernet",
"ToastCollectionUpdateFailed": "Mislykkedes opdatering af samling",
"ToastCollectionUpdateSuccess": "Samling opdateret", "ToastCollectionUpdateSuccess": "Samling opdateret",
"ToastItemCoverUpdateFailed": "Mislykkedes opdatering af varens omslag",
"ToastItemCoverUpdateSuccess": "Varens omslag opdateret", "ToastItemCoverUpdateSuccess": "Varens omslag opdateret",
"ToastItemDetailsUpdateFailed": "Mislykkedes opdatering af varedetaljer",
"ToastItemDetailsUpdateSuccess": "Varedetaljer opdateret", "ToastItemDetailsUpdateSuccess": "Varedetaljer opdateret",
"ToastItemMarkedAsFinishedFailed": "Mislykkedes markering som afsluttet", "ToastItemMarkedAsFinishedFailed": "Mislykkedes markering som afsluttet",
"ToastItemMarkedAsFinishedSuccess": "Vare markeret som afsluttet", "ToastItemMarkedAsFinishedSuccess": "Vare markeret som afsluttet",
@@ -645,12 +652,10 @@
"ToastLibraryDeleteSuccess": "Bibliotek slettet", "ToastLibraryDeleteSuccess": "Bibliotek slettet",
"ToastLibraryScanFailedToStart": "Mislykkedes start af skanning", "ToastLibraryScanFailedToStart": "Mislykkedes start af skanning",
"ToastLibraryScanStarted": "Biblioteksskanning startet", "ToastLibraryScanStarted": "Biblioteksskanning startet",
"ToastLibraryUpdateFailed": "Mislykkedes opdatering af bibliotek",
"ToastLibraryUpdateSuccess": "Bibliotek \"{0}\" opdateret", "ToastLibraryUpdateSuccess": "Bibliotek \"{0}\" opdateret",
"ToastPlaylistCreateFailed": "Mislykkedes oprettelse af afspilningsliste", "ToastPlaylistCreateFailed": "Mislykkedes oprettelse af afspilningsliste",
"ToastPlaylistCreateSuccess": "Afspilningsliste oprettet", "ToastPlaylistCreateSuccess": "Afspilningsliste oprettet",
"ToastPlaylistRemoveSuccess": "Afspilningsliste fjernet", "ToastPlaylistRemoveSuccess": "Afspilningsliste fjernet",
"ToastPlaylistUpdateFailed": "Mislykkedes opdatering af afspilningsliste",
"ToastPlaylistUpdateSuccess": "Afspilningsliste opdateret", "ToastPlaylistUpdateSuccess": "Afspilningsliste opdateret",
"ToastPodcastCreateFailed": "Mislykkedes oprettelse af podcast", "ToastPodcastCreateFailed": "Mislykkedes oprettelse af podcast",
"ToastPodcastCreateSuccess": "Podcast oprettet med succes", "ToastPodcastCreateSuccess": "Podcast oprettet med succes",
+95 -58
View File
@@ -19,7 +19,7 @@
"ButtonChooseFiles": "Wähle eine Datei", "ButtonChooseFiles": "Wähle eine Datei",
"ButtonClearFilter": "Filter löschen", "ButtonClearFilter": "Filter löschen",
"ButtonCloseFeed": "Feed schließen", "ButtonCloseFeed": "Feed schließen",
"ButtonCloseSession": "Offene Session schließen", "ButtonCloseSession": "Offene Sitzung schließen",
"ButtonCollections": "Sammlungen", "ButtonCollections": "Sammlungen",
"ButtonConfigureScanner": "Scannereinstellungen", "ButtonConfigureScanner": "Scannereinstellungen",
"ButtonCreate": "Erstellen", "ButtonCreate": "Erstellen",
@@ -51,11 +51,12 @@
"ButtonNext": "Vor", "ButtonNext": "Vor",
"ButtonNextChapter": "Nächstes Kapitel", "ButtonNextChapter": "Nächstes Kapitel",
"ButtonNextItemInQueue": "Das nächste Element in der Warteschlange", "ButtonNextItemInQueue": "Das nächste Element in der Warteschlange",
"ButtonOk": "Ok", "ButtonOk": "OK",
"ButtonOpenFeed": "Feed öffnen", "ButtonOpenFeed": "Feed öffnen",
"ButtonOpenManager": "Manager öffnen", "ButtonOpenManager": "Manager öffnen",
"ButtonPause": "Pausieren", "ButtonPause": "Pausieren",
"ButtonPlay": "Abspielen", "ButtonPlay": "Abspielen",
"ButtonPlayAll": "Alles abspielen",
"ButtonPlaying": "Spielt", "ButtonPlaying": "Spielt",
"ButtonPlaylists": "Wiedergabelisten", "ButtonPlaylists": "Wiedergabelisten",
"ButtonPrevious": "Zurück", "ButtonPrevious": "Zurück",
@@ -65,6 +66,7 @@
"ButtonPurgeItemsCache": "Lösche Medien-Cache", "ButtonPurgeItemsCache": "Lösche Medien-Cache",
"ButtonQueueAddItem": "Zur Warteschlange hinzufügen", "ButtonQueueAddItem": "Zur Warteschlange hinzufügen",
"ButtonQueueRemoveItem": "Aus der Warteschlange entfernen", "ButtonQueueRemoveItem": "Aus der Warteschlange entfernen",
"ButtonQuickEmbed": "Schnelles Hinzufügen",
"ButtonQuickEmbedMetadata": "Schnelles Hinzufügen von Metadaten", "ButtonQuickEmbedMetadata": "Schnelles Hinzufügen von Metadaten",
"ButtonQuickMatch": "Schnellabgleich", "ButtonQuickMatch": "Schnellabgleich",
"ButtonReScan": "Neu scannen", "ButtonReScan": "Neu scannen",
@@ -115,7 +117,7 @@
"HeaderAdvanced": "Erweitert", "HeaderAdvanced": "Erweitert",
"HeaderAppriseNotificationSettings": "Apprise Benachrichtigungseinstellungen", "HeaderAppriseNotificationSettings": "Apprise Benachrichtigungseinstellungen",
"HeaderAudioTracks": "Audiodateien", "HeaderAudioTracks": "Audiodateien",
"HeaderAudiobookTools": "Hörbuch-Dateiverwaltungstools", "HeaderAudiobookTools": "Hörbuch-Dateiverwaltungswerkzeuge",
"HeaderAuthentication": "Authentifizierung", "HeaderAuthentication": "Authentifizierung",
"HeaderBackups": "Sicherungen", "HeaderBackups": "Sicherungen",
"HeaderChangePassword": "Passwort ändern", "HeaderChangePassword": "Passwort ändern",
@@ -125,13 +127,13 @@
"HeaderCollectionItems": "Sammlungseinträge", "HeaderCollectionItems": "Sammlungseinträge",
"HeaderCover": "Titelbild", "HeaderCover": "Titelbild",
"HeaderCurrentDownloads": "Aktuelle Downloads", "HeaderCurrentDownloads": "Aktuelle Downloads",
"HeaderCustomMessageOnLogin": "Benutzerdefinierte Nachricht für den Login", "HeaderCustomMessageOnLogin": "Benutzerdefinierte Nachricht für die Anmeldung",
"HeaderCustomMetadataProviders": "Benutzerdefinierte Metadata Anbieter", "HeaderCustomMetadataProviders": "Benutzerdefinierte Metadatenanbieter",
"HeaderDetails": "Details", "HeaderDetails": "Details",
"HeaderDownloadQueue": "Download Warteschlange", "HeaderDownloadQueue": "Download Warteschlange",
"HeaderEbookFiles": "E-Buch-Dateien", "HeaderEbookFiles": "E-Buch-Dateien",
"HeaderEmail": "Email", "HeaderEmail": "E-Mail",
"HeaderEmailSettings": "Email Einstellungen", "HeaderEmailSettings": "E-Mail-Einstellungen",
"HeaderEpisodes": "Episoden", "HeaderEpisodes": "Episoden",
"HeaderEreaderDevices": "E-Reader Geräte", "HeaderEreaderDevices": "E-Reader Geräte",
"HeaderEreaderSettings": "Einstellungen zum Lesen", "HeaderEreaderSettings": "Einstellungen zum Lesen",
@@ -158,12 +160,12 @@
"HeaderNewAccount": "Neues Konto", "HeaderNewAccount": "Neues Konto",
"HeaderNewLibrary": "Neue Bibliothek", "HeaderNewLibrary": "Neue Bibliothek",
"HeaderNotificationCreate": "Benachrichtigung erstellen", "HeaderNotificationCreate": "Benachrichtigung erstellen",
"HeaderNotificationUpdate": "Benachrichtigung updaten", "HeaderNotificationUpdate": "Benachrichtigung bearbeiten",
"HeaderNotifications": "Benachrichtigungen", "HeaderNotifications": "Benachrichtigungen",
"HeaderOpenIDConnectAuthentication": "OpenID Connect Authentifizierung", "HeaderOpenIDConnectAuthentication": "OpenID Connect Authentifizierung",
"HeaderOpenRSSFeed": "RSS-Feed öffnen", "HeaderOpenRSSFeed": "RSS-Feed öffnen",
"HeaderOtherFiles": "Sonstige Dateien", "HeaderOtherFiles": "Sonstige Dateien",
"HeaderPasswordAuthentication": "Passwort Authentifizierung", "HeaderPasswordAuthentication": "Passwortauthentifizierung",
"HeaderPermissions": "Berechtigungen", "HeaderPermissions": "Berechtigungen",
"HeaderPlayerQueue": "Player Warteschlange", "HeaderPlayerQueue": "Player Warteschlange",
"HeaderPlayerSettings": "Player Einstellungen", "HeaderPlayerSettings": "Player Einstellungen",
@@ -224,6 +226,9 @@
"LabelAllUsersIncludingGuests": "Alle Benutzer und Gäste", "LabelAllUsersIncludingGuests": "Alle Benutzer und Gäste",
"LabelAlreadyInYourLibrary": "Bereits in der Bibliothek", "LabelAlreadyInYourLibrary": "Bereits in der Bibliothek",
"LabelAppend": "Anhängen", "LabelAppend": "Anhängen",
"LabelAudioBitrate": "Audiobitrate (z. B. 128 kbit/s)",
"LabelAudioChannels": "Audiokanäle (1 oder 2)",
"LabelAudioCodec": "Audiocodec",
"LabelAuthor": "Autor", "LabelAuthor": "Autor",
"LabelAuthorFirstLast": "Autor (Vorname Nachname)", "LabelAuthorFirstLast": "Autor (Vorname Nachname)",
"LabelAuthorLastFirst": "Autor (Nachname, Vorname)", "LabelAuthorLastFirst": "Autor (Nachname, Vorname)",
@@ -236,6 +241,7 @@
"LabelAutoRegister": "Automatische Registrierung", "LabelAutoRegister": "Automatische Registrierung",
"LabelAutoRegisterDescription": "Automatische neue Neutzer anlegen nach dem Registrieren", "LabelAutoRegisterDescription": "Automatische neue Neutzer anlegen nach dem Registrieren",
"LabelBackToUser": "Zurück zum Benutzer", "LabelBackToUser": "Zurück zum Benutzer",
"LabelBackupAudioFiles": "Audio-Dateien sichern",
"LabelBackupLocation": "Backup-Ort", "LabelBackupLocation": "Backup-Ort",
"LabelBackupsEnableAutomaticBackups": "Automatische Sicherung aktivieren", "LabelBackupsEnableAutomaticBackups": "Automatische Sicherung aktivieren",
"LabelBackupsEnableAutomaticBackupsHelp": "Backups werden in /metadata/backups gespeichert", "LabelBackupsEnableAutomaticBackupsHelp": "Backups werden in /metadata/backups gespeichert",
@@ -245,7 +251,7 @@
"LabelBackupsNumberToKeepHelp": "Es wird immer nur 1 Sicherung auf einmal entfernt. Wenn du bereits mehrere Sicherungen als die definierte max. Anzahl hast, solltest du diese manuell entfernen.", "LabelBackupsNumberToKeepHelp": "Es wird immer nur 1 Sicherung auf einmal entfernt. Wenn du bereits mehrere Sicherungen als die definierte max. Anzahl hast, solltest du diese manuell entfernen.",
"LabelBitrate": "Bitrate", "LabelBitrate": "Bitrate",
"LabelBooks": "Bücher", "LabelBooks": "Bücher",
"LabelButtonText": "Button Text", "LabelButtonText": "Knopftext",
"LabelByAuthor": "von {0}", "LabelByAuthor": "von {0}",
"LabelChangePassword": "Passwort ändern", "LabelChangePassword": "Passwort ändern",
"LabelChannels": "Kanäle", "LabelChannels": "Kanäle",
@@ -293,15 +299,23 @@
"LabelEbook": "E-Buch", "LabelEbook": "E-Buch",
"LabelEbooks": "E-Bücher", "LabelEbooks": "E-Bücher",
"LabelEdit": "Bearbeiten", "LabelEdit": "Bearbeiten",
"LabelEmail": "Email", "LabelEmail": "E-Mail",
"LabelEmailSettingsFromAddress": "Von Adresse", "LabelEmailSettingsFromAddress": "Sender",
"LabelEmailSettingsRejectUnauthorized": "Nicht autorisierte Zertifikate ablehnen", "LabelEmailSettingsRejectUnauthorized": "Nicht autorisierte Zertifikate ablehnen",
"LabelEmailSettingsRejectUnauthorizedHelp": "Durch das Deaktivieren der SSL-Zertifikatsüberprüfung kann deine Verbindung Sicherheitsrisiken wie Man-in-the-Middle-Angriffen ausgesetzt sein. Deaktiviere diese Option nur, wenn due die Auswirkungen verstehst und dem Mailserver vertraust, mit dem eine Verbindung hergestellt wird.", "LabelEmailSettingsRejectUnauthorizedHelp": "Durch das Deaktivieren der SSL-Zertifikatsüberprüfung kann deine Verbindung Sicherheitsrisiken wie Man-in-the-Middle-Angriffen ausgesetzt sein. Deaktiviere diese Option nur, wenn due die Auswirkungen verstehst und dem E-Mail-Server vertraust, mit dem eine Verbindung hergestellt wird.",
"LabelEmailSettingsSecure": "Sicher", "LabelEmailSettingsSecure": "Sicher",
"LabelEmailSettingsSecureHelp": "Wenn \"an\", verwendet die Verbindung TLS, wenn du eine Verbindung zum Server herstellst. Bei \"aus\" wird TLS verwendet, wenn der Server die STARTTLS-Erweiterung unterstützt. In den meisten Fällen solltest du diesen Wert auf \"an\" schalten, wenn du eine Verbindung zu Port 465 herstellst. Für Port 587 oder 25 behalte den Wert \"aus\" bei. (von nodemailer.com/smtp/#authentication)", "LabelEmailSettingsSecureHelp": "Wenn an, verwendet die Verbindung TLS, wenn du eine Verbindung zum Server herstellst. Bei aus wird TLS verwendet, wenn der Server die STARTTLS-Erweiterung unterstützt. In den meisten Fällen solltest du diesen Wert auf „an“ schalten, wenn du eine Verbindung zu Port 465 herstellst. Für Port 587 oder 25 behalte den Wert aus bei. (von nodemailer.com/smtp/#authentication)",
"LabelEmailSettingsTestAddress": "Test Adresse", "LabelEmailSettingsTestAddress": "Test-Adresse",
"LabelEmbeddedCover": "Eingebettetes Cover", "LabelEmbeddedCover": "Eingebettetes Cover",
"LabelEnable": "Aktivieren", "LabelEnable": "Aktivieren",
"LabelEncodingBackupLocation": "Eine Sicherungskopie der originalen Audiodateien wird gespeichert in:",
"LabelEncodingChaptersNotEmbedded": "Kapitel sind in mehrspurigen Hörbüchern nicht eingebettet.",
"LabelEncodingClearItemCache": "Stelle sicher, dass der Cache regelmäßig geleert wird.",
"LabelEncodingFinishedM4B": "Die fertige M4B-Datei wird im Hörbuch-Ordner unter folgendem Pfad abgelegt:",
"LabelEncodingInfoEmbedded": "Metadaten werden in die Audiodateien innerhalb des Audiobook Ordners eingebunden.",
"LabelEncodingStartedNavigation": "Sobald die Aufgabe gestartet ist, kann die Seite verlassen werden.",
"LabelEncodingTimeWarning": "Kodierung kann bis zu 30 Minuten dauern.",
"LabelEncodingWarningAdvancedSettings": "Achtung: Ändere diese Einstellungen nur, wenn du dich mit ffmpeg Kodierung auskennst.",
"LabelEnd": "Ende", "LabelEnd": "Ende",
"LabelEndOfChapter": "Ende des Kapitels", "LabelEndOfChapter": "Ende des Kapitels",
"LabelEpisode": "Episode", "LabelEpisode": "Episode",
@@ -315,7 +329,7 @@
"LabelExplicitChecked": "Explicit (Altersbeschränkung) (angehakt)", "LabelExplicitChecked": "Explicit (Altersbeschränkung) (angehakt)",
"LabelExplicitUnchecked": "Not Explicit (Altersbeschränkung) (nicht angehakt)", "LabelExplicitUnchecked": "Not Explicit (Altersbeschränkung) (nicht angehakt)",
"LabelExportOPML": "OPML exportieren", "LabelExportOPML": "OPML exportieren",
"LabelFeedURL": "Feed URL", "LabelFeedURL": "Feed-URL",
"LabelFetchingMetadata": "Abholen der Metadaten", "LabelFetchingMetadata": "Abholen der Metadaten",
"LabelFile": "Datei", "LabelFile": "Datei",
"LabelFileBirthtime": "Datei erstellt", "LabelFileBirthtime": "Datei erstellt",
@@ -338,11 +352,11 @@
"LabelGenre": "Kategorie", "LabelGenre": "Kategorie",
"LabelGenres": "Kategorien", "LabelGenres": "Kategorien",
"LabelHardDeleteFile": "Datei dauerhaft löschen", "LabelHardDeleteFile": "Datei dauerhaft löschen",
"LabelHasEbook": "E-Book verfügbar", "LabelHasEbook": "E-Buch verfügbar",
"LabelHasSupplementaryEbook": "Ergänzendes E-Book verfügbar", "LabelHasSupplementaryEbook": "Ergänzendes E-Buch verfügbar",
"LabelHideSubtitles": "Untertitel ausblenden", "LabelHideSubtitles": "Untertitel ausblenden",
"LabelHighestPriority": "Höchste Priorität", "LabelHighestPriority": "Höchste Priorität",
"LabelHost": "Host", "LabelHost": "Anbieter",
"LabelHour": "Stunde", "LabelHour": "Stunde",
"LabelHours": "Stunden", "LabelHours": "Stunden",
"LabelIcon": "Symbol", "LabelIcon": "Symbol",
@@ -371,13 +385,13 @@
"LabelLastSeen": "Zuletzt gesehen", "LabelLastSeen": "Zuletzt gesehen",
"LabelLastTime": "Letztes Mal", "LabelLastTime": "Letztes Mal",
"LabelLastUpdate": "Letzte Aktualisierung", "LabelLastUpdate": "Letzte Aktualisierung",
"LabelLayout": "Layout", "LabelLayout": "Ansicht",
"LabelLayoutSinglePage": "Eine Seite", "LabelLayoutSinglePage": "Eine Seite",
"LabelLayoutSplitPage": "Geteilte Seite", "LabelLayoutSplitPage": "Geteilte Seite",
"LabelLess": "Weniger", "LabelLess": "Weniger",
"LabelLibrariesAccessibleToUser": "Für Benutzer zugängliche Bibliotheken", "LabelLibrariesAccessibleToUser": "Für Benutzer zugängliche Bibliotheken",
"LabelLibrary": "Bibliothek", "LabelLibrary": "Bibliothek",
"LabelLibraryFilterSublistEmpty": "Nr. {0}", "LabelLibraryFilterSublistEmpty": "Keine {0}",
"LabelLibraryItem": "Bibliothekseintrag", "LabelLibraryItem": "Bibliothekseintrag",
"LabelLibraryName": "Bibliotheksname", "LabelLibraryName": "Bibliotheksname",
"LabelLimit": "Begrenzung", "LabelLimit": "Begrenzung",
@@ -399,10 +413,10 @@
"LabelMinute": "Minute", "LabelMinute": "Minute",
"LabelMinutes": "Minuten", "LabelMinutes": "Minuten",
"LabelMissing": "Fehlend", "LabelMissing": "Fehlend",
"LabelMissingEbook": "E-Book fehlt", "LabelMissingEbook": "E-Buch fehlt",
"LabelMissingSupplementaryEbook": "Ergänzendes E-Book fehlt", "LabelMissingSupplementaryEbook": "Ergänzendes E-Buch fehlt",
"LabelMobileRedirectURIs": "Erlaubte Weiterleitungs-URIs für die mobile App", "LabelMobileRedirectURIs": "Erlaubte Weiterleitungs-URIs für die mobile App",
"LabelMobileRedirectURIsDescription": "Dies ist eine Whitelist gültiger Umleitungs-URIs für mobile Apps. Der Standardwert ist <code>audiobookshelf://oauth</code>, den du entfernen oder durch zusätzliche URIs für die Integration von Drittanbieter-Apps ergänzen kannst. Die Verwendung eines Sternchens (<code>*</code>) als alleiniger Eintrag erlaubt jede URI.", "LabelMobileRedirectURIsDescription": "Dies ist eine weiße Liste gültiger Umleitungs-URIs für mobile Apps. Der Standardwert ist <code>audiobookshelf://oauth</code>, den du entfernen oder durch zusätzliche URIs für die Integration von Drittanbieter-Apps ergänzen kannst. Die Verwendung eines Sternchens (<code>*</code>) als alleiniger Eintrag erlaubt jede URI.",
"LabelMore": "Mehr", "LabelMore": "Mehr",
"LabelMoreInfo": "Mehr Infos", "LabelMoreInfo": "Mehr Infos",
"LabelName": "Name", "LabelName": "Name",
@@ -419,7 +433,7 @@
"LabelNotFinished": "Nicht beendet", "LabelNotFinished": "Nicht beendet",
"LabelNotStarted": "Nicht begonnen", "LabelNotStarted": "Nicht begonnen",
"LabelNotes": "Notizen", "LabelNotes": "Notizen",
"LabelNotificationAppriseURL": "Apprise URL(s)", "LabelNotificationAppriseURL": "Apprise-URL(s)",
"LabelNotificationAvailableVariables": "Verfügbare Variablen", "LabelNotificationAvailableVariables": "Verfügbare Variablen",
"LabelNotificationBodyTemplate": "Textvorlage", "LabelNotificationBodyTemplate": "Textvorlage",
"LabelNotificationEvent": "Benachrichtigungs Event", "LabelNotificationEvent": "Benachrichtigungs Event",
@@ -457,26 +471,28 @@
"LabelPort": "Port", "LabelPort": "Port",
"LabelPrefixesToIgnore": "Zu ignorierende(s) Vorwort(e) (Groß- und Kleinschreibung wird nicht berücksichtigt)", "LabelPrefixesToIgnore": "Zu ignorierende(s) Vorwort(e) (Groß- und Kleinschreibung wird nicht berücksichtigt)",
"LabelPreventIndexing": "Verhindere, dass dein Feed von iTunes- und Google-Podcast-Verzeichnissen indiziert wird", "LabelPreventIndexing": "Verhindere, dass dein Feed von iTunes- und Google-Podcast-Verzeichnissen indiziert wird",
"LabelPrimaryEbook": "Primäres E-Book", "LabelPrimaryEbook": "Primäres E-Buch",
"LabelProgress": "Fortschritt", "LabelProgress": "Fortschritt",
"LabelProvider": "Anbieter", "LabelProvider": "Anbieter",
"LabelProviderAuthorizationValue": "Autorisierungsheader-Wert", "LabelProviderAuthorizationValue": "Autorisierungsheader-Wert",
"LabelPubDate": "Veröffentlichungsdatum", "LabelPubDate": "Veröffentlichungsdatum",
"LabelPublishYear": "Jahr", "LabelPublishYear": "Jahr",
"LabelPublishedDate": "Veröffentlicht {0}", "LabelPublishedDate": "Veröffentlicht {0}",
"LabelPublishedDecade": "Jahrzehnt",
"LabelPublishedDecades": "Jahrzehnte",
"LabelPublisher": "Herausgeber", "LabelPublisher": "Herausgeber",
"LabelPublishers": "Herausgeber", "LabelPublishers": "Herausgeber",
"LabelRSSFeedCustomOwnerEmail": "Benutzerdefinierte Eigentümer-E-Mail", "LabelRSSFeedCustomOwnerEmail": "Benutzerdefinierte Eigentümer-E-Mail",
"LabelRSSFeedCustomOwnerName": "Benutzerdefinierter Name des Eigentümers", "LabelRSSFeedCustomOwnerName": "Benutzerdefinierter Name des Eigentümers",
"LabelRSSFeedOpen": "RSS Feed Offen", "LabelRSSFeedOpen": "RSS Feed offen",
"LabelRSSFeedPreventIndexing": "Indizierung verhindern", "LabelRSSFeedPreventIndexing": "Indizierung verhindern",
"LabelRSSFeedSlug": "RSS-Feed-Schlagwort", "LabelRSSFeedSlug": "RSS-Feed-Schlagwort",
"LabelRSSFeedURL": "RSS Feed URL", "LabelRSSFeedURL": "RSS-Feed-URL",
"LabelRandomly": "Zufällig", "LabelRandomly": "Zufällig",
"LabelReAddSeriesToContinueListening": "Serien erneut zur Fortsetzungsliste hinzufügen", "LabelReAddSeriesToContinueListening": "Serien erneut zur Fortsetzungsliste hinzufügen",
"LabelRead": "Lesen", "LabelRead": "Lesen",
"LabelReadAgain": "Noch einmal Lesen", "LabelReadAgain": "Noch einmal Lesen",
"LabelReadEbookWithoutProgress": "E-Book lesen und Fortschritt verwerfen", "LabelReadEbookWithoutProgress": "E-Buch lesen und Fortschritt verwerfen",
"LabelRecentSeries": "Aktuelle Serien", "LabelRecentSeries": "Aktuelle Serien",
"LabelRecentlyAdded": "Kürzlich hinzugefügt", "LabelRecentlyAdded": "Kürzlich hinzugefügt",
"LabelRecommended": "Empfohlen", "LabelRecommended": "Empfohlen",
@@ -493,16 +509,17 @@
"LabelSelectAllEpisodes": "Alle Episoden auswählen", "LabelSelectAllEpisodes": "Alle Episoden auswählen",
"LabelSelectEpisodesShowing": "{0} ausgewählte Episoden werden angezeigt", "LabelSelectEpisodesShowing": "{0} ausgewählte Episoden werden angezeigt",
"LabelSelectUsers": "Benutzer auswählen", "LabelSelectUsers": "Benutzer auswählen",
"LabelSendEbookToDevice": "E-Book senden an...", "LabelSendEbookToDevice": "E-Buch senden an …",
"LabelSequence": "Reihenfolge", "LabelSequence": "Reihenfolge",
"LabelSeries": "Serien", "LabelSeries": "Serien",
"LabelSeriesName": "Serienname", "LabelSeriesName": "Serienname",
"LabelSeriesProgress": "Serienfortschritt", "LabelSeriesProgress": "Serienfortschritt",
"LabelServerLogLevel": "Server Log Level",
"LabelServerYearReview": "Server Jahr in Übersicht ({0})", "LabelServerYearReview": "Server Jahr in Übersicht ({0})",
"LabelSetEbookAsPrimary": "Als Hauptbuch setzen", "LabelSetEbookAsPrimary": "Als Hauptbuch setzen",
"LabelSetEbookAsSupplementary": "Als Ergänzung setzen", "LabelSetEbookAsSupplementary": "Als Ergänzung setzen",
"LabelSettingsAudiobooksOnly": "Nur Hörbücher", "LabelSettingsAudiobooksOnly": "Nur Hörbücher",
"LabelSettingsAudiobooksOnlyHelp": "Wenn du diese Einstellung aktivierst, werden E-Book-Dateien ignoriert, es sei denn, sie befinden sich in einem Hörbuchordner. In diesem Fall werden sie als zusätzliche E-Books festgelegt", "LabelSettingsAudiobooksOnlyHelp": "Wenn du diese Einstellung aktivierst, werden E-Buch-Dateien ignoriert, es sei denn, sie befinden sich in einem Hörbuchordner. In diesem Fall werden sie als zusätzliche E-Bücher festgelegt",
"LabelSettingsBookshelfViewHelp": "Skeumorphes Design mit Holzeinlegeböden", "LabelSettingsBookshelfViewHelp": "Skeumorphes Design mit Holzeinlegeböden",
"LabelSettingsChromecastSupport": "Chromecastunterstützung", "LabelSettingsChromecastSupport": "Chromecastunterstützung",
"LabelSettingsDateFormat": "Datumsformat", "LabelSettingsDateFormat": "Datumsformat",
@@ -566,7 +583,7 @@
"LabelStatsMinutesListening": "Gehörte Minuten", "LabelStatsMinutesListening": "Gehörte Minuten",
"LabelStatsOverallDays": "Gesamte Tage", "LabelStatsOverallDays": "Gesamte Tage",
"LabelStatsOverallHours": "Gesamte Stunden", "LabelStatsOverallHours": "Gesamte Stunden",
"LabelStatsWeekListening": "Gehörte Wochen", "LabelStatsWeekListening": "Wochenhördauer",
"LabelSubtitle": "Untertitel", "LabelSubtitle": "Untertitel",
"LabelSupportedFileTypes": "Unterstützte Dateitypen", "LabelSupportedFileTypes": "Unterstützte Dateitypen",
"LabelTag": "Schlagwort", "LabelTag": "Schlagwort",
@@ -593,9 +610,10 @@
"LabelTitle": "Titel", "LabelTitle": "Titel",
"LabelToolsEmbedMetadata": "Metadaten einbetten", "LabelToolsEmbedMetadata": "Metadaten einbetten",
"LabelToolsEmbedMetadataDescription": "Bettet die Metadaten einschließlich des Titelbildes und der Kapitel in die Audiodatein ein.", "LabelToolsEmbedMetadataDescription": "Bettet die Metadaten einschließlich des Titelbildes und der Kapitel in die Audiodatein ein.",
"LabelToolsM4bEncoder": "M4B Kodierer",
"LabelToolsMakeM4b": "M4B-Datei erstellen", "LabelToolsMakeM4b": "M4B-Datei erstellen",
"LabelToolsMakeM4bDescription": "Erstellt eine M4B-Datei (Endung \".m4b\") welche mehrere mp3-Dateien in einer einzigen Datei inkl. derer Metadaten (Beschreibung, Titelbild, Kapitel, ...) zusammenfasst. M4B-Datei können darüber hinaus Lesezeichen speichern und mit einem Abspielschutz (Passwort) versehen werden.", "LabelToolsMakeM4bDescription": "Erstellt eine M4B-Datei (Endung \".m4b\") welche mehrere mp3-Dateien in einer einzigen Datei inkl. derer Metadaten (Beschreibung, Titelbild, Kapitel, ...) zusammenfasst. M4B-Datei können darüber hinaus Lesezeichen speichern und mit einem Abspielschutz (Passwort) versehen werden.",
"LabelToolsSplitM4b": "M4B in MP3's aufteilen", "LabelToolsSplitM4b": "M4B in MP3s aufteilen",
"LabelToolsSplitM4bDescription": "Erstellt aus einer mit Metadaten und nach Kapiteln aufgeteilten M4B-Datei seperate MP3's mit eingebetteten Metadaten, Coverbild und Kapiteln.", "LabelToolsSplitM4bDescription": "Erstellt aus einer mit Metadaten und nach Kapiteln aufgeteilten M4B-Datei seperate MP3's mit eingebetteten Metadaten, Coverbild und Kapiteln.",
"LabelTotalDuration": "Gesamtdauer", "LabelTotalDuration": "Gesamtdauer",
"LabelTotalTimeListened": "Gehörte Gesamtzeit", "LabelTotalTimeListened": "Gehörte Gesamtzeit",
@@ -618,6 +636,7 @@
"LabelUploaderDragAndDrop": "Ziehen und Ablegen von Dateien oder Ordnern", "LabelUploaderDragAndDrop": "Ziehen und Ablegen von Dateien oder Ordnern",
"LabelUploaderDropFiles": "Dateien löschen", "LabelUploaderDropFiles": "Dateien löschen",
"LabelUploaderItemFetchMetadataHelp": "Automatisches Aktualisieren von Titel, Autor und Serie", "LabelUploaderItemFetchMetadataHelp": "Automatisches Aktualisieren von Titel, Autor und Serie",
"LabelUseAdvancedOptions": "Nutze Erweiterte Optionen",
"LabelUseChapterTrack": "Kapiteldatei verwenden", "LabelUseChapterTrack": "Kapiteldatei verwenden",
"LabelUseFullTrack": "Gesamte Datei verwenden", "LabelUseFullTrack": "Gesamte Datei verwenden",
"LabelUser": "Benutzer", "LabelUser": "Benutzer",
@@ -658,7 +677,7 @@
"MessageCheckingCron": "Überprüfe Cron...", "MessageCheckingCron": "Überprüfe Cron...",
"MessageConfirmCloseFeed": "Feed wird geschlossen! Bist du dir sicher?", "MessageConfirmCloseFeed": "Feed wird geschlossen! Bist du dir sicher?",
"MessageConfirmDeleteBackup": "Sicherung für {0} wird gelöscht! Bist du dir sicher?", "MessageConfirmDeleteBackup": "Sicherung für {0} wird gelöscht! Bist du dir sicher?",
"MessageConfirmDeleteDevice": "Möchtest Du das E-Reader-Gerät „{0}“ wirklich löschen?", "MessageConfirmDeleteDevice": "Möchtest du das Lesegerät „{0}“ wirklich löschen?",
"MessageConfirmDeleteFile": "Datei wird vom System gelöscht! Bist du dir sicher?", "MessageConfirmDeleteFile": "Datei wird vom System gelöscht! Bist du dir sicher?",
"MessageConfirmDeleteLibrary": "Bibliothek \"{0}\" wird dauerhaft gelöscht! Bist du dir sicher?", "MessageConfirmDeleteLibrary": "Bibliothek \"{0}\" wird dauerhaft gelöscht! Bist du dir sicher?",
"MessageConfirmDeleteLibraryItem": "Bibliothekselement wird aus der Datenbank + Festplatte gelöscht? Bist du dir sicher?", "MessageConfirmDeleteLibraryItem": "Bibliothekselement wird aus der Datenbank + Festplatte gelöscht? Bist du dir sicher?",
@@ -666,6 +685,7 @@
"MessageConfirmDeleteMetadataProvider": "Möchtest du den benutzerdefinierten Metadatenanbieter \"{0}\" wirklich löschen?", "MessageConfirmDeleteMetadataProvider": "Möchtest du den benutzerdefinierten Metadatenanbieter \"{0}\" wirklich löschen?",
"MessageConfirmDeleteNotification": "Möchtest du diese Benachrichtigung wirklich löschen?", "MessageConfirmDeleteNotification": "Möchtest du diese Benachrichtigung wirklich löschen?",
"MessageConfirmDeleteSession": "Sitzung wird gelöscht! Bist du dir sicher?", "MessageConfirmDeleteSession": "Sitzung wird gelöscht! Bist du dir sicher?",
"MessageConfirmEmbedMetadataInAudioFiles": "Bist du dir sicher, dass die Metadaten in {0} Audiodateien eingebettet werden sollen?",
"MessageConfirmForceReScan": "Scanvorgang erzwingen! Bist du dir sicher?", "MessageConfirmForceReScan": "Scanvorgang erzwingen! Bist du dir sicher?",
"MessageConfirmMarkAllEpisodesFinished": "Alle Episoden werden als abgeschlossen markiert! Bist du dir sicher?", "MessageConfirmMarkAllEpisodesFinished": "Alle Episoden werden als abgeschlossen markiert! Bist du dir sicher?",
"MessageConfirmMarkAllEpisodesNotFinished": "Alle Episoden werden als nicht abgeschlossen markiert! Bist du dir sicher?", "MessageConfirmMarkAllEpisodesNotFinished": "Alle Episoden werden als nicht abgeschlossen markiert! Bist du dir sicher?",
@@ -693,14 +713,14 @@
"MessageConfirmRenameTagMergeNote": "Hinweis: Tag existiert bereits -> Tags werden zusammengelegt.", "MessageConfirmRenameTagMergeNote": "Hinweis: Tag existiert bereits -> Tags werden zusammengelegt.",
"MessageConfirmRenameTagWarning": "Warnung! Ein ähnlicher Tag mit einem anderen Wortlaut existiert bereits: \"{0}\".", "MessageConfirmRenameTagWarning": "Warnung! Ein ähnlicher Tag mit einem anderen Wortlaut existiert bereits: \"{0}\".",
"MessageConfirmResetProgress": "Möchtest du Ihren Fortschritt wirklich zurücksetzen?", "MessageConfirmResetProgress": "Möchtest du Ihren Fortschritt wirklich zurücksetzen?",
"MessageConfirmSendEbookToDevice": "{0} E-Book \"{1}\" wird auf das Gerät \"{2}\" gesendet! Bist du dir sicher?", "MessageConfirmSendEbookToDevice": "{0} E-Buch „{1} wird auf das Gerät {2} gesendet! Bist du dir sicher?",
"MessageConfirmUnlinkOpenId": "Möchtest du die Verknüpfung dieses Benutzers mit OpenID wirklich löschen?", "MessageConfirmUnlinkOpenId": "Möchtest du die Verknüpfung dieses Benutzers mit OpenID wirklich löschen?",
"MessageDownloadingEpisode": "Episode wird heruntergeladen", "MessageDownloadingEpisode": "Episode wird heruntergeladen",
"MessageDragFilesIntoTrackOrder": "Verschiebe die Dateien in die richtige Reihenfolge", "MessageDragFilesIntoTrackOrder": "Verschiebe die Dateien in die richtige Reihenfolge",
"MessageEmbedFailed": "Einbetten fehlgeschlagen!", "MessageEmbedFailed": "Einbetten fehlgeschlagen!",
"MessageEmbedFinished": "Einbettung abgeschlossen!", "MessageEmbedFinished": "Einbettung abgeschlossen!",
"MessageEpisodesQueuedForDownload": "{0} Episode(n) in der Warteschlange zum Herunterladen", "MessageEpisodesQueuedForDownload": "{0} Episode(n) in der Warteschlange zum Herunterladen",
"MessageEreaderDevices": "Um die Zustellung von E-Books sicherzustellen, musst du eventuell die oben genannte E-Mail-Adresse als gültigen Absender für jedes unten aufgeführte Gerät hinzufügen.", "MessageEreaderDevices": "Um die Zustellung von E-Büchern sicherzustellen, musst du eventuell die oben genannte E-Mail-Adresse als gültigen Absender für jedes unten aufgeführte Gerät hinzufügen.",
"MessageFeedURLWillBe": "Feed-URL wird {0} sein", "MessageFeedURLWillBe": "Feed-URL wird {0} sein",
"MessageFetching": "Wird abgerufen …", "MessageFetching": "Wird abgerufen …",
"MessageForceReScanDescription": "Durchsucht alle Dateien erneut, wie bei einem frischen Scan. ID3-Tags von Audiodateien, OPF-Dateien und Textdateien werden neu durchsucht.", "MessageForceReScanDescription": "Durchsucht alle Dateien erneut, wie bei einem frischen Scan. ID3-Tags von Audiodateien, OPF-Dateien und Textdateien werden neu durchsucht.",
@@ -743,6 +763,7 @@
"MessageNoLogs": "Keine Protokolle", "MessageNoLogs": "Keine Protokolle",
"MessageNoMediaProgress": "Kein Medienfortschritt", "MessageNoMediaProgress": "Kein Medienfortschritt",
"MessageNoNotifications": "Keine Benachrichtigungen", "MessageNoNotifications": "Keine Benachrichtigungen",
"MessageNoPodcastFeed": "Ungültiger Podcast: Kein Feed",
"MessageNoPodcastsFound": "Keine Podcasts gefunden", "MessageNoPodcastsFound": "Keine Podcasts gefunden",
"MessageNoResults": "Keine Ergebnisse", "MessageNoResults": "Keine Ergebnisse",
"MessageNoSearchResultsFor": "Keine Suchergebnisse für \"{0}\"", "MessageNoSearchResultsFor": "Keine Suchergebnisse für \"{0}\"",
@@ -776,6 +797,38 @@
"MessageShareExpiresIn": "Läuft in {0} ab", "MessageShareExpiresIn": "Läuft in {0} ab",
"MessageShareURLWillBe": "Der Freigabe Link wird <strong>{0}</strong> sein.", "MessageShareURLWillBe": "Der Freigabe Link wird <strong>{0}</strong> sein.",
"MessageStartPlaybackAtTime": "Start der Wiedergabe für \"{0}\" bei {1}?", "MessageStartPlaybackAtTime": "Start der Wiedergabe für \"{0}\" bei {1}?",
"MessageTaskAudioFileNotWritable": "Die Audiodatei \"{0}\" ist schreibgeschützt",
"MessageTaskCanceledByUser": "Aufgabe vom Benutzer abgebrochen",
"MessageTaskDownloadingEpisodeDescription": "Folge \"{0}\" wird heruntergeladen",
"MessageTaskEmbeddingMetadata": "Metadaten werden eingebettet",
"MessageTaskEmbeddingMetadataDescription": "Metadaten werden in Hörbuch \"{0}\" eingebettet",
"MessageTaskEncodingM4b": "M4B wird encodiert",
"MessageTaskEncodingM4bDescription": "Hörbuch \"{0}\" wird in eine einzelne m4b Datei encodiert",
"MessageTaskFailed": "Fehlgeschlagen",
"MessageTaskFailedToBackupAudioFile": "Sicherung der Audiodatei \"{0}\" fehlgeschlagen",
"MessageTaskFailedToCreateCacheDirectory": "Fehler beim erstellen des Cache-Verzeichnisses",
"MessageTaskFailedToEmbedMetadataInFile": "Einbetten der Metadaten in die Datei \"{0}\" fehlgeschlagen",
"MessageTaskFailedToMergeAudioFiles": "Fehler beim zusammenführen der Audiodateien",
"MessageTaskFailedToMoveM4bFile": "Fehler beim verschieben der m4b Datei",
"MessageTaskFailedToWriteMetadataFile": "Fehler beim schreiben der Metadaten-Datei",
"MessageTaskMatchingBooksInLibrary": "Vergleiche Bücher in Bibliothek \"{0}\"",
"MessageTaskNoFilesToScan": "Keine Dateien zum scannen",
"MessageTaskOpmlImport": "OPML-Import",
"MessageTaskOpmlImportDescription": "Podcasts von {0} RSS-Feeds werden ersrtellt",
"MessageTaskOpmlImportFeed": "OPML-Feed importieren",
"MessageTaskOpmlImportFeedDescription": "RSS-Feed \"{0}\" wird importiert",
"MessageTaskOpmlImportFeedFailed": "Podcast Feed konnte nicht geladen werden",
"MessageTaskOpmlImportFeedPodcastDescription": "Podcast \"{0}\" wird erstellt",
"MessageTaskOpmlImportFeedPodcastExists": "Der Podcast ist bereits im Pfad vorhanden",
"MessageTaskOpmlImportFeedPodcastFailed": "Erstellen des Podcasts fehlgeschlagen",
"MessageTaskOpmlImportFinished": "{0} Podcasts hinzugefügt",
"MessageTaskScanItemsAdded": "{0} hinzugefügt",
"MessageTaskScanItemsMissing": "{0} fehlend",
"MessageTaskScanItemsUpdated": "{0} aktualisiert",
"MessageTaskScanNoChangesNeeded": "Keine Änderungen nötig",
"MessageTaskScanningFileChanges": "Überprüfe \"{0}\" nach geänderten Dateien",
"MessageTaskScanningLibrary": "Bibliothek \"{0}\" wird durchsucht",
"MessageTaskTargetDirectoryNotWritable": "Das Zielverzeichnis ist schreibgeschützt",
"MessageThinking": "Nachdenken...", "MessageThinking": "Nachdenken...",
"MessageUploaderItemFailed": "Hochladen fehlgeschlagen", "MessageUploaderItemFailed": "Hochladen fehlgeschlagen",
"MessageUploaderItemSuccess": "Erfolgreich hochgeladen!", "MessageUploaderItemSuccess": "Erfolgreich hochgeladen!",
@@ -816,14 +869,12 @@
"StatsTopNarrators": "TOP SPRECHER", "StatsTopNarrators": "TOP SPRECHER",
"StatsTotalDuration": "Mit einer totalen Dauer von…", "StatsTotalDuration": "Mit einer totalen Dauer von…",
"StatsYearInReview": "DAS JAHR IM RÜCKBLICK", "StatsYearInReview": "DAS JAHR IM RÜCKBLICK",
"ToastAccountUpdateFailed": "Aktualisierung des Kontos fehlgeschlagen",
"ToastAccountUpdateSuccess": "Konto aktualisiert", "ToastAccountUpdateSuccess": "Konto aktualisiert",
"ToastAppriseUrlRequired": "Eine Apprise-URL ist notwendig", "ToastAppriseUrlRequired": "Eine Apprise-URL ist notwendig",
"ToastAuthorImageRemoveSuccess": "Autorenbild entfernt", "ToastAuthorImageRemoveSuccess": "Autorenbild entfernt",
"ToastAuthorNotFound": "Autor \"{0}\" nicht gefunden", "ToastAuthorNotFound": "Autor \"{0}\" nicht gefunden",
"ToastAuthorRemoveSuccess": "Autor entfernt", "ToastAuthorRemoveSuccess": "Autor entfernt",
"ToastAuthorSearchNotFound": "Autor nicht gefunden", "ToastAuthorSearchNotFound": "Autor nicht gefunden",
"ToastAuthorUpdateFailed": "Aktualisierung des Autors fehlgeschlagen",
"ToastAuthorUpdateMerged": "Autor zusammengeführt", "ToastAuthorUpdateMerged": "Autor zusammengeführt",
"ToastAuthorUpdateSuccess": "Autor aktualisiert", "ToastAuthorUpdateSuccess": "Autor aktualisiert",
"ToastAuthorUpdateSuccessNoImageFound": "Autor aktualisiert (kein Bild gefunden)", "ToastAuthorUpdateSuccessNoImageFound": "Autor aktualisiert (kein Bild gefunden)",
@@ -834,7 +885,6 @@
"ToastBackupDeleteSuccess": "Sicherung gelöscht", "ToastBackupDeleteSuccess": "Sicherung gelöscht",
"ToastBackupInvalidMaxKeep": "Ungültige Anzahl aufzubewahrender Backups", "ToastBackupInvalidMaxKeep": "Ungültige Anzahl aufzubewahrender Backups",
"ToastBackupInvalidMaxSize": "Ungültige maximale Backupgröße", "ToastBackupInvalidMaxSize": "Ungültige maximale Backupgröße",
"ToastBackupPathUpdateFailed": "Der Backuppfad konnte nicht aktualisiert werden",
"ToastBackupRestoreFailed": "Sicherung konnte nicht wiederhergestellt werden", "ToastBackupRestoreFailed": "Sicherung konnte nicht wiederhergestellt werden",
"ToastBackupUploadFailed": "Sicherung konnte nicht hochgeladen werden", "ToastBackupUploadFailed": "Sicherung konnte nicht hochgeladen werden",
"ToastBackupUploadSuccess": "Sicherung hochgeladen", "ToastBackupUploadSuccess": "Sicherung hochgeladen",
@@ -845,7 +895,6 @@
"ToastBookmarkCreateFailed": "Lesezeichen konnte nicht erstellt werden", "ToastBookmarkCreateFailed": "Lesezeichen konnte nicht erstellt werden",
"ToastBookmarkCreateSuccess": "Lesezeichen hinzugefügt", "ToastBookmarkCreateSuccess": "Lesezeichen hinzugefügt",
"ToastBookmarkRemoveSuccess": "Lesezeichen entfernt", "ToastBookmarkRemoveSuccess": "Lesezeichen entfernt",
"ToastBookmarkUpdateFailed": "Lesezeichenaktualisierung fehlgeschlagen",
"ToastBookmarkUpdateSuccess": "Lesezeichen aktualisiert", "ToastBookmarkUpdateSuccess": "Lesezeichen aktualisiert",
"ToastCachePurgeFailed": "Cache leeren fehlgeschlagen", "ToastCachePurgeFailed": "Cache leeren fehlgeschlagen",
"ToastCachePurgeSuccess": "Cache geleert", "ToastCachePurgeSuccess": "Cache geleert",
@@ -856,7 +905,6 @@
"ToastCollectionItemsAddSuccess": "Element(e) erfolgreich zur Sammlung hinzugefügt", "ToastCollectionItemsAddSuccess": "Element(e) erfolgreich zur Sammlung hinzugefügt",
"ToastCollectionItemsRemoveSuccess": "Medien aus der Sammlung entfernt", "ToastCollectionItemsRemoveSuccess": "Medien aus der Sammlung entfernt",
"ToastCollectionRemoveSuccess": "Sammlung entfernt", "ToastCollectionRemoveSuccess": "Sammlung entfernt",
"ToastCollectionUpdateFailed": "Sammlung konnte nicht aktualisiert werden",
"ToastCollectionUpdateSuccess": "Sammlung aktualisiert", "ToastCollectionUpdateSuccess": "Sammlung aktualisiert",
"ToastCoverUpdateFailed": "Cover-Update fehlgeschlagen", "ToastCoverUpdateFailed": "Cover-Update fehlgeschlagen",
"ToastDeleteFileFailed": "Die Datei konnte nicht gelöscht werden", "ToastDeleteFileFailed": "Die Datei konnte nicht gelöscht werden",
@@ -864,9 +912,7 @@
"ToastDeviceAddFailed": "Gerät konnte nicht hinzugefügt werden", "ToastDeviceAddFailed": "Gerät konnte nicht hinzugefügt werden",
"ToastDeviceNameAlreadyExists": "E-Reader-Gerät mit diesem Namen existiert bereits", "ToastDeviceNameAlreadyExists": "E-Reader-Gerät mit diesem Namen existiert bereits",
"ToastDeviceTestEmailFailed": "Senden der Test-E-Mail fehlgeschlagen", "ToastDeviceTestEmailFailed": "Senden der Test-E-Mail fehlgeschlagen",
"ToastDeviceTestEmailSuccess": "Test-E-Mail versand", "ToastDeviceTestEmailSuccess": "Test-E-Mail gesendet",
"ToastDeviceUpdateFailed": "Das Gerät konnte nicht aktualisiert werden",
"ToastEmailSettingsUpdateFailed": "E-Mail-Einstellungen konnten nicht aktualisiert werden",
"ToastEmailSettingsUpdateSuccess": "E-Mail-Einstellungen aktualisiert", "ToastEmailSettingsUpdateSuccess": "E-Mail-Einstellungen aktualisiert",
"ToastEncodeCancelFailed": "Das Encoding konnte nicht abgebrochen werden", "ToastEncodeCancelFailed": "Das Encoding konnte nicht abgebrochen werden",
"ToastEncodeCancelSucces": "Encoding abgebrochen", "ToastEncodeCancelSucces": "Encoding abgebrochen",
@@ -875,21 +921,17 @@
"ToastErrorCannotShare": "Das kann nicht nativ auf diesem Gerät freigegeben werden", "ToastErrorCannotShare": "Das kann nicht nativ auf diesem Gerät freigegeben werden",
"ToastFailedToLoadData": "Daten laden fehlgeschlagen", "ToastFailedToLoadData": "Daten laden fehlgeschlagen",
"ToastFailedToShare": "Fehler beim Teilen", "ToastFailedToShare": "Fehler beim Teilen",
"ToastFailedToUpdateAccount": "Fehler beim ändern des Accounts", "ToastFailedToUpdate": "Aktualisierung ist fehlgeschlagen",
"ToastFailedToUpdateUser": "Fehler beim ändern des Benutzers",
"ToastInvalidImageUrl": "Ungültiger Bild URL", "ToastInvalidImageUrl": "Ungültiger Bild URL",
"ToastInvalidUrl": "Ungültiger URL", "ToastInvalidUrl": "Ungültiger URL",
"ToastItemCoverUpdateFailed": "Fehler bei der Aktualisierung des Titelbildes",
"ToastItemCoverUpdateSuccess": "Titelbild aktualisiert", "ToastItemCoverUpdateSuccess": "Titelbild aktualisiert",
"ToastItemDeletedFailed": "Fehler beim löschen des Artikels", "ToastItemDeletedFailed": "Fehler beim löschen des Artikels",
"ToastItemDeletedSuccess": "Artikel gelöscht", "ToastItemDeletedSuccess": "Artikel gelöscht",
"ToastItemDetailsUpdateFailed": "Fehler bei der Aktualisierung der Artikeldetails",
"ToastItemDetailsUpdateSuccess": "Artikeldetails aktualisiert", "ToastItemDetailsUpdateSuccess": "Artikeldetails aktualisiert",
"ToastItemMarkedAsFinishedFailed": "Fehler bei der Markierung des Artikels als \"Beendet\"", "ToastItemMarkedAsFinishedFailed": "Fehler bei der Markierung des Artikels als \"Beendet\"",
"ToastItemMarkedAsFinishedSuccess": "Artikel als \"Beendet\" markiert", "ToastItemMarkedAsFinishedSuccess": "Artikel als \"Beendet\" markiert",
"ToastItemMarkedAsNotFinishedFailed": "Fehler bei der Markierung des Artikels als \"Nicht Beendet\"", "ToastItemMarkedAsNotFinishedFailed": "Fehler bei der Markierung des Artikels als \"Nicht Beendet\"",
"ToastItemMarkedAsNotFinishedSuccess": "Artikel als \"Nicht Beendet\" markiert", "ToastItemMarkedAsNotFinishedSuccess": "Artikel als \"Nicht Beendet\" markiert",
"ToastItemUpdateFailed": "Fehler beim ändern des Artikels",
"ToastItemUpdateSuccess": "Artikel wurde verändert", "ToastItemUpdateSuccess": "Artikel wurde verändert",
"ToastLibraryCreateFailed": "Bibliothek konnte nicht erstellt werden", "ToastLibraryCreateFailed": "Bibliothek konnte nicht erstellt werden",
"ToastLibraryCreateSuccess": "Bibliothek \"{0}\" erstellt", "ToastLibraryCreateSuccess": "Bibliothek \"{0}\" erstellt",
@@ -897,9 +939,9 @@
"ToastLibraryDeleteSuccess": "Bibliothek gelöscht", "ToastLibraryDeleteSuccess": "Bibliothek gelöscht",
"ToastLibraryScanFailedToStart": "Scan konnte nicht gestartet werden", "ToastLibraryScanFailedToStart": "Scan konnte nicht gestartet werden",
"ToastLibraryScanStarted": "Bibliotheksscan gestartet", "ToastLibraryScanStarted": "Bibliotheksscan gestartet",
"ToastLibraryUpdateFailed": "Aktualisierung der Bibliothek fehlgeschlagen",
"ToastLibraryUpdateSuccess": "Bibliothek \"{0}\" aktualisiert", "ToastLibraryUpdateSuccess": "Bibliothek \"{0}\" aktualisiert",
"ToastNameEmailRequired": "Name und Email sind erforderlich", "ToastMatchAllAuthorsFailed": "Nicht alle Autoren konnten zugeordnet werden",
"ToastNameEmailRequired": "Name und E-Mail sind erforderlich",
"ToastNameRequired": "Name ist erforderlich", "ToastNameRequired": "Name ist erforderlich",
"ToastNewUserCreatedFailed": "Fehler beim erstellen des Accounts: \"{ 0}\"", "ToastNewUserCreatedFailed": "Fehler beim erstellen des Accounts: \"{ 0}\"",
"ToastNewUserCreatedSuccess": "Neuer Account erstellt", "ToastNewUserCreatedSuccess": "Neuer Account erstellt",
@@ -912,16 +954,13 @@
"ToastNotificationDeleteFailed": "Fehler beim löschen der Benachrichtigung", "ToastNotificationDeleteFailed": "Fehler beim löschen der Benachrichtigung",
"ToastNotificationFailedMaximum": "Maximale Fehlversuche muss >= 0 sein", "ToastNotificationFailedMaximum": "Maximale Fehlversuche muss >= 0 sein",
"ToastNotificationQueueMaximum": "Maximale Benachrichtigungswarteschlange muss >= 0 sein", "ToastNotificationQueueMaximum": "Maximale Benachrichtigungswarteschlange muss >= 0 sein",
"ToastNotificationSettingsUpdateFailed": "Fehler beim ändern der Benachrichtigungseinstellungen",
"ToastNotificationSettingsUpdateSuccess": "Benachrichtigungseinstellungen geändert", "ToastNotificationSettingsUpdateSuccess": "Benachrichtigungseinstellungen geändert",
"ToastNotificationTestTriggerFailed": "Fehler beim Auslösen der Testbenachrichtigung", "ToastNotificationTestTriggerFailed": "Fehler beim Auslösen der Testbenachrichtigung",
"ToastNotificationTestTriggerSuccess": "Testbenachrichtigung ausgelöst", "ToastNotificationTestTriggerSuccess": "Testbenachrichtigung ausgelöst",
"ToastNotificationUpdateFailed": "Fehler bein ändern der Benachrichtigung",
"ToastNotificationUpdateSuccess": "Benachrichtigung geändert", "ToastNotificationUpdateSuccess": "Benachrichtigung geändert",
"ToastPlaylistCreateFailed": "Erstellen der Wiedergabeliste fehlgeschlagen", "ToastPlaylistCreateFailed": "Erstellen der Wiedergabeliste fehlgeschlagen",
"ToastPlaylistCreateSuccess": "Wiedergabeliste erstellt", "ToastPlaylistCreateSuccess": "Wiedergabeliste erstellt",
"ToastPlaylistRemoveSuccess": "Wiedergabeliste gelöscht", "ToastPlaylistRemoveSuccess": "Wiedergabeliste gelöscht",
"ToastPlaylistUpdateFailed": "Aktualisieren der Wiedergabeliste fehlgeschlagen",
"ToastPlaylistUpdateSuccess": "Wiedergabeliste aktualisiert", "ToastPlaylistUpdateSuccess": "Wiedergabeliste aktualisiert",
"ToastPodcastCreateFailed": "Podcast konnte nicht erstellt werden", "ToastPodcastCreateFailed": "Podcast konnte nicht erstellt werden",
"ToastPodcastCreateSuccess": "Podcast erstellt", "ToastPodcastCreateSuccess": "Podcast erstellt",
@@ -946,11 +985,10 @@
"ToastRescanUpdated": "Erneut scannen erledigt, Artikel wurde verändert", "ToastRescanUpdated": "Erneut scannen erledigt, Artikel wurde verändert",
"ToastScanFailed": "Fehler beim scannen des Artikels der Bibliothek", "ToastScanFailed": "Fehler beim scannen des Artikels der Bibliothek",
"ToastSelectAtLeastOneUser": "Wähle mindestens einen Benutzer aus", "ToastSelectAtLeastOneUser": "Wähle mindestens einen Benutzer aus",
"ToastSendEbookToDeviceFailed": "E-Book konnte nicht auf Gerät übertragen werden", "ToastSendEbookToDeviceFailed": "E-Buch konnte nicht auf Gerät übertragen werden",
"ToastSendEbookToDeviceSuccess": "E-Book an Gerät \"{0}\" gesendet", "ToastSendEbookToDeviceSuccess": "E-Buch an Gerät {0} gesendet",
"ToastSeriesUpdateFailed": "Aktualisierung der Serien fehlgeschlagen", "ToastSeriesUpdateFailed": "Aktualisierung der Serien fehlgeschlagen",
"ToastSeriesUpdateSuccess": "Serien aktualisiert", "ToastSeriesUpdateSuccess": "Serien aktualisiert",
"ToastServerSettingsUpdateFailed": "Die Server-Einstellungen wurden nicht gespeichert",
"ToastServerSettingsUpdateSuccess": "Die Server-Einstellungen wurden geupdated", "ToastServerSettingsUpdateSuccess": "Die Server-Einstellungen wurden geupdated",
"ToastSessionCloseFailed": "Fehler beim schließen der Sitzung", "ToastSessionCloseFailed": "Fehler beim schließen der Sitzung",
"ToastSessionDeleteFailed": "Sitzung konnte nicht gelöscht werden", "ToastSessionDeleteFailed": "Sitzung konnte nicht gelöscht werden",
@@ -961,7 +999,6 @@
"ToastSocketDisconnected": "Verbindung zum WebSocket verloren", "ToastSocketDisconnected": "Verbindung zum WebSocket verloren",
"ToastSocketFailedToConnect": "Verbindung zum WebSocket fehlgeschlagen", "ToastSocketFailedToConnect": "Verbindung zum WebSocket fehlgeschlagen",
"ToastSortingPrefixesEmptyError": "Es muss mindestens ein Sortier-Prefix vorhanden sein", "ToastSortingPrefixesEmptyError": "Es muss mindestens ein Sortier-Prefix vorhanden sein",
"ToastSortingPrefixesUpdateFailed": "Update der Sortier-Prefixe ist fehlgeschlagen",
"ToastSortingPrefixesUpdateSuccess": "Die Sortier-Prefixe wirden geupdated ({0} Einträge)", "ToastSortingPrefixesUpdateSuccess": "Die Sortier-Prefixe wirden geupdated ({0} Einträge)",
"ToastTitleRequired": "Titel erforderlich", "ToastTitleRequired": "Titel erforderlich",
"ToastUnknownError": "Unbekannter Fehler", "ToastUnknownError": "Unbekannter Fehler",
+108 -18
View File
@@ -56,6 +56,7 @@
"ButtonOpenManager": "Open Manager", "ButtonOpenManager": "Open Manager",
"ButtonPause": "Pause", "ButtonPause": "Pause",
"ButtonPlay": "Play", "ButtonPlay": "Play",
"ButtonPlayAll": "Play All",
"ButtonPlaying": "Playing", "ButtonPlaying": "Playing",
"ButtonPlaylists": "Playlists", "ButtonPlaylists": "Playlists",
"ButtonPrevious": "Previous", "ButtonPrevious": "Previous",
@@ -65,6 +66,7 @@
"ButtonPurgeItemsCache": "Purge Items Cache", "ButtonPurgeItemsCache": "Purge Items Cache",
"ButtonQueueAddItem": "Add to queue", "ButtonQueueAddItem": "Add to queue",
"ButtonQueueRemoveItem": "Remove from queue", "ButtonQueueRemoveItem": "Remove from queue",
"ButtonQuickEmbed": "Quick Embed",
"ButtonQuickEmbedMetadata": "Quick Embed Metadata", "ButtonQuickEmbedMetadata": "Quick Embed Metadata",
"ButtonQuickMatch": "Quick Match", "ButtonQuickMatch": "Quick Match",
"ButtonReScan": "Re-Scan", "ButtonReScan": "Re-Scan",
@@ -178,6 +180,7 @@
"HeaderRemoveEpisodes": "Remove {0} Episodes", "HeaderRemoveEpisodes": "Remove {0} Episodes",
"HeaderSavedMediaProgress": "Saved Media Progress", "HeaderSavedMediaProgress": "Saved Media Progress",
"HeaderSchedule": "Schedule", "HeaderSchedule": "Schedule",
"HeaderScheduleEpisodeDownloads": "Schedule Automatic Episode Downloads",
"HeaderScheduleLibraryScans": "Schedule Automatic Library Scans", "HeaderScheduleLibraryScans": "Schedule Automatic Library Scans",
"HeaderSession": "Session", "HeaderSession": "Session",
"HeaderSetBackupSchedule": "Set Backup Schedule", "HeaderSetBackupSchedule": "Set Backup Schedule",
@@ -224,6 +227,9 @@
"LabelAllUsersIncludingGuests": "All users including guests", "LabelAllUsersIncludingGuests": "All users including guests",
"LabelAlreadyInYourLibrary": "Already in your library", "LabelAlreadyInYourLibrary": "Already in your library",
"LabelAppend": "Append", "LabelAppend": "Append",
"LabelAudioBitrate": "Audio Bitrate (e.g. 128k)",
"LabelAudioChannels": "Audio Channels (1 or 2)",
"LabelAudioCodec": "Audio Codec",
"LabelAuthor": "Author", "LabelAuthor": "Author",
"LabelAuthorFirstLast": "Author (First Last)", "LabelAuthorFirstLast": "Author (First Last)",
"LabelAuthorLastFirst": "Author (Last, First)", "LabelAuthorLastFirst": "Author (Last, First)",
@@ -236,6 +242,7 @@
"LabelAutoRegister": "Auto Register", "LabelAutoRegister": "Auto Register",
"LabelAutoRegisterDescription": "Automatically create new users after logging in", "LabelAutoRegisterDescription": "Automatically create new users after logging in",
"LabelBackToUser": "Back to User", "LabelBackToUser": "Back to User",
"LabelBackupAudioFiles": "Backup Audio Files",
"LabelBackupLocation": "Backup Location", "LabelBackupLocation": "Backup Location",
"LabelBackupsEnableAutomaticBackups": "Enable automatic backups", "LabelBackupsEnableAutomaticBackups": "Enable automatic backups",
"LabelBackupsEnableAutomaticBackupsHelp": "Backups saved in /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Backups saved in /metadata/backups",
@@ -244,15 +251,18 @@
"LabelBackupsNumberToKeep": "Number of backups to keep", "LabelBackupsNumberToKeep": "Number of backups to keep",
"LabelBackupsNumberToKeepHelp": "Only 1 backup will be removed at a time so if you already have more backups than this you should manually remove them.", "LabelBackupsNumberToKeepHelp": "Only 1 backup will be removed at a time so if you already have more backups than this you should manually remove them.",
"LabelBitrate": "Bitrate", "LabelBitrate": "Bitrate",
"LabelBonus": "Bonus",
"LabelBooks": "Books", "LabelBooks": "Books",
"LabelButtonText": "Button Text", "LabelButtonText": "Button Text",
"LabelByAuthor": "by {0}", "LabelByAuthor": "by {0}",
"LabelChangePassword": "Change Password", "LabelChangePassword": "Change Password",
"LabelChannels": "Channels", "LabelChannels": "Channels",
"LabelChapterCount": "{0} Chapters",
"LabelChapterTitle": "Chapter Title", "LabelChapterTitle": "Chapter Title",
"LabelChapters": "Chapters", "LabelChapters": "Chapters",
"LabelChaptersFound": "chapters found", "LabelChaptersFound": "chapters found",
"LabelClickForMoreInfo": "Click for more info", "LabelClickForMoreInfo": "Click for more info",
"LabelClickToUseCurrentValue": "Click to use current value",
"LabelClosePlayer": "Close player", "LabelClosePlayer": "Close player",
"LabelCodec": "Codec", "LabelCodec": "Codec",
"LabelCollapseSeries": "Collapse Series", "LabelCollapseSeries": "Collapse Series",
@@ -302,12 +312,25 @@
"LabelEmailSettingsTestAddress": "Test Address", "LabelEmailSettingsTestAddress": "Test Address",
"LabelEmbeddedCover": "Embedded Cover", "LabelEmbeddedCover": "Embedded Cover",
"LabelEnable": "Enable", "LabelEnable": "Enable",
"LabelEncodingBackupLocation": "A backup of your original audio files will be stored in:",
"LabelEncodingChaptersNotEmbedded": "Chapters are not embedded in multi-track audiobooks.",
"LabelEncodingClearItemCache": "Make sure to periodically purge items cache.",
"LabelEncodingFinishedM4B": "Finished M4B will be put into your audiobook folder at:",
"LabelEncodingInfoEmbedded": "Metadata will be embedded in the audio tracks inside your audiobook folder.",
"LabelEncodingStartedNavigation": "Once the task is started you can navigate away from this page.",
"LabelEncodingTimeWarning": "Encoding can take up to 30 minutes.",
"LabelEncodingWarningAdvancedSettings": "Warning: Do not update these settings unless you are familiar with ffmpeg encoding options.",
"LabelEncodingWatcherDisabled": "If you have the watcher disabled you will need to re-scan this audiobook afterwards.",
"LabelEnd": "End", "LabelEnd": "End",
"LabelEndOfChapter": "End of Chapter", "LabelEndOfChapter": "End of Chapter",
"LabelEpisode": "Episode", "LabelEpisode": "Episode",
"LabelEpisodeNotLinkedToRssFeed": "Episode not linked to RSS feed",
"LabelEpisodeNumber": "Episode #{0}",
"LabelEpisodeTitle": "Episode Title", "LabelEpisodeTitle": "Episode Title",
"LabelEpisodeType": "Episode Type", "LabelEpisodeType": "Episode Type",
"LabelEpisodeUrlFromRssFeed": "Episode URL from RSS feed",
"LabelEpisodes": "Episodes", "LabelEpisodes": "Episodes",
"LabelEpisodic": "Episodic",
"LabelExample": "Example", "LabelExample": "Example",
"LabelExpandSeries": "Expand Series", "LabelExpandSeries": "Expand Series",
"LabelExpandSubSeries": "Expand Sub Series", "LabelExpandSubSeries": "Expand Sub Series",
@@ -335,6 +358,7 @@
"LabelFontScale": "Font scale", "LabelFontScale": "Font scale",
"LabelFontStrikethrough": "Strikethrough", "LabelFontStrikethrough": "Strikethrough",
"LabelFormat": "Format", "LabelFormat": "Format",
"LabelFull": "Full",
"LabelGenre": "Genre", "LabelGenre": "Genre",
"LabelGenres": "Genres", "LabelGenres": "Genres",
"LabelHardDeleteFile": "Hard delete file", "LabelHardDeleteFile": "Hard delete file",
@@ -390,6 +414,10 @@
"LabelLowestPriority": "Lowest Priority", "LabelLowestPriority": "Lowest Priority",
"LabelMatchExistingUsersBy": "Match existing users by", "LabelMatchExistingUsersBy": "Match existing users by",
"LabelMatchExistingUsersByDescription": "Used for connecting existing users. Once connected, users will be matched by a unique id from your SSO provider", "LabelMatchExistingUsersByDescription": "Used for connecting existing users. Once connected, users will be matched by a unique id from your SSO provider",
"LabelMaxEpisodesToDownload": "Max # of episodes to download. Use 0 for unlimited.",
"LabelMaxEpisodesToDownloadPerCheck": "Max # of new episodes to download per check",
"LabelMaxEpisodesToKeep": "Max # of episodes to keep",
"LabelMaxEpisodesToKeepHelp": "Value of 0 sets no max limit. After a new episode is auto-downloaded this will delete the oldest episode if you have more than X episodes. This will only delete 1 episode per new download.",
"LabelMediaPlayer": "Media Player", "LabelMediaPlayer": "Media Player",
"LabelMediaType": "Media Type", "LabelMediaType": "Media Type",
"LabelMetaTag": "Meta Tag", "LabelMetaTag": "Meta Tag",
@@ -464,6 +492,8 @@
"LabelPubDate": "Pub Date", "LabelPubDate": "Pub Date",
"LabelPublishYear": "Publish Year", "LabelPublishYear": "Publish Year",
"LabelPublishedDate": "Published {0}", "LabelPublishedDate": "Published {0}",
"LabelPublishedDecade": "Published Decade",
"LabelPublishedDecades": "Published Decades",
"LabelPublisher": "Publisher", "LabelPublisher": "Publisher",
"LabelPublishers": "Publishers", "LabelPublishers": "Publishers",
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email", "LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
@@ -483,21 +513,28 @@
"LabelRedo": "Redo", "LabelRedo": "Redo",
"LabelRegion": "Region", "LabelRegion": "Region",
"LabelReleaseDate": "Release Date", "LabelReleaseDate": "Release Date",
"LabelRemoveAllMetadataAbs": "Remove all metadata.abs files",
"LabelRemoveAllMetadataJson": "Remove all metadata.json files",
"LabelRemoveCover": "Remove cover", "LabelRemoveCover": "Remove cover",
"LabelRemoveMetadataFile": "Remove metadata files in library item folders",
"LabelRemoveMetadataFileHelp": "Remove all metadata.json and metadata.abs files in your {0} folders.",
"LabelRowsPerPage": "Rows per page", "LabelRowsPerPage": "Rows per page",
"LabelSearchTerm": "Search Term", "LabelSearchTerm": "Search Term",
"LabelSearchTitle": "Search Title", "LabelSearchTitle": "Search Title",
"LabelSearchTitleOrASIN": "Search Title or ASIN", "LabelSearchTitleOrASIN": "Search Title or ASIN",
"LabelSeason": "Season", "LabelSeason": "Season",
"LabelSeasonNumber": "Season #{0}",
"LabelSelectAll": "Select all", "LabelSelectAll": "Select all",
"LabelSelectAllEpisodes": "Select all episodes", "LabelSelectAllEpisodes": "Select all episodes",
"LabelSelectEpisodesShowing": "Select {0} episodes showing", "LabelSelectEpisodesShowing": "Select {0} episodes showing",
"LabelSelectUsers": "Select users", "LabelSelectUsers": "Select users",
"LabelSendEbookToDevice": "Send Ebook to...", "LabelSendEbookToDevice": "Send Ebook to...",
"LabelSequence": "Sequence", "LabelSequence": "Sequence",
"LabelSerial": "Serial",
"LabelSeries": "Series", "LabelSeries": "Series",
"LabelSeriesName": "Series Name", "LabelSeriesName": "Series Name",
"LabelSeriesProgress": "Series Progress", "LabelSeriesProgress": "Series Progress",
"LabelServerLogLevel": "Server Log Level",
"LabelServerYearReview": "Server Year in Review ({0})", "LabelServerYearReview": "Server Year in Review ({0})",
"LabelSetEbookAsPrimary": "Set as primary", "LabelSetEbookAsPrimary": "Set as primary",
"LabelSetEbookAsSupplementary": "Set as supplementary", "LabelSetEbookAsSupplementary": "Set as supplementary",
@@ -586,6 +623,7 @@
"LabelTimeDurationXMinutes": "{0} minutes", "LabelTimeDurationXMinutes": "{0} minutes",
"LabelTimeDurationXSeconds": "{0} seconds", "LabelTimeDurationXSeconds": "{0} seconds",
"LabelTimeInMinutes": "Time in minutes", "LabelTimeInMinutes": "Time in minutes",
"LabelTimeLeft": "{0} left",
"LabelTimeListened": "Time Listened", "LabelTimeListened": "Time Listened",
"LabelTimeListenedToday": "Time Listened Today", "LabelTimeListenedToday": "Time Listened Today",
"LabelTimeRemaining": "{0} remaining", "LabelTimeRemaining": "{0} remaining",
@@ -593,6 +631,7 @@
"LabelTitle": "Title", "LabelTitle": "Title",
"LabelToolsEmbedMetadata": "Embed Metadata", "LabelToolsEmbedMetadata": "Embed Metadata",
"LabelToolsEmbedMetadataDescription": "Embed metadata into audio files including cover image and chapters.", "LabelToolsEmbedMetadataDescription": "Embed metadata into audio files including cover image and chapters.",
"LabelToolsM4bEncoder": "M4B Encoder",
"LabelToolsMakeM4b": "Make M4B Audiobook File", "LabelToolsMakeM4b": "Make M4B Audiobook File",
"LabelToolsMakeM4bDescription": "Generate a .M4B audiobook file with embedded metadata, cover image, and chapters.", "LabelToolsMakeM4bDescription": "Generate a .M4B audiobook file with embedded metadata, cover image, and chapters.",
"LabelToolsSplitM4b": "Split M4B to MP3's", "LabelToolsSplitM4b": "Split M4B to MP3's",
@@ -605,6 +644,7 @@
"LabelTracksMultiTrack": "Multi-track", "LabelTracksMultiTrack": "Multi-track",
"LabelTracksNone": "No tracks", "LabelTracksNone": "No tracks",
"LabelTracksSingleTrack": "Single-track", "LabelTracksSingleTrack": "Single-track",
"LabelTrailer": "Trailer",
"LabelType": "Type", "LabelType": "Type",
"LabelUnabridged": "Unabridged", "LabelUnabridged": "Unabridged",
"LabelUndo": "Undo", "LabelUndo": "Undo",
@@ -618,8 +658,10 @@
"LabelUploaderDragAndDrop": "Drag & drop files or folders", "LabelUploaderDragAndDrop": "Drag & drop files or folders",
"LabelUploaderDropFiles": "Drop files", "LabelUploaderDropFiles": "Drop files",
"LabelUploaderItemFetchMetadataHelp": "Automatically fetch title, author, and series", "LabelUploaderItemFetchMetadataHelp": "Automatically fetch title, author, and series",
"LabelUseAdvancedOptions": "Use Advanced Options",
"LabelUseChapterTrack": "Use chapter track", "LabelUseChapterTrack": "Use chapter track",
"LabelUseFullTrack": "Use full track", "LabelUseFullTrack": "Use full track",
"LabelUseZeroForUnlimited": "Use 0 for unlimited",
"LabelUser": "User", "LabelUser": "User",
"LabelUsername": "Username", "LabelUsername": "Username",
"LabelValue": "Value", "LabelValue": "Value",
@@ -666,6 +708,7 @@
"MessageConfirmDeleteMetadataProvider": "Are you sure you want to delete custom metadata provider \"{0}\"?", "MessageConfirmDeleteMetadataProvider": "Are you sure you want to delete custom metadata provider \"{0}\"?",
"MessageConfirmDeleteNotification": "Are you sure you want to delete this notification?", "MessageConfirmDeleteNotification": "Are you sure you want to delete this notification?",
"MessageConfirmDeleteSession": "Are you sure you want to delete this session?", "MessageConfirmDeleteSession": "Are you sure you want to delete this session?",
"MessageConfirmEmbedMetadataInAudioFiles": "Are you sure you want to embed metadata in {0} audio files?",
"MessageConfirmForceReScan": "Are you sure you want to force re-scan?", "MessageConfirmForceReScan": "Are you sure you want to force re-scan?",
"MessageConfirmMarkAllEpisodesFinished": "Are you sure you want to mark all episodes as finished?", "MessageConfirmMarkAllEpisodesFinished": "Are you sure you want to mark all episodes as finished?",
"MessageConfirmMarkAllEpisodesNotFinished": "Are you sure you want to mark all episodes as not finished?", "MessageConfirmMarkAllEpisodesNotFinished": "Are you sure you want to mark all episodes as not finished?",
@@ -677,6 +720,7 @@
"MessageConfirmPurgeCache": "Purge cache will delete the entire directory at <code>/metadata/cache</code>. <br /><br />Are you sure you want to remove the cache directory?", "MessageConfirmPurgeCache": "Purge cache will delete the entire directory at <code>/metadata/cache</code>. <br /><br />Are you sure you want to remove the cache directory?",
"MessageConfirmPurgeItemsCache": "Purge items cache will delete the entire directory at <code>/metadata/cache/items</code>.<br />Are you sure?", "MessageConfirmPurgeItemsCache": "Purge items cache will delete the entire directory at <code>/metadata/cache/items</code>.<br />Are you sure?",
"MessageConfirmQuickEmbed": "Warning! Quick embed will not backup your audio files. Make sure that you have a backup of your audio files. <br><br>Would you like to continue?", "MessageConfirmQuickEmbed": "Warning! Quick embed will not backup your audio files. Make sure that you have a backup of your audio files. <br><br>Would you like to continue?",
"MessageConfirmQuickMatchEpisodes": "Quick matching episodes will overwrite details if a match is found. Only unmatched episodes will be updated. Are you sure?",
"MessageConfirmReScanLibraryItems": "Are you sure you want to re-scan {0} items?", "MessageConfirmReScanLibraryItems": "Are you sure you want to re-scan {0} items?",
"MessageConfirmRemoveAllChapters": "Are you sure you want to remove all chapters?", "MessageConfirmRemoveAllChapters": "Are you sure you want to remove all chapters?",
"MessageConfirmRemoveAuthor": "Are you sure you want to remove author \"{0}\"?", "MessageConfirmRemoveAuthor": "Are you sure you want to remove author \"{0}\"?",
@@ -684,6 +728,7 @@
"MessageConfirmRemoveEpisode": "Are you sure you want to remove episode \"{0}\"?", "MessageConfirmRemoveEpisode": "Are you sure you want to remove episode \"{0}\"?",
"MessageConfirmRemoveEpisodes": "Are you sure you want to remove {0} episodes?", "MessageConfirmRemoveEpisodes": "Are you sure you want to remove {0} episodes?",
"MessageConfirmRemoveListeningSessions": "Are you sure you want to remove {0} listening sessions?", "MessageConfirmRemoveListeningSessions": "Are you sure you want to remove {0} listening sessions?",
"MessageConfirmRemoveMetadataFiles": "Are you sure you want to remove all metadata.{0} files in your library item folders?",
"MessageConfirmRemoveNarrator": "Are you sure you want to remove narrator \"{0}\"?", "MessageConfirmRemoveNarrator": "Are you sure you want to remove narrator \"{0}\"?",
"MessageConfirmRemovePlaylist": "Are you sure you want to remove your playlist \"{0}\"?", "MessageConfirmRemovePlaylist": "Are you sure you want to remove your playlist \"{0}\"?",
"MessageConfirmRenameGenre": "Are you sure you want to rename genre \"{0}\" to \"{1}\" for all items?", "MessageConfirmRenameGenre": "Are you sure you want to rename genre \"{0}\" to \"{1}\" for all items?",
@@ -699,6 +744,7 @@
"MessageDragFilesIntoTrackOrder": "Drag files into correct track order", "MessageDragFilesIntoTrackOrder": "Drag files into correct track order",
"MessageEmbedFailed": "Embed Failed!", "MessageEmbedFailed": "Embed Failed!",
"MessageEmbedFinished": "Embed Finished!", "MessageEmbedFinished": "Embed Finished!",
"MessageEmbedQueue": "Queued for metadata embed ({0} in queue)",
"MessageEpisodesQueuedForDownload": "{0} Episode(s) queued for download", "MessageEpisodesQueuedForDownload": "{0} Episode(s) queued for download",
"MessageEreaderDevices": "To ensure delivery of ebooks, you may need to add the above email address as a valid sender for each device listed below.", "MessageEreaderDevices": "To ensure delivery of ebooks, you may need to add the above email address as a valid sender for each device listed below.",
"MessageFeedURLWillBe": "Feed URL will be {0}", "MessageFeedURLWillBe": "Feed URL will be {0}",
@@ -743,6 +789,7 @@
"MessageNoLogs": "No Logs", "MessageNoLogs": "No Logs",
"MessageNoMediaProgress": "No Media Progress", "MessageNoMediaProgress": "No Media Progress",
"MessageNoNotifications": "No Notifications", "MessageNoNotifications": "No Notifications",
"MessageNoPodcastFeed": "Invalid podcast: No Feed",
"MessageNoPodcastsFound": "No podcasts found", "MessageNoPodcastsFound": "No podcasts found",
"MessageNoResults": "No Results", "MessageNoResults": "No Results",
"MessageNoSearchResultsFor": "No search results for \"{0}\"", "MessageNoSearchResultsFor": "No search results for \"{0}\"",
@@ -759,6 +806,10 @@
"MessagePlaylistCreateFromCollection": "Create playlist from collection", "MessagePlaylistCreateFromCollection": "Create playlist from collection",
"MessagePleaseWait": "Please wait...", "MessagePleaseWait": "Please wait...",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast has no RSS feed url to use for matching", "MessagePodcastHasNoRSSFeedForMatching": "Podcast has no RSS feed url to use for matching",
"MessagePodcastSearchField": "Enter search term or RSS feed URL",
"MessageQuickEmbedInProgress": "Quick embed in progress",
"MessageQuickEmbedQueue": "Queued for quick embed ({0} in queue)",
"MessageQuickMatchAllEpisodes": "Quick Match All Episodes",
"MessageQuickMatchDescription": "Populate empty item details & cover with first match result from '{0}'. Does not overwrite details unless 'Prefer matched metadata' server setting is enabled.", "MessageQuickMatchDescription": "Populate empty item details & cover with first match result from '{0}'. Does not overwrite details unless 'Prefer matched metadata' server setting is enabled.",
"MessageRemoveChapter": "Remove chapter", "MessageRemoveChapter": "Remove chapter",
"MessageRemoveEpisodes": "Remove {0} episode(s)", "MessageRemoveEpisodes": "Remove {0} episode(s)",
@@ -776,6 +827,41 @@
"MessageShareExpiresIn": "Expires in {0}", "MessageShareExpiresIn": "Expires in {0}",
"MessageShareURLWillBe": "Share URL will be <strong>{0}</strong>", "MessageShareURLWillBe": "Share URL will be <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Start playback for \"{0}\" at {1}?", "MessageStartPlaybackAtTime": "Start playback for \"{0}\" at {1}?",
"MessageTaskAudioFileNotWritable": "Audio file \"{0}\" is not writable",
"MessageTaskCanceledByUser": "Task canceled by user",
"MessageTaskDownloadingEpisodeDescription": "Downloading episode \"{0}\"",
"MessageTaskEmbeddingMetadata": "Embedding metadata",
"MessageTaskEmbeddingMetadataDescription": "Embedding metadata in audiobook \"{0}\"",
"MessageTaskEncodingM4b": "Encoding M4B",
"MessageTaskEncodingM4bDescription": "Encoding audiobook \"{0}\" into a single m4b file",
"MessageTaskFailed": "Failed",
"MessageTaskFailedToBackupAudioFile": "Failed to backup audio file \"{0}\"",
"MessageTaskFailedToCreateCacheDirectory": "Failed to create cache directory",
"MessageTaskFailedToEmbedMetadataInFile": "Failed to embed metadata in file \"{0}\"",
"MessageTaskFailedToMergeAudioFiles": "Failed to merge audio files",
"MessageTaskFailedToMoveM4bFile": "Failed to move m4b file",
"MessageTaskFailedToWriteMetadataFile": "Failed to write metadata file",
"MessageTaskMatchingBooksInLibrary": "Matching books in library \"{0}\"",
"MessageTaskNoFilesToScan": "No files to scan",
"MessageTaskOpmlImport": "OPML import",
"MessageTaskOpmlImportDescription": "Creating podcasts from {0} RSS feeds",
"MessageTaskOpmlImportFeed": "OPML import feed",
"MessageTaskOpmlImportFeedDescription": "Importing RSS feed \"{0}\"",
"MessageTaskOpmlImportFeedFailed": "Failed to get podcast feed",
"MessageTaskOpmlImportFeedPodcastDescription": "Creating podcast \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast already exists at path",
"MessageTaskOpmlImportFeedPodcastFailed": "Failed to create podcast",
"MessageTaskOpmlImportFinished": "Added {0} podcasts",
"MessageTaskOpmlParseFailed": "Failed to parse OPML file",
"MessageTaskOpmlParseFastFail": "Invalid OPML file <opml> tag not found OR an <outline> tag was not found",
"MessageTaskOpmlParseNoneFound": "No feeds found in OPML file",
"MessageTaskScanItemsAdded": "{0} added",
"MessageTaskScanItemsMissing": "{0} missing",
"MessageTaskScanItemsUpdated": "{0} updated",
"MessageTaskScanNoChangesNeeded": "No changes needed",
"MessageTaskScanningFileChanges": "Scanning file changes in \"{0}\"",
"MessageTaskScanningLibrary": "Scanning \"{0}\" library",
"MessageTaskTargetDirectoryNotWritable": "Target directory is not writable",
"MessageThinking": "Thinking...", "MessageThinking": "Thinking...",
"MessageUploaderItemFailed": "Failed to upload", "MessageUploaderItemFailed": "Failed to upload",
"MessageUploaderItemSuccess": "Successfully Uploaded!", "MessageUploaderItemSuccess": "Successfully Uploaded!",
@@ -793,6 +879,10 @@
"NoteUploaderFoldersWithMediaFiles": "Folders with media files will be handled as separate library items.", "NoteUploaderFoldersWithMediaFiles": "Folders with media files will be handled as separate library items.",
"NoteUploaderOnlyAudioFiles": "If uploading only audio files then each audio file will be handled as a separate audiobook.", "NoteUploaderOnlyAudioFiles": "If uploading only audio files then each audio file will be handled as a separate audiobook.",
"NoteUploaderUnsupportedFiles": "Unsupported files are ignored. When choosing or dropping a folder, other files that are not in an item folder are ignored.", "NoteUploaderUnsupportedFiles": "Unsupported files are ignored. When choosing or dropping a folder, other files that are not in an item folder are ignored.",
"NotificationOnBackupCompletedDescription": "Triggered when a backup is completed",
"NotificationOnBackupFailedDescription": "Triggered when a backup fails",
"NotificationOnEpisodeDownloadedDescription": "Triggered when a podcast episode is auto-downloaded",
"NotificationOnTestDescription": "Event for testing the notification system",
"PlaceholderNewCollection": "New collection name", "PlaceholderNewCollection": "New collection name",
"PlaceholderNewFolderPath": "New folder path", "PlaceholderNewFolderPath": "New folder path",
"PlaceholderNewPlaylist": "New playlist name", "PlaceholderNewPlaylist": "New playlist name",
@@ -816,14 +906,13 @@
"StatsTopNarrators": "TOP NARRATORS", "StatsTopNarrators": "TOP NARRATORS",
"StatsTotalDuration": "With a total duration of…", "StatsTotalDuration": "With a total duration of…",
"StatsYearInReview": "YEAR IN REVIEW", "StatsYearInReview": "YEAR IN REVIEW",
"ToastAccountUpdateFailed": "Failed to update account",
"ToastAccountUpdateSuccess": "Account updated", "ToastAccountUpdateSuccess": "Account updated",
"ToastAppriseUrlRequired": "Must enter an Apprise URL", "ToastAppriseUrlRequired": "Must enter an Apprise URL",
"ToastAsinRequired": "ASIN is required",
"ToastAuthorImageRemoveSuccess": "Author image removed", "ToastAuthorImageRemoveSuccess": "Author image removed",
"ToastAuthorNotFound": "Author \"{0}\" not found", "ToastAuthorNotFound": "Author \"{0}\" not found",
"ToastAuthorRemoveSuccess": "Author removed", "ToastAuthorRemoveSuccess": "Author removed",
"ToastAuthorSearchNotFound": "Author not found", "ToastAuthorSearchNotFound": "Author not found",
"ToastAuthorUpdateFailed": "Failed to update author",
"ToastAuthorUpdateMerged": "Author merged", "ToastAuthorUpdateMerged": "Author merged",
"ToastAuthorUpdateSuccess": "Author updated", "ToastAuthorUpdateSuccess": "Author updated",
"ToastAuthorUpdateSuccessNoImageFound": "Author updated (no image found)", "ToastAuthorUpdateSuccessNoImageFound": "Author updated (no image found)",
@@ -834,29 +923,29 @@
"ToastBackupDeleteSuccess": "Backup deleted", "ToastBackupDeleteSuccess": "Backup deleted",
"ToastBackupInvalidMaxKeep": "Invalid number of backups to keep", "ToastBackupInvalidMaxKeep": "Invalid number of backups to keep",
"ToastBackupInvalidMaxSize": "Invalid maximum backup size", "ToastBackupInvalidMaxSize": "Invalid maximum backup size",
"ToastBackupPathUpdateFailed": "Failed to update backup path",
"ToastBackupRestoreFailed": "Failed to restore backup", "ToastBackupRestoreFailed": "Failed to restore backup",
"ToastBackupUploadFailed": "Failed to upload backup", "ToastBackupUploadFailed": "Failed to upload backup",
"ToastBackupUploadSuccess": "Backup uploaded", "ToastBackupUploadSuccess": "Backup uploaded",
"ToastBatchDeleteFailed": "Batch delete failed", "ToastBatchDeleteFailed": "Batch delete failed",
"ToastBatchDeleteSuccess": "Batch delete success", "ToastBatchDeleteSuccess": "Batch delete success",
"ToastBatchQuickMatchFailed": "Batch Quick Match failed!",
"ToastBatchQuickMatchStarted": "Batch Quick Match of {0} books started!",
"ToastBatchUpdateFailed": "Batch update failed", "ToastBatchUpdateFailed": "Batch update failed",
"ToastBatchUpdateSuccess": "Batch update success", "ToastBatchUpdateSuccess": "Batch update success",
"ToastBookmarkCreateFailed": "Failed to create bookmark", "ToastBookmarkCreateFailed": "Failed to create bookmark",
"ToastBookmarkCreateSuccess": "Bookmark added", "ToastBookmarkCreateSuccess": "Bookmark added",
"ToastBookmarkRemoveSuccess": "Bookmark removed", "ToastBookmarkRemoveSuccess": "Bookmark removed",
"ToastBookmarkUpdateFailed": "Failed to update bookmark",
"ToastBookmarkUpdateSuccess": "Bookmark updated", "ToastBookmarkUpdateSuccess": "Bookmark updated",
"ToastCachePurgeFailed": "Failed to purge cache", "ToastCachePurgeFailed": "Failed to purge cache",
"ToastCachePurgeSuccess": "Cache purged successfully", "ToastCachePurgeSuccess": "Cache purged successfully",
"ToastChaptersHaveErrors": "Chapters have errors", "ToastChaptersHaveErrors": "Chapters have errors",
"ToastChaptersMustHaveTitles": "Chapters must have titles", "ToastChaptersMustHaveTitles": "Chapters must have titles",
"ToastChaptersRemoved": "Chapters removed", "ToastChaptersRemoved": "Chapters removed",
"ToastChaptersUpdated": "Chapters updated",
"ToastCollectionItemsAddFailed": "Item(s) added to collection failed", "ToastCollectionItemsAddFailed": "Item(s) added to collection failed",
"ToastCollectionItemsAddSuccess": "Item(s) added to collection success", "ToastCollectionItemsAddSuccess": "Item(s) added to collection success",
"ToastCollectionItemsRemoveSuccess": "Item(s) removed from collection", "ToastCollectionItemsRemoveSuccess": "Item(s) removed from collection",
"ToastCollectionRemoveSuccess": "Collection removed", "ToastCollectionRemoveSuccess": "Collection removed",
"ToastCollectionUpdateFailed": "Failed to update collection",
"ToastCollectionUpdateSuccess": "Collection updated", "ToastCollectionUpdateSuccess": "Collection updated",
"ToastCoverUpdateFailed": "Cover update failed", "ToastCoverUpdateFailed": "Cover update failed",
"ToastDeleteFileFailed": "Failed to delete file", "ToastDeleteFileFailed": "Failed to delete file",
@@ -865,31 +954,28 @@
"ToastDeviceNameAlreadyExists": "Ereader device with that name already exists", "ToastDeviceNameAlreadyExists": "Ereader device with that name already exists",
"ToastDeviceTestEmailFailed": "Failed to send test email", "ToastDeviceTestEmailFailed": "Failed to send test email",
"ToastDeviceTestEmailSuccess": "Test email sent", "ToastDeviceTestEmailSuccess": "Test email sent",
"ToastDeviceUpdateFailed": "Failed to update device",
"ToastEmailSettingsUpdateFailed": "Failed to update email settings",
"ToastEmailSettingsUpdateSuccess": "Email settings updated", "ToastEmailSettingsUpdateSuccess": "Email settings updated",
"ToastEncodeCancelFailed": "Failed to cancel encode", "ToastEncodeCancelFailed": "Failed to cancel encode",
"ToastEncodeCancelSucces": "Encode canceled", "ToastEncodeCancelSucces": "Encode canceled",
"ToastEpisodeDownloadQueueClearFailed": "Failed to clear queue", "ToastEpisodeDownloadQueueClearFailed": "Failed to clear queue",
"ToastEpisodeDownloadQueueClearSuccess": "Episode download queue cleared", "ToastEpisodeDownloadQueueClearSuccess": "Episode download queue cleared",
"ToastEpisodeUpdateSuccess": "{0} episodes updated",
"ToastErrorCannotShare": "Cannot share natively on this device", "ToastErrorCannotShare": "Cannot share natively on this device",
"ToastFailedToLoadData": "Failed to load data", "ToastFailedToLoadData": "Failed to load data",
"ToastFailedToMatch": "Failed to match",
"ToastFailedToShare": "Failed to share", "ToastFailedToShare": "Failed to share",
"ToastFailedToUpdateAccount": "Failed to update account", "ToastFailedToUpdate": "Failed to update",
"ToastFailedToUpdateUser": "Failed to update user",
"ToastInvalidImageUrl": "Invalid image URL", "ToastInvalidImageUrl": "Invalid image URL",
"ToastInvalidMaxEpisodesToDownload": "Invalid max episodes to download",
"ToastInvalidUrl": "Invalid URL", "ToastInvalidUrl": "Invalid URL",
"ToastItemCoverUpdateFailed": "Failed to update item cover",
"ToastItemCoverUpdateSuccess": "Item cover updated", "ToastItemCoverUpdateSuccess": "Item cover updated",
"ToastItemDeletedFailed": "Failed to delete item", "ToastItemDeletedFailed": "Failed to delete item",
"ToastItemDeletedSuccess": "Deleted item", "ToastItemDeletedSuccess": "Deleted item",
"ToastItemDetailsUpdateFailed": "Failed to update item details",
"ToastItemDetailsUpdateSuccess": "Item details updated", "ToastItemDetailsUpdateSuccess": "Item details updated",
"ToastItemMarkedAsFinishedFailed": "Failed to mark as Finished", "ToastItemMarkedAsFinishedFailed": "Failed to mark as Finished",
"ToastItemMarkedAsFinishedSuccess": "Item marked as Finished", "ToastItemMarkedAsFinishedSuccess": "Item marked as Finished",
"ToastItemMarkedAsNotFinishedFailed": "Failed to mark as Not Finished", "ToastItemMarkedAsNotFinishedFailed": "Failed to mark as Not Finished",
"ToastItemMarkedAsNotFinishedSuccess": "Item marked as Not Finished", "ToastItemMarkedAsNotFinishedSuccess": "Item marked as Not Finished",
"ToastItemUpdateFailed": "Failed to update item",
"ToastItemUpdateSuccess": "Item updated", "ToastItemUpdateSuccess": "Item updated",
"ToastLibraryCreateFailed": "Failed to create library", "ToastLibraryCreateFailed": "Failed to create library",
"ToastLibraryCreateSuccess": "Library \"{0}\" created", "ToastLibraryCreateSuccess": "Library \"{0}\" created",
@@ -897,37 +983,42 @@
"ToastLibraryDeleteSuccess": "Library deleted", "ToastLibraryDeleteSuccess": "Library deleted",
"ToastLibraryScanFailedToStart": "Failed to start scan", "ToastLibraryScanFailedToStart": "Failed to start scan",
"ToastLibraryScanStarted": "Library scan started", "ToastLibraryScanStarted": "Library scan started",
"ToastLibraryUpdateFailed": "Failed to update library",
"ToastLibraryUpdateSuccess": "Library \"{0}\" updated", "ToastLibraryUpdateSuccess": "Library \"{0}\" updated",
"ToastMatchAllAuthorsFailed": "Failed to match all authors",
"ToastMetadataFilesRemovedError": "Error removing metadata.{0} files",
"ToastMetadataFilesRemovedNoneFound": "No metadata.{0} files found in library",
"ToastMetadataFilesRemovedNoneRemoved": "No metadata.{0} files removed",
"ToastMetadataFilesRemovedSuccess": "{0} metadata.{1} files removed",
"ToastMustHaveAtLeastOnePath": "Must have at least one path",
"ToastNameEmailRequired": "Name and email are required", "ToastNameEmailRequired": "Name and email are required",
"ToastNameRequired": "Name is required", "ToastNameRequired": "Name is required",
"ToastNewEpisodesFound": "{0} new episodes found",
"ToastNewUserCreatedFailed": "Failed to create account: \"{0}\"", "ToastNewUserCreatedFailed": "Failed to create account: \"{0}\"",
"ToastNewUserCreatedSuccess": "New account created", "ToastNewUserCreatedSuccess": "New account created",
"ToastNewUserLibraryError": "Must select at least one library", "ToastNewUserLibraryError": "Must select at least one library",
"ToastNewUserPasswordError": "Must have a password, only root user can have an empty password", "ToastNewUserPasswordError": "Must have a password, only root user can have an empty password",
"ToastNewUserTagError": "Must select at least one tag", "ToastNewUserTagError": "Must select at least one tag",
"ToastNewUserUsernameError": "Enter a username", "ToastNewUserUsernameError": "Enter a username",
"ToastNoNewEpisodesFound": "No new episodes found",
"ToastNoUpdatesNecessary": "No updates necessary", "ToastNoUpdatesNecessary": "No updates necessary",
"ToastNotificationCreateFailed": "Failed to create notification", "ToastNotificationCreateFailed": "Failed to create notification",
"ToastNotificationDeleteFailed": "Failed to delete notification", "ToastNotificationDeleteFailed": "Failed to delete notification",
"ToastNotificationFailedMaximum": "Max failed attempts must be >= 0", "ToastNotificationFailedMaximum": "Max failed attempts must be >= 0",
"ToastNotificationQueueMaximum": "Max notification queue must be >= 0", "ToastNotificationQueueMaximum": "Max notification queue must be >= 0",
"ToastNotificationSettingsUpdateFailed": "Failed to update notification settings",
"ToastNotificationSettingsUpdateSuccess": "Notification settings updated", "ToastNotificationSettingsUpdateSuccess": "Notification settings updated",
"ToastNotificationTestTriggerFailed": "Failed to trigger test notification", "ToastNotificationTestTriggerFailed": "Failed to trigger test notification",
"ToastNotificationTestTriggerSuccess": "Triggered test notification", "ToastNotificationTestTriggerSuccess": "Triggered test notification",
"ToastNotificationUpdateFailed": "Failed to update notification",
"ToastNotificationUpdateSuccess": "Notification updated", "ToastNotificationUpdateSuccess": "Notification updated",
"ToastPlaylistCreateFailed": "Failed to create playlist", "ToastPlaylistCreateFailed": "Failed to create playlist",
"ToastPlaylistCreateSuccess": "Playlist created", "ToastPlaylistCreateSuccess": "Playlist created",
"ToastPlaylistRemoveSuccess": "Playlist removed", "ToastPlaylistRemoveSuccess": "Playlist removed",
"ToastPlaylistUpdateFailed": "Failed to update playlist",
"ToastPlaylistUpdateSuccess": "Playlist updated", "ToastPlaylistUpdateSuccess": "Playlist updated",
"ToastPodcastCreateFailed": "Failed to create podcast", "ToastPodcastCreateFailed": "Failed to create podcast",
"ToastPodcastCreateSuccess": "Podcast created successfully", "ToastPodcastCreateSuccess": "Podcast created successfully",
"ToastPodcastGetFeedFailed": "Failed to get podcast feed", "ToastPodcastGetFeedFailed": "Failed to get podcast feed",
"ToastPodcastNoEpisodesInFeed": "No episodes found in RSS feed", "ToastPodcastNoEpisodesInFeed": "No episodes found in RSS feed",
"ToastPodcastNoRssFeed": "Podcast does not have an RSS feed", "ToastPodcastNoRssFeed": "Podcast does not have an RSS feed",
"ToastProgressIsNotBeingSynced": "Progress is not being synced, restart playback",
"ToastProviderCreatedFailed": "Failed to add provider", "ToastProviderCreatedFailed": "Failed to add provider",
"ToastProviderCreatedSuccess": "New provider added", "ToastProviderCreatedSuccess": "New provider added",
"ToastProviderNameAndUrlRequired": "Name and Url required", "ToastProviderNameAndUrlRequired": "Name and Url required",
@@ -950,18 +1041,17 @@
"ToastSendEbookToDeviceSuccess": "Ebook sent to device \"{0}\"", "ToastSendEbookToDeviceSuccess": "Ebook sent to device \"{0}\"",
"ToastSeriesUpdateFailed": "Series update failed", "ToastSeriesUpdateFailed": "Series update failed",
"ToastSeriesUpdateSuccess": "Series update success", "ToastSeriesUpdateSuccess": "Series update success",
"ToastServerSettingsUpdateFailed": "Failed to update server settings",
"ToastServerSettingsUpdateSuccess": "Server settings updated", "ToastServerSettingsUpdateSuccess": "Server settings updated",
"ToastSessionCloseFailed": "Failed to close session", "ToastSessionCloseFailed": "Failed to close session",
"ToastSessionDeleteFailed": "Failed to delete session", "ToastSessionDeleteFailed": "Failed to delete session",
"ToastSessionDeleteSuccess": "Session deleted", "ToastSessionDeleteSuccess": "Session deleted",
"ToastSleepTimerDone": "Sleep timer done... zZzzZz",
"ToastSlugMustChange": "Slug contains invalid characters", "ToastSlugMustChange": "Slug contains invalid characters",
"ToastSlugRequired": "Slug is required", "ToastSlugRequired": "Slug is required",
"ToastSocketConnected": "Socket connected", "ToastSocketConnected": "Socket connected",
"ToastSocketDisconnected": "Socket disconnected", "ToastSocketDisconnected": "Socket disconnected",
"ToastSocketFailedToConnect": "Socket failed to connect", "ToastSocketFailedToConnect": "Socket failed to connect",
"ToastSortingPrefixesEmptyError": "Must have at least 1 sorting prefix", "ToastSortingPrefixesEmptyError": "Must have at least 1 sorting prefix",
"ToastSortingPrefixesUpdateFailed": "Failed to update sorting prefixes",
"ToastSortingPrefixesUpdateSuccess": "Sorting prefixes updated ({0} items)", "ToastSortingPrefixesUpdateSuccess": "Sorting prefixes updated ({0} items)",
"ToastTitleRequired": "Title is required", "ToastTitleRequired": "Title is required",
"ToastUnknownError": "Unknown error", "ToastUnknownError": "Unknown error",
+1
View File
@@ -0,0 +1 @@
{}
+78 -19
View File
@@ -30,6 +30,7 @@
"ButtonEditChapters": "Editar Capítulo", "ButtonEditChapters": "Editar Capítulo",
"ButtonEditPodcast": "Editar Podcast", "ButtonEditPodcast": "Editar Podcast",
"ButtonEnable": "Permitir", "ButtonEnable": "Permitir",
"ButtonFireAndFail": "Ejecutado y fallido",
"ButtonFireOnTest": "Activar evento de prueba", "ButtonFireOnTest": "Activar evento de prueba",
"ButtonForceReScan": "Forzar Re-Escaneo", "ButtonForceReScan": "Forzar Re-Escaneo",
"ButtonFullPath": "Ruta de Acceso Completa", "ButtonFullPath": "Ruta de Acceso Completa",
@@ -55,6 +56,7 @@
"ButtonOpenManager": "Abrir Editor", "ButtonOpenManager": "Abrir Editor",
"ButtonPause": "Pausar", "ButtonPause": "Pausar",
"ButtonPlay": "Reproducir", "ButtonPlay": "Reproducir",
"ButtonPlayAll": "Reproducir todo",
"ButtonPlaying": "Reproduciendo", "ButtonPlaying": "Reproduciendo",
"ButtonPlaylists": "Listas de reproducción", "ButtonPlaylists": "Listas de reproducción",
"ButtonPrevious": "Anterior", "ButtonPrevious": "Anterior",
@@ -64,6 +66,7 @@
"ButtonPurgeItemsCache": "Purgar Elementos de Cache", "ButtonPurgeItemsCache": "Purgar Elementos de Cache",
"ButtonQueueAddItem": "Agregar a la Fila", "ButtonQueueAddItem": "Agregar a la Fila",
"ButtonQueueRemoveItem": "Remover de la Fila", "ButtonQueueRemoveItem": "Remover de la Fila",
"ButtonQuickEmbed": "Inserción rápida",
"ButtonQuickEmbedMetadata": "Agregue metadatos rápidamente", "ButtonQuickEmbedMetadata": "Agregue metadatos rápidamente",
"ButtonQuickMatch": "Encontrar Rápido", "ButtonQuickMatch": "Encontrar Rápido",
"ButtonReScan": "Re-Escanear", "ButtonReScan": "Re-Escanear",
@@ -177,6 +180,7 @@
"HeaderRemoveEpisodes": "Remover {0} Episodios", "HeaderRemoveEpisodes": "Remover {0} Episodios",
"HeaderSavedMediaProgress": "Guardar Progreso de Multimedia", "HeaderSavedMediaProgress": "Guardar Progreso de Multimedia",
"HeaderSchedule": "Horario", "HeaderSchedule": "Horario",
"HeaderScheduleEpisodeDownloads": "Programar descargas automáticas de episodios",
"HeaderScheduleLibraryScans": "Programar Escaneo Automático de Biblioteca", "HeaderScheduleLibraryScans": "Programar Escaneo Automático de Biblioteca",
"HeaderSession": "Sesión", "HeaderSession": "Sesión",
"HeaderSetBackupSchedule": "Programar Respaldo", "HeaderSetBackupSchedule": "Programar Respaldo",
@@ -223,6 +227,9 @@
"LabelAllUsersIncludingGuests": "Todos los usuarios e invitados", "LabelAllUsersIncludingGuests": "Todos los usuarios e invitados",
"LabelAlreadyInYourLibrary": "Ya existe en la Biblioteca", "LabelAlreadyInYourLibrary": "Ya existe en la Biblioteca",
"LabelAppend": "Adjuntar", "LabelAppend": "Adjuntar",
"LabelAudioBitrate": "Tasa de bits del audio (por ejemplo, 128k)",
"LabelAudioChannels": "Canales de audio (1 o 2)",
"LabelAudioCodec": "Códec de audio",
"LabelAuthor": "Autor", "LabelAuthor": "Autor",
"LabelAuthorFirstLast": "Autor (Nombre Apellido)", "LabelAuthorFirstLast": "Autor (Nombre Apellido)",
"LabelAuthorLastFirst": "Autor (Apellido, Nombre)", "LabelAuthorLastFirst": "Autor (Apellido, Nombre)",
@@ -235,6 +242,7 @@
"LabelAutoRegister": "Registro automático", "LabelAutoRegister": "Registro automático",
"LabelAutoRegisterDescription": "Crear usuarios automáticamente tras iniciar sesión", "LabelAutoRegisterDescription": "Crear usuarios automáticamente tras iniciar sesión",
"LabelBackToUser": "Regresar a Usuario", "LabelBackToUser": "Regresar a Usuario",
"LabelBackupAudioFiles": "Copia de seguridad de archivos de audio",
"LabelBackupLocation": "Ubicación del Respaldo", "LabelBackupLocation": "Ubicación del Respaldo",
"LabelBackupsEnableAutomaticBackups": "Habilitar Respaldo Automático", "LabelBackupsEnableAutomaticBackups": "Habilitar Respaldo Automático",
"LabelBackupsEnableAutomaticBackupsHelp": "Respaldo Guardado en /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Respaldo Guardado en /metadata/backups",
@@ -248,10 +256,12 @@
"LabelByAuthor": "por {0}", "LabelByAuthor": "por {0}",
"LabelChangePassword": "Cambiar Contraseña", "LabelChangePassword": "Cambiar Contraseña",
"LabelChannels": "Canales", "LabelChannels": "Canales",
"LabelChapterCount": "{0} capítulos",
"LabelChapterTitle": "Titulo del Capítulo", "LabelChapterTitle": "Titulo del Capítulo",
"LabelChapters": "Capítulos", "LabelChapters": "Capítulos",
"LabelChaptersFound": "Capítulo Encontrado", "LabelChaptersFound": "Capítulo Encontrado",
"LabelClickForMoreInfo": "Click para más información", "LabelClickForMoreInfo": "Click para más información",
"LabelClickToUseCurrentValue": "Haz clic para utilizar el valor actual",
"LabelClosePlayer": "Cerrar reproductor", "LabelClosePlayer": "Cerrar reproductor",
"LabelCodec": "Codec", "LabelCodec": "Codec",
"LabelCollapseSeries": "Colapsar serie", "LabelCollapseSeries": "Colapsar serie",
@@ -301,11 +311,23 @@
"LabelEmailSettingsTestAddress": "Probar Dirección", "LabelEmailSettingsTestAddress": "Probar Dirección",
"LabelEmbeddedCover": "Portada Integrada", "LabelEmbeddedCover": "Portada Integrada",
"LabelEnable": "Habilitar", "LabelEnable": "Habilitar",
"LabelEncodingBackupLocation": "Se guardará una copia de seguridad de tus archivos de audio originales en:",
"LabelEncodingChaptersNotEmbedded": "Los capítulos no se incrustan en los audiolibros multipista.",
"LabelEncodingClearItemCache": "Asegúrese de purgar periódicamente la caché.",
"LabelEncodingFinishedM4B": "El M4B terminado se colocará en su carpeta de audiolibros en:",
"LabelEncodingInfoEmbedded": "Los metadatos se integrarán en las pistas de audio dentro de la carpeta de audiolibros.",
"LabelEncodingStartedNavigation": "Una vez iniciada la tarea, puedes salir de esta página.",
"LabelEncodingTimeWarning": "La codificación puede tardar hasta 30 minutos.",
"LabelEncodingWarningAdvancedSettings": "Advertencia: No actualice esta configuración a menos que esté familiarizado con las opciones de codificación de ffmpeg.",
"LabelEncodingWatcherDisabled": "Si ha desactivado la supervisión de los archivos, deberá volver a escanear este audiolibro más adelante.",
"LabelEnd": "Fin", "LabelEnd": "Fin",
"LabelEndOfChapter": "Fin del capítulo", "LabelEndOfChapter": "Fin del capítulo",
"LabelEpisode": "Episodio", "LabelEpisode": "Episodio",
"LabelEpisodeNotLinkedToRssFeed": "Episodio no enlazado al feed RSS",
"LabelEpisodeNumber": "Episodio #{0}",
"LabelEpisodeTitle": "Titulo de Episodio", "LabelEpisodeTitle": "Titulo de Episodio",
"LabelEpisodeType": "Tipo de Episodio", "LabelEpisodeType": "Tipo de Episodio",
"LabelEpisodeUrlFromRssFeed": "URL del episodio del feed RSS",
"LabelEpisodes": "Episodios", "LabelEpisodes": "Episodios",
"LabelExample": "Ejemplo", "LabelExample": "Ejemplo",
"LabelExpandSeries": "Ampliar serie", "LabelExpandSeries": "Ampliar serie",
@@ -334,6 +356,7 @@
"LabelFontScale": "Tamaño de fuente", "LabelFontScale": "Tamaño de fuente",
"LabelFontStrikethrough": "Tachado", "LabelFontStrikethrough": "Tachado",
"LabelFormat": "Formato", "LabelFormat": "Formato",
"LabelFull": "Completo",
"LabelGenre": "Genero", "LabelGenre": "Genero",
"LabelGenres": "Géneros", "LabelGenres": "Géneros",
"LabelHardDeleteFile": "Eliminar Definitivamente", "LabelHardDeleteFile": "Eliminar Definitivamente",
@@ -389,6 +412,7 @@
"LabelLowestPriority": "Menor prioridad", "LabelLowestPriority": "Menor prioridad",
"LabelMatchExistingUsersBy": "Emparejar a los usuarios existentes por", "LabelMatchExistingUsersBy": "Emparejar a los usuarios existentes por",
"LabelMatchExistingUsersByDescription": "Se utiliza para conectar usuarios existentes. Una vez conectados, los usuarios serán emparejados por un identificador único de su proveedor de SSO", "LabelMatchExistingUsersByDescription": "Se utiliza para conectar usuarios existentes. Una vez conectados, los usuarios serán emparejados por un identificador único de su proveedor de SSO",
"LabelMaxEpisodesToDownload": "Número máximo # de episodios para descargar. Usa 0 para descargar una cantidad ilimitada.",
"LabelMediaPlayer": "Reproductor de Medios", "LabelMediaPlayer": "Reproductor de Medios",
"LabelMediaType": "Tipo de multimedia", "LabelMediaType": "Tipo de multimedia",
"LabelMetaTag": "Metaetiqueta", "LabelMetaTag": "Metaetiqueta",
@@ -459,9 +483,12 @@
"LabelPrimaryEbook": "Ebook principal", "LabelPrimaryEbook": "Ebook principal",
"LabelProgress": "Progreso", "LabelProgress": "Progreso",
"LabelProvider": "Proveedor", "LabelProvider": "Proveedor",
"LabelProviderAuthorizationValue": "Valor del encabezado de autorización",
"LabelPubDate": "Fecha de publicación", "LabelPubDate": "Fecha de publicación",
"LabelPublishYear": "Año de publicación", "LabelPublishYear": "Año de publicación",
"LabelPublishedDate": "Publicado {0}", "LabelPublishedDate": "Publicado {0}",
"LabelPublishedDecade": "Década de publicación",
"LabelPublishedDecades": "Décadas publicadas",
"LabelPublisher": "Editor", "LabelPublisher": "Editor",
"LabelPublishers": "Editores", "LabelPublishers": "Editores",
"LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado", "LabelRSSFeedCustomOwnerEmail": "Correo electrónico de dueño personalizado",
@@ -496,6 +523,7 @@
"LabelSeries": "Series", "LabelSeries": "Series",
"LabelSeriesName": "Nombre de la Serie", "LabelSeriesName": "Nombre de la Serie",
"LabelSeriesProgress": "Progreso de la Serie", "LabelSeriesProgress": "Progreso de la Serie",
"LabelServerLogLevel": "Nivel de registro del servidor",
"LabelServerYearReview": "Resumen del año del servidor ({0})", "LabelServerYearReview": "Resumen del año del servidor ({0})",
"LabelSetEbookAsPrimary": "Establecer como primario", "LabelSetEbookAsPrimary": "Establecer como primario",
"LabelSetEbookAsSupplementary": "Establecer como suplementario", "LabelSetEbookAsSupplementary": "Establecer como suplementario",
@@ -591,6 +619,7 @@
"LabelTitle": "Título", "LabelTitle": "Título",
"LabelToolsEmbedMetadata": "Incrustar Metadatos", "LabelToolsEmbedMetadata": "Incrustar Metadatos",
"LabelToolsEmbedMetadataDescription": "Incrusta metadatos en los archivos de audio, incluyendo la portada y capítulos.", "LabelToolsEmbedMetadataDescription": "Incrusta metadatos en los archivos de audio, incluyendo la portada y capítulos.",
"LabelToolsM4bEncoder": "Codificador M4B",
"LabelToolsMakeM4b": "Hacer Archivo de Audiolibro M4B", "LabelToolsMakeM4b": "Hacer Archivo de Audiolibro M4B",
"LabelToolsMakeM4bDescription": "Generar archivo de audiolibro .M4B con metadatos, imágenes de portada y capítulos incorporados.", "LabelToolsMakeM4bDescription": "Generar archivo de audiolibro .M4B con metadatos, imágenes de portada y capítulos incorporados.",
"LabelToolsSplitM4b": "Dividir M4B en Archivos MP3", "LabelToolsSplitM4b": "Dividir M4B en Archivos MP3",
@@ -616,6 +645,7 @@
"LabelUploaderDragAndDrop": "Arrastre y suelte archivos o carpetas", "LabelUploaderDragAndDrop": "Arrastre y suelte archivos o carpetas",
"LabelUploaderDropFiles": "Suelte los Archivos", "LabelUploaderDropFiles": "Suelte los Archivos",
"LabelUploaderItemFetchMetadataHelp": "Buscar título, autor y series automáticamente", "LabelUploaderItemFetchMetadataHelp": "Buscar título, autor y series automáticamente",
"LabelUseAdvancedOptions": "Usar opciones avanzadas",
"LabelUseChapterTrack": "Usar pista por capitulo", "LabelUseChapterTrack": "Usar pista por capitulo",
"LabelUseFullTrack": "Usar pista completa", "LabelUseFullTrack": "Usar pista completa",
"LabelUser": "Usuario", "LabelUser": "Usuario",
@@ -664,6 +694,7 @@
"MessageConfirmDeleteMetadataProvider": "¿Estás seguro de que deseas eliminar el proveedor de metadatos personalizado \"{0}\"?", "MessageConfirmDeleteMetadataProvider": "¿Estás seguro de que deseas eliminar el proveedor de metadatos personalizado \"{0}\"?",
"MessageConfirmDeleteNotification": "¿Estás seguro de que deseas eliminar esta notificación?", "MessageConfirmDeleteNotification": "¿Estás seguro de que deseas eliminar esta notificación?",
"MessageConfirmDeleteSession": "¿Está seguro de que desea eliminar esta sesión?", "MessageConfirmDeleteSession": "¿Está seguro de que desea eliminar esta sesión?",
"MessageConfirmEmbedMetadataInAudioFiles": "¿Está seguro de que desea incrustar metadatos en {0} archivos de audio?",
"MessageConfirmForceReScan": "¿Está seguro de que desea forzar un re-escaneo?", "MessageConfirmForceReScan": "¿Está seguro de que desea forzar un re-escaneo?",
"MessageConfirmMarkAllEpisodesFinished": "¿Está seguro de que desea marcar todos los episodios como terminados?", "MessageConfirmMarkAllEpisodesFinished": "¿Está seguro de que desea marcar todos los episodios como terminados?",
"MessageConfirmMarkAllEpisodesNotFinished": "¿Está seguro de que desea marcar todos los episodios como no terminados?", "MessageConfirmMarkAllEpisodesNotFinished": "¿Está seguro de que desea marcar todos los episodios como no terminados?",
@@ -697,6 +728,7 @@
"MessageDragFilesIntoTrackOrder": "Arrastra los archivos al orden correcto de las pistas", "MessageDragFilesIntoTrackOrder": "Arrastra los archivos al orden correcto de las pistas",
"MessageEmbedFailed": "¡Error al insertar!", "MessageEmbedFailed": "¡Error al insertar!",
"MessageEmbedFinished": "Incrustación Terminada!", "MessageEmbedFinished": "Incrustación Terminada!",
"MessageEmbedQueue": "En cola para incrustar metadatos ({0} en cola)",
"MessageEpisodesQueuedForDownload": "{0} Episodio(s) en cola para descargar", "MessageEpisodesQueuedForDownload": "{0} Episodio(s) en cola para descargar",
"MessageEreaderDevices": "Para garantizar la entrega de libros electrónicos, es posible que tenga que agregar la dirección de correo electrónico anterior como remitente válido para cada dispositivo enumerado a continuación.", "MessageEreaderDevices": "Para garantizar la entrega de libros electrónicos, es posible que tenga que agregar la dirección de correo electrónico anterior como remitente válido para cada dispositivo enumerado a continuación.",
"MessageFeedURLWillBe": "URL de la fuente será {0}", "MessageFeedURLWillBe": "URL de la fuente será {0}",
@@ -741,6 +773,7 @@
"MessageNoLogs": "No hay logs", "MessageNoLogs": "No hay logs",
"MessageNoMediaProgress": "Multimedia sin Progreso", "MessageNoMediaProgress": "Multimedia sin Progreso",
"MessageNoNotifications": "Ninguna Notificación", "MessageNoNotifications": "Ninguna Notificación",
"MessageNoPodcastFeed": "Podcast no válido: Sin feed",
"MessageNoPodcastsFound": "Ningún podcast encontrado", "MessageNoPodcastsFound": "Ningún podcast encontrado",
"MessageNoResults": "Sin Resultados", "MessageNoResults": "Sin Resultados",
"MessageNoSearchResultsFor": "No hay resultados para la búsqueda \"{0}\"", "MessageNoSearchResultsFor": "No hay resultados para la búsqueda \"{0}\"",
@@ -757,6 +790,9 @@
"MessagePlaylistCreateFromCollection": "Crear una lista de reproducción a partir de una colección", "MessagePlaylistCreateFromCollection": "Crear una lista de reproducción a partir de una colección",
"MessagePleaseWait": "Por favor, espera...", "MessagePleaseWait": "Por favor, espera...",
"MessagePodcastHasNoRSSFeedForMatching": "El podcast no tiene una URL de fuente RSS que pueda usar", "MessagePodcastHasNoRSSFeedForMatching": "El podcast no tiene una URL de fuente RSS que pueda usar",
"MessagePodcastSearchField": "Introduzca el término de búsqueda o la URL de la fuente RSS",
"MessageQuickEmbedInProgress": "Integración rápida en proceso",
"MessageQuickEmbedQueue": "En cola para inserción rápida ({0} en cola)",
"MessageQuickMatchDescription": "Rellenar detalles de elementos vacíos y portada con los primeros resultados de '{0}'. No sobrescribe los detalles a menos que la opción \"Preferir Metadatos Encontrados\" del servidor esté habilitada.", "MessageQuickMatchDescription": "Rellenar detalles de elementos vacíos y portada con los primeros resultados de '{0}'. No sobrescribe los detalles a menos que la opción \"Preferir Metadatos Encontrados\" del servidor esté habilitada.",
"MessageRemoveChapter": "Remover capítulos", "MessageRemoveChapter": "Remover capítulos",
"MessageRemoveEpisodes": "Remover {0} episodio(s)", "MessageRemoveEpisodes": "Remover {0} episodio(s)",
@@ -774,6 +810,41 @@
"MessageShareExpiresIn": "Caduduca en {0}", "MessageShareExpiresIn": "Caduduca en {0}",
"MessageShareURLWillBe": "La URL para compartir será <strong> {0} </strong>", "MessageShareURLWillBe": "La URL para compartir será <strong> {0} </strong>",
"MessageStartPlaybackAtTime": "Iniciar reproducción para \"{0}\" en {1}?", "MessageStartPlaybackAtTime": "Iniciar reproducción para \"{0}\" en {1}?",
"MessageTaskAudioFileNotWritable": "El archivo de audio \"{0}\" no se puede grabar",
"MessageTaskCanceledByUser": "Tarea cancelada por el usuario",
"MessageTaskDownloadingEpisodeDescription": "Descargando el episodio \"{0}\"",
"MessageTaskEmbeddingMetadata": "Inserción de metadatos",
"MessageTaskEmbeddingMetadataDescription": "Inserción de metadatos en el audiolibro \"{0}\"",
"MessageTaskEncodingM4b": "Codificación M4B",
"MessageTaskEncodingM4bDescription": "Codificación del audiolibro \"{0}\" en un único archivo m4b",
"MessageTaskFailed": "Fallida",
"MessageTaskFailedToBackupAudioFile": "Error en la copia de seguridad del archivo de audio \"{0}\"",
"MessageTaskFailedToCreateCacheDirectory": "Error al crear el directorio de la caché",
"MessageTaskFailedToEmbedMetadataInFile": "Error al incrustar metadatos en el archivo \"{0}\"",
"MessageTaskFailedToMergeAudioFiles": "Error al fusionar archivos de audio",
"MessageTaskFailedToMoveM4bFile": "Error al mover el archivo m4b",
"MessageTaskFailedToWriteMetadataFile": "Error al escribir el archivo de metadatos",
"MessageTaskMatchingBooksInLibrary": "Libros coincidentes en la biblioteca \"{0}\"",
"MessageTaskNoFilesToScan": "Sin archivos para escanear",
"MessageTaskOpmlImport": "Importar OPML",
"MessageTaskOpmlImportDescription": "Creando podcasts a partir de {0} fuentes RSS",
"MessageTaskOpmlImportFeed": "Feed de importación OPML",
"MessageTaskOpmlImportFeedDescription": "Importando el feed RSS \"{0}\"",
"MessageTaskOpmlImportFeedFailed": "No se puede obtener el podcast",
"MessageTaskOpmlImportFeedPodcastDescription": "Creando podcast \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast ya existe en la ruta",
"MessageTaskOpmlImportFeedPodcastFailed": "Error al crear podcast",
"MessageTaskOpmlImportFinished": "Añadido {0} podcasts",
"MessageTaskOpmlParseFailed": "No se pudo analizar el archivo OPML",
"MessageTaskOpmlParseFastFail": "No se encontró la etiqueta <opml> del archivo OPML no válido O no se encontró la etiqueta <outline>",
"MessageTaskOpmlParseNoneFound": "No se encontraron fuentes en el archivo OPML",
"MessageTaskScanItemsAdded": "{0} añadido",
"MessageTaskScanItemsMissing": "Falta {0}",
"MessageTaskScanItemsUpdated": "{0} actualizado",
"MessageTaskScanNoChangesNeeded": "No se necesitan cambios",
"MessageTaskScanningFileChanges": "Escaneando cambios en el archivo en \"{0}\"",
"MessageTaskScanningLibrary": "Escaneando la biblioteca \"{0}\"",
"MessageTaskTargetDirectoryNotWritable": "El directorio de destino no se puede escribir",
"MessageThinking": "Pensando...", "MessageThinking": "Pensando...",
"MessageUploaderItemFailed": "Error al Subir", "MessageUploaderItemFailed": "Error al Subir",
"MessageUploaderItemSuccess": "¡Éxito al Subir!", "MessageUploaderItemSuccess": "¡Éxito al Subir!",
@@ -791,6 +862,10 @@
"NoteUploaderFoldersWithMediaFiles": "Las carpetas con archivos multimedia se manejarán como elementos separados en la biblioteca.", "NoteUploaderFoldersWithMediaFiles": "Las carpetas con archivos multimedia se manejarán como elementos separados en la biblioteca.",
"NoteUploaderOnlyAudioFiles": "Si sube solamente archivos de audio, cada archivo se manejará como un audiolibro por separado.", "NoteUploaderOnlyAudioFiles": "Si sube solamente archivos de audio, cada archivo se manejará como un audiolibro por separado.",
"NoteUploaderUnsupportedFiles": "Se ignorarán los archivos no soportados. Al elegir o arrastrar una carpeta, los archivos que no estén dentro de una subcarpeta serán ignorados.", "NoteUploaderUnsupportedFiles": "Se ignorarán los archivos no soportados. Al elegir o arrastrar una carpeta, los archivos que no estén dentro de una subcarpeta serán ignorados.",
"NotificationOnBackupCompletedDescription": "Se activa cuando se completa una copia de seguridad",
"NotificationOnBackupFailedDescription": "Se activa cuando falla una copia de seguridad",
"NotificationOnEpisodeDownloadedDescription": "Se activa cuando se descarga automáticamente un episodio de un podcast",
"NotificationOnTestDescription": "Evento para probar el sistema de notificaciones",
"PlaceholderNewCollection": "Nuevo nombre de la colección", "PlaceholderNewCollection": "Nuevo nombre de la colección",
"PlaceholderNewFolderPath": "Nueva ruta de carpeta", "PlaceholderNewFolderPath": "Nueva ruta de carpeta",
"PlaceholderNewPlaylist": "Nuevo nombre de la lista de reproducción", "PlaceholderNewPlaylist": "Nuevo nombre de la lista de reproducción",
@@ -814,14 +889,12 @@
"StatsTopNarrators": "NARRADORES DESTACADOS", "StatsTopNarrators": "NARRADORES DESTACADOS",
"StatsTotalDuration": "Con una duración total de…", "StatsTotalDuration": "Con una duración total de…",
"StatsYearInReview": "RESEÑA DEL AÑO", "StatsYearInReview": "RESEÑA DEL AÑO",
"ToastAccountUpdateFailed": "Error al actualizar cuenta",
"ToastAccountUpdateSuccess": "Cuenta actualizada", "ToastAccountUpdateSuccess": "Cuenta actualizada",
"ToastAppriseUrlRequired": "Debes ingresar una URL de Apprise", "ToastAppriseUrlRequired": "Debes ingresar una URL de Apprise",
"ToastAuthorImageRemoveSuccess": "Se eliminó la imagen del autor", "ToastAuthorImageRemoveSuccess": "Se eliminó la imagen del autor",
"ToastAuthorNotFound": "No se encontró el autor \"{0}\"", "ToastAuthorNotFound": "No se encontró el autor \"{0}\"",
"ToastAuthorRemoveSuccess": "Autor eliminado", "ToastAuthorRemoveSuccess": "Autor eliminado",
"ToastAuthorSearchNotFound": "No se encontró al autor", "ToastAuthorSearchNotFound": "No se encontró al autor",
"ToastAuthorUpdateFailed": "Error al actualizar el autor",
"ToastAuthorUpdateMerged": "Autor combinado", "ToastAuthorUpdateMerged": "Autor combinado",
"ToastAuthorUpdateSuccess": "Autor actualizado", "ToastAuthorUpdateSuccess": "Autor actualizado",
"ToastAuthorUpdateSuccessNoImageFound": "Autor actualizado (Imagen no encontrada)", "ToastAuthorUpdateSuccessNoImageFound": "Autor actualizado (Imagen no encontrada)",
@@ -832,7 +905,6 @@
"ToastBackupDeleteSuccess": "Respaldo eliminado", "ToastBackupDeleteSuccess": "Respaldo eliminado",
"ToastBackupInvalidMaxKeep": "Número no válido de copias de seguridad a conservar", "ToastBackupInvalidMaxKeep": "Número no válido de copias de seguridad a conservar",
"ToastBackupInvalidMaxSize": "Tamaño máximo de copia de seguridad no válido", "ToastBackupInvalidMaxSize": "Tamaño máximo de copia de seguridad no válido",
"ToastBackupPathUpdateFailed": "Error al actualizar la ruta de la copia de seguridad",
"ToastBackupRestoreFailed": "Error al restaurar el respaldo", "ToastBackupRestoreFailed": "Error al restaurar el respaldo",
"ToastBackupUploadFailed": "Error al subir el respaldo", "ToastBackupUploadFailed": "Error al subir el respaldo",
"ToastBackupUploadSuccess": "Respaldo cargado", "ToastBackupUploadSuccess": "Respaldo cargado",
@@ -843,7 +915,6 @@
"ToastBookmarkCreateFailed": "Error al crear marcador", "ToastBookmarkCreateFailed": "Error al crear marcador",
"ToastBookmarkCreateSuccess": "Marcador Agregado", "ToastBookmarkCreateSuccess": "Marcador Agregado",
"ToastBookmarkRemoveSuccess": "Marcador eliminado", "ToastBookmarkRemoveSuccess": "Marcador eliminado",
"ToastBookmarkUpdateFailed": "Error al actualizar el marcador",
"ToastBookmarkUpdateSuccess": "Marcador actualizado", "ToastBookmarkUpdateSuccess": "Marcador actualizado",
"ToastCachePurgeFailed": "Error al purgar el caché", "ToastCachePurgeFailed": "Error al purgar el caché",
"ToastCachePurgeSuccess": "Caché purgado de manera exitosa", "ToastCachePurgeSuccess": "Caché purgado de manera exitosa",
@@ -854,7 +925,6 @@
"ToastCollectionItemsAddSuccess": "Artículo(s) añadido(s) a la colección correctamente", "ToastCollectionItemsAddSuccess": "Artículo(s) añadido(s) a la colección correctamente",
"ToastCollectionItemsRemoveSuccess": "Elementos(s) removidos de la colección", "ToastCollectionItemsRemoveSuccess": "Elementos(s) removidos de la colección",
"ToastCollectionRemoveSuccess": "Colección removida", "ToastCollectionRemoveSuccess": "Colección removida",
"ToastCollectionUpdateFailed": "Error al actualizar la colección",
"ToastCollectionUpdateSuccess": "Colección actualizada", "ToastCollectionUpdateSuccess": "Colección actualizada",
"ToastCoverUpdateFailed": "Error al actualizar la cubierta", "ToastCoverUpdateFailed": "Error al actualizar la cubierta",
"ToastDeleteFileFailed": "Error el eliminar archivo", "ToastDeleteFileFailed": "Error el eliminar archivo",
@@ -863,8 +933,6 @@
"ToastDeviceNameAlreadyExists": "Un libro electrónico ya existe con ese nombre", "ToastDeviceNameAlreadyExists": "Un libro electrónico ya existe con ese nombre",
"ToastDeviceTestEmailFailed": "Error al enviar correo de prueba", "ToastDeviceTestEmailFailed": "Error al enviar correo de prueba",
"ToastDeviceTestEmailSuccess": "Correo electrónico de prueba enviado", "ToastDeviceTestEmailSuccess": "Correo electrónico de prueba enviado",
"ToastDeviceUpdateFailed": "Error al actualizar el dispositivo",
"ToastEmailSettingsUpdateFailed": "Error al actualizar la configuración del correo electrónico",
"ToastEmailSettingsUpdateSuccess": "Configuración del correo electrónico actualizada", "ToastEmailSettingsUpdateSuccess": "Configuración del correo electrónico actualizada",
"ToastEncodeCancelFailed": "No se pudo cancelar la codificación", "ToastEncodeCancelFailed": "No se pudo cancelar la codificación",
"ToastEncodeCancelSucces": "Codificación cancelada", "ToastEncodeCancelSucces": "Codificación cancelada",
@@ -873,21 +941,17 @@
"ToastErrorCannotShare": "No se puede compartir de forma nativa en este dispositivo", "ToastErrorCannotShare": "No se puede compartir de forma nativa en este dispositivo",
"ToastFailedToLoadData": "Error al cargar data", "ToastFailedToLoadData": "Error al cargar data",
"ToastFailedToShare": "Error al compartir", "ToastFailedToShare": "Error al compartir",
"ToastFailedToUpdateAccount": "Error al actualizar la cuenta", "ToastFailedToUpdate": "Error al actualizar",
"ToastFailedToUpdateUser": "Error al actualizar el usuario",
"ToastInvalidImageUrl": "URL de la imagen no válida", "ToastInvalidImageUrl": "URL de la imagen no válida",
"ToastInvalidUrl": "URL no válida", "ToastInvalidUrl": "URL no válida",
"ToastItemCoverUpdateFailed": "Error al actualizar la portada del elemento",
"ToastItemCoverUpdateSuccess": "Portada del elemento actualizada", "ToastItemCoverUpdateSuccess": "Portada del elemento actualizada",
"ToastItemDeletedFailed": "Error al eliminar el elemento", "ToastItemDeletedFailed": "Error al eliminar el elemento",
"ToastItemDeletedSuccess": "Elemento borrado", "ToastItemDeletedSuccess": "Elemento borrado",
"ToastItemDetailsUpdateFailed": "Error al actualizar los detalles del elemento",
"ToastItemDetailsUpdateSuccess": "Detalles del Elemento Actualizados", "ToastItemDetailsUpdateSuccess": "Detalles del Elemento Actualizados",
"ToastItemMarkedAsFinishedFailed": "Error al marcar como terminado", "ToastItemMarkedAsFinishedFailed": "Error al marcar como terminado",
"ToastItemMarkedAsFinishedSuccess": "Elemento marcado como terminado", "ToastItemMarkedAsFinishedSuccess": "Elemento marcado como terminado",
"ToastItemMarkedAsNotFinishedFailed": "No se ha podido marcar como no finalizado", "ToastItemMarkedAsNotFinishedFailed": "No se ha podido marcar como no finalizado",
"ToastItemMarkedAsNotFinishedSuccess": "Elemento marcado como No Terminado", "ToastItemMarkedAsNotFinishedSuccess": "Elemento marcado como No Terminado",
"ToastItemUpdateFailed": "Error al actualizar el elemento",
"ToastItemUpdateSuccess": "Elemento actualizado", "ToastItemUpdateSuccess": "Elemento actualizado",
"ToastLibraryCreateFailed": "Error al crear biblioteca", "ToastLibraryCreateFailed": "Error al crear biblioteca",
"ToastLibraryCreateSuccess": "Biblioteca \"{0}\" creada", "ToastLibraryCreateSuccess": "Biblioteca \"{0}\" creada",
@@ -895,9 +959,9 @@
"ToastLibraryDeleteSuccess": "Biblioteca eliminada", "ToastLibraryDeleteSuccess": "Biblioteca eliminada",
"ToastLibraryScanFailedToStart": "Error al iniciar el escaneo", "ToastLibraryScanFailedToStart": "Error al iniciar el escaneo",
"ToastLibraryScanStarted": "Se inició el escaneo de la biblioteca", "ToastLibraryScanStarted": "Se inició el escaneo de la biblioteca",
"ToastLibraryUpdateFailed": "Error al actualizar la biblioteca",
"ToastLibraryUpdateSuccess": "Biblioteca \"{0}\" actualizada", "ToastLibraryUpdateSuccess": "Biblioteca \"{0}\" actualizada",
"ToastNameEmailRequired": "Nombre y correo electrónico obligatorios", "ToastMatchAllAuthorsFailed": "No coincide con todos los autores",
"ToastNameEmailRequired": "Son obligatorios el nombre y el correo electrónico",
"ToastNameRequired": "Nombre obligatorio", "ToastNameRequired": "Nombre obligatorio",
"ToastNewUserCreatedFailed": "Error al crear la cuenta: \"{0}\"", "ToastNewUserCreatedFailed": "Error al crear la cuenta: \"{0}\"",
"ToastNewUserCreatedSuccess": "Nueva cuenta creada", "ToastNewUserCreatedSuccess": "Nueva cuenta creada",
@@ -910,16 +974,13 @@
"ToastNotificationDeleteFailed": "Error al borrar la notificación", "ToastNotificationDeleteFailed": "Error al borrar la notificación",
"ToastNotificationFailedMaximum": "El número máximo de intentos fallidos debe ser ≥ 0", "ToastNotificationFailedMaximum": "El número máximo de intentos fallidos debe ser ≥ 0",
"ToastNotificationQueueMaximum": "La cola de notificación máxima debe ser ≥ 0", "ToastNotificationQueueMaximum": "La cola de notificación máxima debe ser ≥ 0",
"ToastNotificationSettingsUpdateFailed": "Error al actualizar los ajustes de la notificación",
"ToastNotificationSettingsUpdateSuccess": "Ajustes de la notificación actualizados", "ToastNotificationSettingsUpdateSuccess": "Ajustes de la notificación actualizados",
"ToastNotificationTestTriggerFailed": "No se ha podido activar la notificación de prueba", "ToastNotificationTestTriggerFailed": "No se ha podido activar la notificación de prueba",
"ToastNotificationTestTriggerSuccess": "Notificación de prueba activada", "ToastNotificationTestTriggerSuccess": "Notificación de prueba activada",
"ToastNotificationUpdateFailed": "No se ha podido actualizar la notificación",
"ToastNotificationUpdateSuccess": "Notificación actualizada", "ToastNotificationUpdateSuccess": "Notificación actualizada",
"ToastPlaylistCreateFailed": "Error al crear la lista de reproducción", "ToastPlaylistCreateFailed": "Error al crear la lista de reproducción",
"ToastPlaylistCreateSuccess": "Lista de reproducción creada", "ToastPlaylistCreateSuccess": "Lista de reproducción creada",
"ToastPlaylistRemoveSuccess": "Lista de reproducción eliminada", "ToastPlaylistRemoveSuccess": "Lista de reproducción eliminada",
"ToastPlaylistUpdateFailed": "Error al actualizar la lista de reproducción",
"ToastPlaylistUpdateSuccess": "Lista de reproducción actualizada", "ToastPlaylistUpdateSuccess": "Lista de reproducción actualizada",
"ToastPodcastCreateFailed": "Error al crear podcast", "ToastPodcastCreateFailed": "Error al crear podcast",
"ToastPodcastCreateSuccess": "Podcast creado", "ToastPodcastCreateSuccess": "Podcast creado",
@@ -948,7 +1009,6 @@
"ToastSendEbookToDeviceSuccess": "Ebook enviado al dispositivo \"{0}\"", "ToastSendEbookToDeviceSuccess": "Ebook enviado al dispositivo \"{0}\"",
"ToastSeriesUpdateFailed": "Error al actualizar la serie", "ToastSeriesUpdateFailed": "Error al actualizar la serie",
"ToastSeriesUpdateSuccess": "Serie actualizada", "ToastSeriesUpdateSuccess": "Serie actualizada",
"ToastServerSettingsUpdateFailed": "Error al actualizar configuración del servidor",
"ToastServerSettingsUpdateSuccess": "Configuración del servidor actualizada", "ToastServerSettingsUpdateSuccess": "Configuración del servidor actualizada",
"ToastSessionCloseFailed": "Error al cerrar la sesión", "ToastSessionCloseFailed": "Error al cerrar la sesión",
"ToastSessionDeleteFailed": "Error al eliminar sesión", "ToastSessionDeleteFailed": "Error al eliminar sesión",
@@ -959,7 +1019,6 @@
"ToastSocketDisconnected": "Socket desconectado", "ToastSocketDisconnected": "Socket desconectado",
"ToastSocketFailedToConnect": "Error al conectar al Socket", "ToastSocketFailedToConnect": "Error al conectar al Socket",
"ToastSortingPrefixesEmptyError": "Debe tener por lo menos 1 prefijo para ordenar", "ToastSortingPrefixesEmptyError": "Debe tener por lo menos 1 prefijo para ordenar",
"ToastSortingPrefixesUpdateFailed": "Error al actualizar los prefijos de ordenar",
"ToastSortingPrefixesUpdateSuccess": "Prefijos de ordenar actualizaron ({0} items)", "ToastSortingPrefixesUpdateSuccess": "Prefijos de ordenar actualizaron ({0} items)",
"ToastTitleRequired": "Título obligatorio", "ToastTitleRequired": "Título obligatorio",
"ToastUnknownError": "Error desconocido", "ToastUnknownError": "Error desconocido",
+13 -10
View File
@@ -9,6 +9,7 @@
"ButtonApply": "Rakenda", "ButtonApply": "Rakenda",
"ButtonApplyChapters": "Rakenda peatükid", "ButtonApplyChapters": "Rakenda peatükid",
"ButtonAuthors": "Autorid", "ButtonAuthors": "Autorid",
"ButtonBack": "Tagasi",
"ButtonBrowseForFolder": "Sirvi kausta", "ButtonBrowseForFolder": "Sirvi kausta",
"ButtonCancel": "Tühista", "ButtonCancel": "Tühista",
"ButtonCancelEncode": "Tühista kodeerimine", "ButtonCancelEncode": "Tühista kodeerimine",
@@ -18,6 +19,7 @@
"ButtonChooseFiles": "Vali failid", "ButtonChooseFiles": "Vali failid",
"ButtonClearFilter": "Tühista filter", "ButtonClearFilter": "Tühista filter",
"ButtonCloseFeed": "Sulge voog", "ButtonCloseFeed": "Sulge voog",
"ButtonCloseSession": "Sulge avatud sessioon",
"ButtonCollections": "Kogud", "ButtonCollections": "Kogud",
"ButtonConfigureScanner": "Konfigureeri skanner", "ButtonConfigureScanner": "Konfigureeri skanner",
"ButtonCreate": "Loo", "ButtonCreate": "Loo",
@@ -27,6 +29,7 @@
"ButtonEdit": "Muuda", "ButtonEdit": "Muuda",
"ButtonEditChapters": "Muuda peatükke", "ButtonEditChapters": "Muuda peatükke",
"ButtonEditPodcast": "Muuda podcasti", "ButtonEditPodcast": "Muuda podcasti",
"ButtonEnable": "Aktiveeri",
"ButtonForceReScan": "Sunnitud uuestiskaneerimine", "ButtonForceReScan": "Sunnitud uuestiskaneerimine",
"ButtonFullPath": "Täielik asukoht", "ButtonFullPath": "Täielik asukoht",
"ButtonHide": "Peida", "ButtonHide": "Peida",
@@ -43,13 +46,18 @@
"ButtonMatchAllAuthors": "Sobita kõik autorid", "ButtonMatchAllAuthors": "Sobita kõik autorid",
"ButtonMatchBooks": "Sobita raamatud", "ButtonMatchBooks": "Sobita raamatud",
"ButtonNevermind": "Pole tähtis", "ButtonNevermind": "Pole tähtis",
"ButtonNext": "Järgmine",
"ButtonNextChapter": "Järgmine peatükk", "ButtonNextChapter": "Järgmine peatükk",
"ButtonNextItemInQueue": "Järgmine kirje järjekorras",
"ButtonOk": "Ok",
"ButtonOpenFeed": "Ava voog", "ButtonOpenFeed": "Ava voog",
"ButtonOpenManager": "Ava haldur", "ButtonOpenManager": "Ava haldur",
"ButtonPause": "Peata", "ButtonPause": "Peata",
"ButtonPlay": "Mängi", "ButtonPlay": "Mängi",
"ButtonPlayAll": "Mängi kõik",
"ButtonPlaying": "Mängib", "ButtonPlaying": "Mängib",
"ButtonPlaylists": "Esitusloendid", "ButtonPlaylists": "Esitusloendid",
"ButtonPrevious": "Eelmine",
"ButtonPreviousChapter": "Eelmine peatükk", "ButtonPreviousChapter": "Eelmine peatükk",
"ButtonPurgeAllCache": "Tühjenda kogu vahemälu", "ButtonPurgeAllCache": "Tühjenda kogu vahemälu",
"ButtonPurgeItemsCache": "Tühjenda esemete vahemälu", "ButtonPurgeItemsCache": "Tühjenda esemete vahemälu",
@@ -58,6 +66,9 @@
"ButtonQuickMatch": "Kiire sobitamine", "ButtonQuickMatch": "Kiire sobitamine",
"ButtonReScan": "Uuestiskaneeri", "ButtonReScan": "Uuestiskaneeri",
"ButtonRead": "Loe", "ButtonRead": "Loe",
"ButtonReadLess": "Loe vähem",
"ButtonReadMore": "Loe rohkem",
"ButtonRefresh": "Värskenda",
"ButtonRemove": "Eemalda", "ButtonRemove": "Eemalda",
"ButtonRemoveAll": "Eemalda kõik", "ButtonRemoveAll": "Eemalda kõik",
"ButtonRemoveAllLibraryItems": "Eemalda kõik raamatukogu esemed", "ButtonRemoveAllLibraryItems": "Eemalda kõik raamatukogu esemed",
@@ -211,7 +222,7 @@
"LabelBackupLocation": "Varukoopia asukoht", "LabelBackupLocation": "Varukoopia asukoht",
"LabelBackupsEnableAutomaticBackups": "Luba automaatsed varukoopiad", "LabelBackupsEnableAutomaticBackups": "Luba automaatsed varukoopiad",
"LabelBackupsEnableAutomaticBackupsHelp": "Varukoopiad salvestatakse /metadata/backups kausta", "LabelBackupsEnableAutomaticBackupsHelp": "Varukoopiad salvestatakse /metadata/backups kausta",
"LabelBackupsMaxBackupSize": "Maksimaalne varukoopia suurus (GB-des)", "LabelBackupsMaxBackupSize": "Maksimaalne varukoopia suurus (GB-des) (0 lõpmatu suuruse jaoks)",
"LabelBackupsMaxBackupSizeHelp": "Kaitsena valesti seadistamise vastu ebaõnnestuvad varukoopiad, kui need ületavad seadistatud suuruse.", "LabelBackupsMaxBackupSizeHelp": "Kaitsena valesti seadistamise vastu ebaõnnestuvad varukoopiad, kui need ületavad seadistatud suuruse.",
"LabelBackupsNumberToKeep": "Varukoopiate arv, mida hoida", "LabelBackupsNumberToKeep": "Varukoopiate arv, mida hoida",
"LabelBackupsNumberToKeepHelp": "Ühel ajal eemaldatakse ainult 1 varukoopia, seega kui teil on juba rohkem varukoopiaid kui siin määratud, peaksite need käsitsi eemaldama.", "LabelBackupsNumberToKeepHelp": "Ühel ajal eemaldatakse ainult 1 varukoopia, seega kui teil on juba rohkem varukoopiaid kui siin määratud, peaksite need käsitsi eemaldama.",
@@ -449,7 +460,7 @@
"LabelSettingsHomePageBookshelfView": "Avaleht kasutage raamatukoguvaadet", "LabelSettingsHomePageBookshelfView": "Avaleht kasutage raamatukoguvaadet",
"LabelSettingsLibraryBookshelfView": "Raamatukogu kasutamiseks kasutage raamatukoguvaadet", "LabelSettingsLibraryBookshelfView": "Raamatukogu kasutamiseks kasutage raamatukoguvaadet",
"LabelSettingsParseSubtitles": "Lugege subtiitreid", "LabelSettingsParseSubtitles": "Lugege subtiitreid",
"LabelSettingsParseSubtitlesHelp": "Eraldage subtiitrid heliraamatu kaustade nimedest.<br>Subtiitrid peavad olema eraldatud \" - \".<br>Näiteks: \"Raamatu pealkiri - Siin on alapealkiri\" alapealkiri on \"Siin on alapealkiri\"", "LabelSettingsParseSubtitlesHelp": "Eraldage subtiitrid heliraamatu kaustade nimedest.<br>Subtiitrid peavad olema eraldatud kasutades \" - \".<br>Näiteks: \"Raamatu pealkiri - Siin on alapealkiri\" alapealkiri on \"Siin on alapealkiri\"",
"LabelSettingsPreferMatchedMetadata": "Eelista sobitatud metaandmeid", "LabelSettingsPreferMatchedMetadata": "Eelista sobitatud metaandmeid",
"LabelSettingsPreferMatchedMetadataHelp": "Sobitatud andmed kirjutavad Kiir Sobitamise kasutamisel üle üksikasjad.", "LabelSettingsPreferMatchedMetadataHelp": "Sobitatud andmed kirjutavad Kiir Sobitamise kasutamisel üle üksikasjad.",
"LabelSettingsSkipMatchingBooksWithASIN": "Jätke ASIN-iga sobituvad raamatud vahele", "LabelSettingsSkipMatchingBooksWithASIN": "Jätke ASIN-iga sobituvad raamatud vahele",
@@ -682,10 +693,8 @@
"PlaceholderNewPlaylist": "Uue esitusloendi nimi", "PlaceholderNewPlaylist": "Uue esitusloendi nimi",
"PlaceholderSearch": "Otsi...", "PlaceholderSearch": "Otsi...",
"PlaceholderSearchEpisode": "Otsi episoodi...", "PlaceholderSearchEpisode": "Otsi episoodi...",
"ToastAccountUpdateFailed": "Konto värskendamine ebaõnnestus",
"ToastAccountUpdateSuccess": "Konto on värskendatud", "ToastAccountUpdateSuccess": "Konto on värskendatud",
"ToastAuthorImageRemoveSuccess": "Autori pilt on eemaldatud", "ToastAuthorImageRemoveSuccess": "Autori pilt on eemaldatud",
"ToastAuthorUpdateFailed": "Autori värskendamine ebaõnnestus",
"ToastAuthorUpdateMerged": "Autor liidetud", "ToastAuthorUpdateMerged": "Autor liidetud",
"ToastAuthorUpdateSuccess": "Autor värskendatud", "ToastAuthorUpdateSuccess": "Autor värskendatud",
"ToastAuthorUpdateSuccessNoImageFound": "Autor värskendatud (pilti ei leitud)", "ToastAuthorUpdateSuccessNoImageFound": "Autor värskendatud (pilti ei leitud)",
@@ -701,17 +710,13 @@
"ToastBookmarkCreateFailed": "Järjehoidja loomine ebaõnnestus", "ToastBookmarkCreateFailed": "Järjehoidja loomine ebaõnnestus",
"ToastBookmarkCreateSuccess": "Järjehoidja lisatud", "ToastBookmarkCreateSuccess": "Järjehoidja lisatud",
"ToastBookmarkRemoveSuccess": "Järjehoidja eemaldatud", "ToastBookmarkRemoveSuccess": "Järjehoidja eemaldatud",
"ToastBookmarkUpdateFailed": "Järjehoidja värskendamine ebaõnnestus",
"ToastBookmarkUpdateSuccess": "Järjehoidja värskendatud", "ToastBookmarkUpdateSuccess": "Järjehoidja värskendatud",
"ToastChaptersHaveErrors": "Peatükkidel on vigu", "ToastChaptersHaveErrors": "Peatükkidel on vigu",
"ToastChaptersMustHaveTitles": "Peatükkidel peab olema pealkiri", "ToastChaptersMustHaveTitles": "Peatükkidel peab olema pealkiri",
"ToastCollectionItemsRemoveSuccess": "Üksus(ed) eemaldatud kogumist", "ToastCollectionItemsRemoveSuccess": "Üksus(ed) eemaldatud kogumist",
"ToastCollectionRemoveSuccess": "Kogum eemaldatud", "ToastCollectionRemoveSuccess": "Kogum eemaldatud",
"ToastCollectionUpdateFailed": "Kogumi värskendamine ebaõnnestus",
"ToastCollectionUpdateSuccess": "Kogum värskendatud", "ToastCollectionUpdateSuccess": "Kogum värskendatud",
"ToastItemCoverUpdateFailed": "Üksuse kaane värskendamine ebaõnnestus",
"ToastItemCoverUpdateSuccess": "Üksuse kaas värskendatud", "ToastItemCoverUpdateSuccess": "Üksuse kaas värskendatud",
"ToastItemDetailsUpdateFailed": "Üksuse üksikasjade värskendamine ebaõnnestus",
"ToastItemDetailsUpdateSuccess": "Üksuse üksikasjad värskendatud", "ToastItemDetailsUpdateSuccess": "Üksuse üksikasjad värskendatud",
"ToastItemMarkedAsFinishedFailed": "Märgistamine kui lõpetatud ebaõnnestus", "ToastItemMarkedAsFinishedFailed": "Märgistamine kui lõpetatud ebaõnnestus",
"ToastItemMarkedAsFinishedSuccess": "Üksus märgitud kui lõpetatud", "ToastItemMarkedAsFinishedSuccess": "Üksus märgitud kui lõpetatud",
@@ -723,12 +728,10 @@
"ToastLibraryDeleteSuccess": "Raamatukogu kustutatud", "ToastLibraryDeleteSuccess": "Raamatukogu kustutatud",
"ToastLibraryScanFailedToStart": "Skanneerimine ei käivitunud", "ToastLibraryScanFailedToStart": "Skanneerimine ei käivitunud",
"ToastLibraryScanStarted": "Raamatukogu skaneerimine alustatud", "ToastLibraryScanStarted": "Raamatukogu skaneerimine alustatud",
"ToastLibraryUpdateFailed": "Raamatukogu värskendamine ebaõnnestus",
"ToastLibraryUpdateSuccess": "Raamatukogu \"{0}\" värskendatud", "ToastLibraryUpdateSuccess": "Raamatukogu \"{0}\" värskendatud",
"ToastPlaylistCreateFailed": "Esitusloendi loomine ebaõnnestus", "ToastPlaylistCreateFailed": "Esitusloendi loomine ebaõnnestus",
"ToastPlaylistCreateSuccess": "Esitusloend loodud", "ToastPlaylistCreateSuccess": "Esitusloend loodud",
"ToastPlaylistRemoveSuccess": "Esitusloend eemaldatud", "ToastPlaylistRemoveSuccess": "Esitusloend eemaldatud",
"ToastPlaylistUpdateFailed": "Esitusloendi värskendamine ebaõnnestus",
"ToastPlaylistUpdateSuccess": "Esitusloend värskendatud", "ToastPlaylistUpdateSuccess": "Esitusloend värskendatud",
"ToastPodcastCreateFailed": "Podcasti loomine ebaõnnestus", "ToastPodcastCreateFailed": "Podcasti loomine ebaõnnestus",
"ToastPodcastCreateSuccess": "Podcast loodud edukalt", "ToastPodcastCreateSuccess": "Podcast loodud edukalt",
+166 -2
View File
@@ -19,6 +19,7 @@
"ButtonChooseFiles": "Valitse tiedostot", "ButtonChooseFiles": "Valitse tiedostot",
"ButtonClearFilter": "Poista suodatus", "ButtonClearFilter": "Poista suodatus",
"ButtonCloseFeed": "Sulje syöte", "ButtonCloseFeed": "Sulje syöte",
"ButtonCloseSession": "Sulje Avoin Sessio",
"ButtonCollections": "Kokoelmat", "ButtonCollections": "Kokoelmat",
"ButtonConfigureScanner": "Skannerin asetukset", "ButtonConfigureScanner": "Skannerin asetukset",
"ButtonCreate": "Luo", "ButtonCreate": "Luo",
@@ -28,6 +29,9 @@
"ButtonEdit": "Muokkaa", "ButtonEdit": "Muokkaa",
"ButtonEditChapters": "Muokkaa lukuja", "ButtonEditChapters": "Muokkaa lukuja",
"ButtonEditPodcast": "Muokkaa podcastia", "ButtonEditPodcast": "Muokkaa podcastia",
"ButtonEnable": "Aktivoi",
"ButtonFireAndFail": "Laukaise ja epäonnistu",
"ButtonFireOnTest": "Laukaise onTest tapahtuma",
"ButtonForceReScan": "Pakota uudelleenskannaus", "ButtonForceReScan": "Pakota uudelleenskannaus",
"ButtonFullPath": "Koko polku", "ButtonFullPath": "Koko polku",
"ButtonHide": "Piilota", "ButtonHide": "Piilota",
@@ -46,10 +50,13 @@
"ButtonNevermind": "Ei sittenkään", "ButtonNevermind": "Ei sittenkään",
"ButtonNext": "Seuraava", "ButtonNext": "Seuraava",
"ButtonNextChapter": "Seuraava luku", "ButtonNextChapter": "Seuraava luku",
"ButtonNextItemInQueue": "Seuraava jonossa",
"ButtonOk": "Ok",
"ButtonOpenFeed": "Avaa syöte", "ButtonOpenFeed": "Avaa syöte",
"ButtonOpenManager": "Avaa hallinta", "ButtonOpenManager": "Avaa hallinta",
"ButtonPause": "Pysäytä", "ButtonPause": "Pysäytä",
"ButtonPlay": "Toista", "ButtonPlay": "Toista",
"ButtonPlayAll": "Toista kaikki",
"ButtonPlaying": "Toistetaan", "ButtonPlaying": "Toistetaan",
"ButtonPlaylists": "Soittolistat", "ButtonPlaylists": "Soittolistat",
"ButtonPrevious": "Edellinen", "ButtonPrevious": "Edellinen",
@@ -90,6 +97,7 @@
"ButtonStats": "Tilastot", "ButtonStats": "Tilastot",
"ButtonSubmit": "Lähetä", "ButtonSubmit": "Lähetä",
"ButtonTest": "Testi", "ButtonTest": "Testi",
"ButtonUnlinkOpenId": "Poista OpenID linkitys",
"ButtonUpload": "Lähetä palvelimelle", "ButtonUpload": "Lähetä palvelimelle",
"ButtonUploadBackup": "Lähetä varmuuskopio", "ButtonUploadBackup": "Lähetä varmuuskopio",
"ButtonUploadCover": "Lähetä kansikuva", "ButtonUploadCover": "Lähetä kansikuva",
@@ -102,6 +110,7 @@
"ErrorUploadFetchMetadataNoResults": "Metadatan haku epäonnistui, yritä päivittää Teoksen nimi ja/tai Tekijä", "ErrorUploadFetchMetadataNoResults": "Metadatan haku epäonnistui, yritä päivittää Teoksen nimi ja/tai Tekijä",
"ErrorUploadLacksTitle": "Pitää sisältää Nimi", "ErrorUploadLacksTitle": "Pitää sisältää Nimi",
"HeaderAccount": "Tili", "HeaderAccount": "Tili",
"HeaderAddCustomMetadataProvider": "Lisää mukautettu metadata tarjoaja",
"HeaderAdvanced": "Edistynyt", "HeaderAdvanced": "Edistynyt",
"HeaderAppriseNotificationSettings": "Apprise-ilmoitusasetukset", "HeaderAppriseNotificationSettings": "Apprise-ilmoitusasetukset",
"HeaderAudioTracks": "Ääniraidat", "HeaderAudioTracks": "Ääniraidat",
@@ -126,38 +135,60 @@
"HeaderEreaderDevices": "E-lukijalaitteet", "HeaderEreaderDevices": "E-lukijalaitteet",
"HeaderEreaderSettings": "E-lukijan asetukset", "HeaderEreaderSettings": "E-lukijan asetukset",
"HeaderFiles": "Tiedostot", "HeaderFiles": "Tiedostot",
"HeaderFindChapters": "Etsi kappaleet",
"HeaderIgnoredFiles": "Ohitetut tiedostot", "HeaderIgnoredFiles": "Ohitetut tiedostot",
"HeaderLastListeningSession": "Edellinen kuuntelukerta",
"HeaderLatestEpisodes": "Viimeisimmät jaksot", "HeaderLatestEpisodes": "Viimeisimmät jaksot",
"HeaderLibraries": "Kirjastot", "HeaderLibraries": "Kirjastot",
"HeaderLibraryFiles": "Kirjaston tiedostot", "HeaderLibraryFiles": "Kirjaston tiedostot",
"HeaderLibraryStats": "Kirjaston tilastot", "HeaderLibraryStats": "Kirjaston tilastot",
"HeaderListeningSessions": "Kuuntelukerrat",
"HeaderListeningStats": "Kuuntelutilastot", "HeaderListeningStats": "Kuuntelutilastot",
"HeaderLogin": "Kirjaudu",
"HeaderLogs": "Lokit", "HeaderLogs": "Lokit",
"HeaderManageGenres": "Hallitse lajityyppejä",
"HeaderManageTags": "Hallitse tageja",
"HeaderMetadataToEmbed": "Sisällytettävä metadata",
"HeaderNewAccount": "Uusi tili", "HeaderNewAccount": "Uusi tili",
"HeaderNewLibrary": "Uusi kirjasto", "HeaderNewLibrary": "Uusi kirjasto",
"HeaderNotificationCreate": "Luo ilmoitus",
"HeaderNotificationUpdate": "Päivitä ilmoitus",
"HeaderNotifications": "Ilmoitukset", "HeaderNotifications": "Ilmoitukset",
"HeaderOpenRSSFeed": "Avaa RSS-syöte", "HeaderOpenRSSFeed": "Avaa RSS-syöte",
"HeaderOtherFiles": "Muut tiedostot", "HeaderOtherFiles": "Muut tiedostot",
"HeaderPermissions": "Käyttöoikeudet", "HeaderPermissions": "Käyttöoikeudet",
"HeaderPlayerQueue": "Soittimen jono",
"HeaderPlayerSettings": "Soittimen asetukset",
"HeaderPlaylist": "Soittolista", "HeaderPlaylist": "Soittolista",
"HeaderPlaylistItems": "Soittolistan kohteet", "HeaderPlaylistItems": "Soittolistan kohteet",
"HeaderPodcastsToAdd": "Lisättävät podcastit",
"HeaderPreviewCover": "Esikatsele kansikuvaa",
"HeaderRSSFeedGeneral": "RSS yksityiskohdat", "HeaderRSSFeedGeneral": "RSS yksityiskohdat",
"HeaderRSSFeedIsOpen": "RSS syöte on avoinna", "HeaderRSSFeedIsOpen": "RSS syöte on avoinna",
"HeaderRSSFeeds": "RSS syötteet",
"HeaderRemoveEpisode": "Poista jakso", "HeaderRemoveEpisode": "Poista jakso",
"HeaderRemoveEpisodes": "Poista {0} jaksoa", "HeaderRemoveEpisodes": "Poista {0} jaksoa",
"HeaderSchedule": "Ajoita", "HeaderSchedule": "Ajoita",
"HeaderScheduleLibraryScans": "Ajoita automaattiset kirjastoskannaukset", "HeaderScheduleLibraryScans": "Ajoita automaattiset kirjastoskannaukset",
"HeaderSession": "Istunto",
"HeaderSetBackupSchedule": "Aseta varmuuskopiointiaikataulu", "HeaderSetBackupSchedule": "Aseta varmuuskopiointiaikataulu",
"HeaderSettings": "Asetukset", "HeaderSettings": "Asetukset",
"HeaderSettingsExperimental": "Kokeelliset ominaisuudet", "HeaderSettingsExperimental": "Kokeelliset ominaisuudet",
"HeaderSettingsGeneral": "Yleiset",
"HeaderSleepTimer": "Uniajastin", "HeaderSleepTimer": "Uniajastin",
"HeaderStatsMinutesListeningChart": "Kuunteluminuutit (viim. 7 pv)", "HeaderStatsMinutesListeningChart": "Kuunteluminuutit (viim. 7 pv)",
"HeaderStatsRecentSessions": "Viimeaikaiset istunnot", "HeaderStatsRecentSessions": "Viimeaikaiset istunnot",
"HeaderStatsTop5Genres": "Top 5 lajityypit",
"HeaderTableOfContents": "Sisällysluettelo", "HeaderTableOfContents": "Sisällysluettelo",
"HeaderTools": "Työkalut", "HeaderTools": "Työkalut",
"HeaderUpdateAccount": "Päivitä tili",
"HeaderUpdateAuthor": "Päivitä kirjailija",
"HeaderUpdateLibrary": "Päivitä kirjasto",
"HeaderUsers": "Käyttäjät", "HeaderUsers": "Käyttäjät",
"HeaderYourStats": "Tilastosi", "HeaderYourStats": "Tilastosi",
"LabelAbridged": "Lyhennetty",
"LabelAccountType": "Tilin tyyppi", "LabelAccountType": "Tilin tyyppi",
"LabelAccountTypeAdmin": "Järjestelmänvalvoja",
"LabelAccountTypeGuest": "Vieras", "LabelAccountTypeGuest": "Vieras",
"LabelAccountTypeUser": "Käyttäjä", "LabelAccountTypeUser": "Käyttäjä",
"LabelActivity": "Toiminta", "LabelActivity": "Toiminta",
@@ -166,22 +197,29 @@
"LabelAddToPlaylist": "Lisää soittolistaan", "LabelAddToPlaylist": "Lisää soittolistaan",
"LabelAddToPlaylistBatch": "Lisää {0} kohdetta soittolistaan", "LabelAddToPlaylistBatch": "Lisää {0} kohdetta soittolistaan",
"LabelAddedAt": "Lisätty listalle", "LabelAddedAt": "Lisätty listalle",
"LabelAddedDate": "Lisätty {0}",
"LabelAdminUsersOnly": "Vain järjestelmänvalvojat",
"LabelAll": "Kaikki", "LabelAll": "Kaikki",
"LabelAllUsers": "Kaikki käyttäjät", "LabelAllUsers": "Kaikki käyttäjät",
"LabelAllUsersExcludingGuests": "Kaikki käyttäjät vieraita lukuun ottamatta", "LabelAllUsersExcludingGuests": "Kaikki käyttäjät vieraita lukuun ottamatta",
"LabelAllUsersIncludingGuests": "Kaikki käyttäjät mukaan lukien vieraat", "LabelAllUsersIncludingGuests": "Kaikki käyttäjät mukaan lukien vieraat",
"LabelAlreadyInYourLibrary": "Jo kirjastossasi",
"LabelAuthor": "Tekijä", "LabelAuthor": "Tekijä",
"LabelAuthorFirstLast": "Tekijä (Etunimi Sukunimi)", "LabelAuthorFirstLast": "Tekijä (Etunimi Sukunimi)",
"LabelAuthorLastFirst": "Tekijä (Sukunimi, Etunimi)", "LabelAuthorLastFirst": "Tekijä (Sukunimi, Etunimi)",
"LabelAuthors": "Tekijät", "LabelAuthors": "Tekijät",
"LabelAutoDownloadEpisodes": "Lataa jaksot automaattisesti", "LabelAutoDownloadEpisodes": "Lataa jaksot automaattisesti",
"LabelBackToUser": "Takaisin käyttäjään",
"LabelBackupLocation": "Varmuuskopiointipaikka",
"LabelBackupsEnableAutomaticBackups": "Ota automaattinen varmuuskopiointi käyttöön", "LabelBackupsEnableAutomaticBackups": "Ota automaattinen varmuuskopiointi käyttöön",
"LabelBackupsEnableAutomaticBackupsHelp": "Varmuuskopiot tallennettu kansioon /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Varmuuskopiot tallennettu kansioon /metadata/backups",
"LabelBackupsMaxBackupSize": "Varmuuskopion enimmäiskoko (Gt) (0 rajaton)", "LabelBackupsMaxBackupSize": "Varmuuskopion enimmäiskoko (Gt) (0 rajaton)",
"LabelBackupsNumberToKeep": "Säilytettävien varmuuskopioiden määrä", "LabelBackupsNumberToKeep": "Säilytettävien varmuuskopioiden määrä",
"LabelBitrate": "Bittinopeus",
"LabelBooks": "Kirjat", "LabelBooks": "Kirjat",
"LabelButtonText": "Painikkeen teksti", "LabelButtonText": "Painikkeen teksti",
"LabelChangePassword": "Vaihda salasana", "LabelChangePassword": "Vaihda salasana",
"LabelChannels": "Kanavat",
"LabelChapters": "Luvut", "LabelChapters": "Luvut",
"LabelClickForMoreInfo": "Napsauta saadaksesi lisätietoja", "LabelClickForMoreInfo": "Napsauta saadaksesi lisätietoja",
"LabelClosePlayer": "Sulje soitin", "LabelClosePlayer": "Sulje soitin",
@@ -196,79 +234,205 @@
"LabelContinueSeries": "Jatka sarjoja", "LabelContinueSeries": "Jatka sarjoja",
"LabelCover": "Kansikuva", "LabelCover": "Kansikuva",
"LabelCoverImageURL": "Kansikuvan URL-osoite", "LabelCoverImageURL": "Kansikuvan URL-osoite",
"LabelCreatedAt": "Luotu",
"LabelCurrent": "Nykyinen", "LabelCurrent": "Nykyinen",
"LabelDays": "Päivää",
"LabelDescription": "Kuvaus", "LabelDescription": "Kuvaus",
"LabelDevice": "Laite", "LabelDevice": "Laite",
"LabelDeviceInfo": "Laitteen tiedot", "LabelDeviceInfo": "Laitteen tiedot",
"LabelDiscover": "Löydä",
"LabelDownload": "Lataa", "LabelDownload": "Lataa",
"LabelDownloadNEpisodes": "Lataa {0} jaksoa", "LabelDownloadNEpisodes": "Lataa {0} jaksoa",
"LabelDuration": "Kesto", "LabelDuration": "Kesto",
"LabelDurationComparisonLonger": "({0} pidempi)",
"LabelDurationComparisonShorter": "({0} lyhyempi)",
"LabelEbook": "E-kirja", "LabelEbook": "E-kirja",
"LabelEbooks": "E-kirjat", "LabelEbooks": "E-kirjat",
"LabelEdit": "Muokkaa", "LabelEdit": "Muokkaa",
"LabelEmail": "Sähköposti", "LabelEmail": "Sähköposti",
"LabelEmailSettingsTestAddress": "Testiosoite",
"LabelEmbeddedCover": "Upotettu kansikuva",
"LabelEnable": "Ota käyttöön", "LabelEnable": "Ota käyttöön",
"LabelEnd": "Loppu",
"LabelEndOfChapter": "Luvun loppu", "LabelEndOfChapter": "Luvun loppu",
"LabelEpisode": "Jakso", "LabelEpisode": "Jakso",
"LabelEpisodes": "Jaksot",
"LabelExample": "Esimerkki",
"LabelFeedURL": "Syötteen URL",
"LabelFile": "Tiedosto", "LabelFile": "Tiedosto",
"LabelFileBirthtime": "Tiedoston syntymäaika", "LabelFileBirthtime": "Tiedoston syntymäaika",
"LabelFileBornDate": "Syntynyt {0}",
"LabelFileModified": "Muutettu tiedosto", "LabelFileModified": "Muutettu tiedosto",
"LabelFileModifiedDate": "Muokattu {0}",
"LabelFilename": "Tiedostonimi", "LabelFilename": "Tiedostonimi",
"LabelFindEpisodes": "Etsi jaksoja",
"LabelFinished": "Valmis",
"LabelFolder": "Kansio", "LabelFolder": "Kansio",
"LabelFolders": "Kansiot",
"LabelGenre": "Lajityyppi",
"LabelGenres": "Lajityypit",
"LabelHost": "Isäntä",
"LabelHours": "Tunnit",
"LabelInProgress": "Kesken", "LabelInProgress": "Kesken",
"LabelIncomplete": "Keskeneräinen", "LabelIncomplete": "Keskeneräinen",
"LabelIntervalEvery12Hours": "12 tunnin välein",
"LabelIntervalEvery15Minutes": "15 minuutin välein",
"LabelIntervalEvery2Hours": "2 tunnin välein",
"LabelIntervalEvery30Minutes": "30 minuutin välein",
"LabelIntervalEvery6Hours": "6 tunnin välein",
"LabelIntervalEveryDay": "Joka päivä",
"LabelIntervalEveryHour": "Joka tunti",
"LabelItem": "Kohde",
"LabelLanguage": "Kieli", "LabelLanguage": "Kieli",
"LabelLanguageDefaultServer": "Palvelimen oletuskieli",
"LabelLanguages": "Kielet",
"LabelLastBookAdded": "Viimeisin lisätty kirja",
"LabelLibrary": "Kirjasto",
"LabelLineSpacing": "Riviväli",
"LabelListenAgain": "Kuuntele uudelleen", "LabelListenAgain": "Kuuntele uudelleen",
"LabelMediaType": "Mediatyyppi", "LabelMediaType": "Mediatyyppi",
"LabelMinute": "Minuutti",
"LabelMinutes": "Minuutit",
"LabelMore": "Lisää", "LabelMore": "Lisää",
"LabelMoreInfo": "Lisätietoja", "LabelMoreInfo": "Lisätietoja",
"LabelName": "Nimi", "LabelName": "Nimi",
"LabelNarrator": "Lukija", "LabelNarrator": "Lukija",
"LabelNarrators": "Lukijat", "LabelNarrators": "Lukijat",
"LabelNew": "Uusi",
"LabelNewPassword": "Uusi salasana",
"LabelNewestAuthors": "Uusimmat kirjailijat", "LabelNewestAuthors": "Uusimmat kirjailijat",
"LabelNewestEpisodes": "Uusimmat jaksot", "LabelNewestEpisodes": "Uusimmat jaksot",
"LabelNotStarted": "Ei aloitettu",
"LabelPassword": "Salasana", "LabelPassword": "Salasana",
"LabelPath": "Polku", "LabelPath": "Polku",
"LabelPermanent": "Pysyvä",
"LabelPermissionsAccessAllLibraries": "Käyttöoikeudet kaikkiin kirjastoihin",
"LabelPermissionsDelete": "Voi poistaa",
"LabelPermissionsDownload": "Voi ladata",
"LabelPermissionsUpdate": "Voi päivittää",
"LabelPermissionsUpload": "Voi lähettää",
"LabelPlaylists": "Soittolistat",
"LabelPodcast": "Podcast",
"LabelPodcasts": "Podcastit", "LabelPodcasts": "Podcastit",
"LabelPort": "Portti",
"LabelPublishYear": "Julkaisuvuosi", "LabelPublishYear": "Julkaisuvuosi",
"LabelPublisher": "Julkaisija",
"LabelPublishers": "Julkaisijat",
"LabelRSSFeedPreventIndexing": "Estä indeksointi", "LabelRSSFeedPreventIndexing": "Estä indeksointi",
"LabelRandomly": "Satunnaisesti",
"LabelRead": "Lue", "LabelRead": "Lue",
"LabelReadAgain": "Lue uudelleen", "LabelReadAgain": "Lue uudelleen",
"LabelRecentSeries": "Viimeisimmät sarjat", "LabelRecentSeries": "Viimeisimmät sarjat",
"LabelRecentlyAdded": "Viimeeksi lisätyt", "LabelRecentlyAdded": "Viimeeksi lisätyt",
"LabelRecommended": "Suositeltu",
"LabelRegion": "Alue",
"LabelRemoveCover": "Poista kansikuva",
"LabelSeason": "Kausi", "LabelSeason": "Kausi",
"LabelSelectAll": "Valitse kaikki",
"LabelSelectUsers": "Valitse käyttäjät",
"LabelSeries": "Sarja",
"LabelSeriesName": "Sarjan nimi",
"LabelSetEbookAsPrimary": "Aseta ensisijaiseksi", "LabelSetEbookAsPrimary": "Aseta ensisijaiseksi",
"LabelSetEbookAsSupplementary": "Aseta täydentäväksi", "LabelSetEbookAsSupplementary": "Aseta täydentäväksi",
"LabelSettingsAudiobooksOnly": "Vain äänikirjat",
"LabelSettingsChromecastSupport": "Chromecast-tuki",
"LabelSettingsExperimentalFeatures": "Kokeelliset ominaisuudet",
"LabelSettingsFindCovers": "Etsi kansikuvia",
"LabelShare": "Jaa",
"LabelShowAll": "Näytä kaikki", "LabelShowAll": "Näytä kaikki",
"LabelShowSeconds": "Näytä sekunnit",
"LabelSize": "Koko", "LabelSize": "Koko",
"LabelSleepTimer": "Uniajastin", "LabelSleepTimer": "Uniajastin",
"LabelStart": "Aloita",
"LabelStartTime": "Aloitusaika",
"LabelStatsAudioTracks": "Ääniraidat",
"LabelStatsBestDay": "Paras päivä",
"LabelStatsDailyAverage": "Päivittäinen keskiarvo", "LabelStatsDailyAverage": "Päivittäinen keskiarvo",
"LabelStatsDays": "Päivää",
"LabelStatsDaysListened": "Päivää kuunneltu",
"LabelStatsHours": "Tunnit",
"LabelStatsInARow": "peräjälkeen", "LabelStatsInARow": "peräjälkeen",
"LabelStatsMinutes": "minuuttia", "LabelStatsMinutes": "minuuttia",
"LabelStatsMinutesListening": "Minuuttia kuunneltu",
"LabelStatsWeekListening": "Viikon aikana kuunneltu",
"LabelTag": "Tägi",
"LabelTags": "Tägit",
"LabelTheme": "Teema", "LabelTheme": "Teema",
"LabelThemeDark": "Tumma", "LabelThemeDark": "Tumma",
"LabelThemeLight": "Kirkas", "LabelThemeLight": "Kirkas",
"LabelTimeRemaining": "{0} jäljellä", "LabelTimeRemaining": "{0} jäljellä",
"LabelTitle": "Nimi",
"LabelTotalDuration": "Kokonaiskesto",
"LabelTracks": "Raidat",
"LabelType": "Tyyppi", "LabelType": "Tyyppi",
"LabelUnknown": "Tuntematon",
"LabelUpdateCover": "Päivitä kansikuva",
"LabelUser": "Käyttäjä", "LabelUser": "Käyttäjä",
"LabelUsername": "Käyttäjätunnus", "LabelUsername": "Käyttäjätunnus",
"LabelValue": "Arvo",
"LabelVersion": "Versio",
"LabelYourBookmarks": "Kirjanmerkkisi", "LabelYourBookmarks": "Kirjanmerkkisi",
"LabelYourProgress": "Edistymisesi", "LabelYourProgress": "Edistymisesi",
"MessageDownloadingEpisode": "Ladataan jaksoa", "MessageDownloadingEpisode": "Ladataan jaksoa",
"MessageEpisodesQueuedForDownload": "{0} jaksoa on latausjonossa", "MessageEpisodesQueuedForDownload": "{0} jaksoa on latausjonossa",
"MessageFeedURLWillBe": "Syötteen URL tulee olemaan {0}",
"MessageFetching": "Haetaan...", "MessageFetching": "Haetaan...",
"MessageLoading": "Ladataan...", "MessageLoading": "Ladataan...",
"MessageMarkAsFinished": "Merkitse valmiiksi", "MessageMarkAsFinished": "Merkitse valmiiksi",
"MessageNoBookmarks": "Ei kirjanmerkkejä", "MessageNoBookmarks": "Ei kirjanmerkkejä",
"MessageNoChapters": "Ei kappaleita",
"MessageNoCoversFound": "Kansikuvia ei löydetty",
"MessageNoGenres": "Ei lajityyppejä",
"MessageNoItems": "Ei kohteita", "MessageNoItems": "Ei kohteita",
"MessageNoItemsFound": "Kohteita ei löytynyt", "MessageNoItemsFound": "Kohteita ei löytynyt",
"MessageNoListeningSessions": "Ei kuunteluistuntoja",
"MessageNoPodcastsFound": "Podcasteja ei löytynyt", "MessageNoPodcastsFound": "Podcasteja ei löytynyt",
"MessageNoUpdatesWereNecessary": "Päivityksiä ei tarvittu",
"MessageNoUserPlaylists": "Sinulla ei ole soittolistoja", "MessageNoUserPlaylists": "Sinulla ei ole soittolistoja",
"MessageOr": "tai",
"MessageReportBugsAndContribute": "Ilmoita virheistä, toivo ominaisuuksia ja osallistu", "MessageReportBugsAndContribute": "Ilmoita virheistä, toivo ominaisuuksia ja osallistu",
"MessageTaskFailed": "Epäonnistunut",
"StatsSessions": "istunnot",
"ToastAccountUpdateSuccess": "Tili päivitetty",
"ToastBookmarkCreateFailed": "Kirjanmerkin luominen epäonnistui", "ToastBookmarkCreateFailed": "Kirjanmerkin luominen epäonnistui",
"ToastBookmarkUpdateFailed": "Kirjanmerkin päivittäminen epäonnistui", "ToastCoverUpdateFailed": "Kansikuvan päivitys epäonnistui",
"ToastItemCoverUpdateSuccess": "Kohteen kansikuva päivitetty",
"ToastItemMarkedAsFinishedFailed": "Valmiiksi merkitseminen epäonnistui", "ToastItemMarkedAsFinishedFailed": "Valmiiksi merkitseminen epäonnistui",
"ToastItemMarkedAsNotFinishedFailed": "Valmiiksi merkitsemisen poisto epäonnistui",
"ToastItemUpdateSuccess": "Kohde päivitetty",
"ToastLibraryCreateFailed": "Kirjaston luominen epäonnistui",
"ToastLibraryCreateSuccess": "Kirjasto \"{0}\" luotu",
"ToastLibraryDeleteFailed": "Kirjaston poistaminen epäonnistui",
"ToastLibraryDeleteSuccess": "Kirjasto poistettu",
"ToastLibraryUpdateSuccess": "Kirjasto \"{0}\" päivitetty",
"ToastNewUserCreatedFailed": "Tilin \"{0}\" luominen epäonnistui",
"ToastNewUserCreatedSuccess": "Uusi tili luotu",
"ToastPlaylistCreateFailed": "Soittolistan luominen epäonnistui", "ToastPlaylistCreateFailed": "Soittolistan luominen epäonnistui",
"ToastPlaylistCreateSuccess": "Soittolista luotu",
"ToastPlaylistRemoveSuccess": "Soittolista poistettu",
"ToastPlaylistUpdateSuccess": "Soittolista päivitetty",
"ToastPodcastCreateFailed": "Podcastin luominen epäonnistui", "ToastPodcastCreateFailed": "Podcastin luominen epäonnistui",
"ToastPodcastCreateSuccess": "Podcastin luominen onnistui" "ToastPodcastCreateSuccess": "Podcastin luominen onnistui",
"ToastRSSFeedCloseFailed": "RSS syötteen sulkeminen epäonnistui",
"ToastRSSFeedCloseSuccess": "RSS syöte suljettu",
"ToastRemoveFailed": "Poistaminen epäonnistui",
"ToastRemoveItemFromCollectionFailed": "Kohteen poistaminen kokoelmasta epäonnistui",
"ToastRemoveItemFromCollectionSuccess": "Kohde poistettu kokoelmasta",
"ToastRenameFailed": "Uudelleennimeäminen epäonnistui",
"ToastSelectAtLeastOneUser": "Valitse ainakin yksi käyttäjä",
"ToastServerSettingsUpdateSuccess": "Palvelimen asetukset päivitetty",
"ToastSessionCloseFailed": "Istunnon sulkeminen epäonnistui",
"ToastSessionDeleteFailed": "Istunnon poistaminen epäonnistui",
"ToastSessionDeleteSuccess": "Istunto poistettu",
"ToastSocketConnected": "Yhteys saatu",
"ToastSocketDisconnected": "Yhteys katkaistu",
"ToastSocketFailedToConnect": "Yhteyden muodostus epäonnistui",
"ToastTitleRequired": "Otsikko on pakollinen",
"ToastUnknownError": "Tuntematon virhe",
"ToastUserDeleteFailed": "Käyttäjän poisto epäonnistui",
"ToastUserDeleteSuccess": "Käyttäjä poistettu",
"ToastUserPasswordChangeSuccess": "Salasana vaihdettu onnistuneesti",
"ToastUserPasswordMismatch": "Salasanat eivät täsmää",
"ToastUserPasswordMustChange": "Uusi salasana ei voi olla sama kuin vanha salasana",
"ToastUserRootRequireName": "Pääkäyttäjän nimi on pakollinen"
} }
+109 -59
View File
@@ -9,7 +9,7 @@
"ButtonApply": "Appliquer", "ButtonApply": "Appliquer",
"ButtonApplyChapters": "Appliquer aux chapitres", "ButtonApplyChapters": "Appliquer aux chapitres",
"ButtonAuthors": "Auteurs", "ButtonAuthors": "Auteurs",
"ButtonBack": "Reculer", "ButtonBack": "Retour",
"ButtonBrowseForFolder": "Naviguer vers le répertoire", "ButtonBrowseForFolder": "Naviguer vers le répertoire",
"ButtonCancel": "Annuler", "ButtonCancel": "Annuler",
"ButtonCancelEncode": "Annuler lencodage", "ButtonCancelEncode": "Annuler lencodage",
@@ -51,11 +51,12 @@
"ButtonNext": "Suivant", "ButtonNext": "Suivant",
"ButtonNextChapter": "Chapitre suivant", "ButtonNextChapter": "Chapitre suivant",
"ButtonNextItemInQueue": "Élément suivant dans la file dattente", "ButtonNextItemInQueue": "Élément suivant dans la file dattente",
"ButtonOk": "Ok", "ButtonOk": "Daccord",
"ButtonOpenFeed": "Ouvrir le flux", "ButtonOpenFeed": "Ouvrir le flux",
"ButtonOpenManager": "Ouvrir le gestionnaire", "ButtonOpenManager": "Ouvrir le gestionnaire",
"ButtonPause": "Pause", "ButtonPause": "Pause",
"ButtonPlay": "Lire", "ButtonPlay": "Lire",
"ButtonPlayAll": "Lire tout",
"ButtonPlaying": "En lecture", "ButtonPlaying": "En lecture",
"ButtonPlaylists": "Listes de lecture", "ButtonPlaylists": "Listes de lecture",
"ButtonPrevious": "Précédent", "ButtonPrevious": "Précédent",
@@ -65,6 +66,7 @@
"ButtonPurgeItemsCache": "Purger le cache des éléments", "ButtonPurgeItemsCache": "Purger le cache des éléments",
"ButtonQueueAddItem": "Ajouter à la liste de lecture", "ButtonQueueAddItem": "Ajouter à la liste de lecture",
"ButtonQueueRemoveItem": "Supprimer de la liste de lecture", "ButtonQueueRemoveItem": "Supprimer de la liste de lecture",
"ButtonQuickEmbed": "Intégration rapide",
"ButtonQuickEmbedMetadata": "Ajouter rapidement des métadonnées", "ButtonQuickEmbedMetadata": "Ajouter rapidement des métadonnées",
"ButtonQuickMatch": "Recherche rapide", "ButtonQuickMatch": "Recherche rapide",
"ButtonReScan": "Nouvelle analyse", "ButtonReScan": "Nouvelle analyse",
@@ -98,6 +100,7 @@
"ButtonStats": "Statistiques", "ButtonStats": "Statistiques",
"ButtonSubmit": "Soumettre", "ButtonSubmit": "Soumettre",
"ButtonTest": "Test", "ButtonTest": "Test",
"ButtonUnlinkOpenId": "Dissocier OpenID",
"ButtonUpload": "Téléverser", "ButtonUpload": "Téléverser",
"ButtonUploadBackup": "Téléverser une sauvegarde", "ButtonUploadBackup": "Téléverser une sauvegarde",
"ButtonUploadCover": "Téléverser une couverture", "ButtonUploadCover": "Téléverser une couverture",
@@ -211,11 +214,11 @@
"LabelAccountTypeUser": "Utilisateur", "LabelAccountTypeUser": "Utilisateur",
"LabelActivity": "Activité", "LabelActivity": "Activité",
"LabelAddToCollection": "Ajouter à la collection", "LabelAddToCollection": "Ajouter à la collection",
"LabelAddToCollectionBatch": "Ajout de {0} livres à la lollection", "LabelAddToCollectionBatch": "Ajout de {0} livres à la collection",
"LabelAddToPlaylist": "Ajouter à la liste de lecture", "LabelAddToPlaylist": "Ajouter à la liste de lecture",
"LabelAddToPlaylistBatch": "{0} éléments ajoutés à la liste de lecture", "LabelAddToPlaylistBatch": "{0} éléments ajoutés à la liste de lecture",
"LabelAddedAt": "Date dajout", "LabelAddedAt": "Date dajout",
"LabelAddedDate": "{0} ajoutés", "LabelAddedDate": "Ajouté le {0}",
"LabelAdminUsersOnly": "Administrateurs uniquement", "LabelAdminUsersOnly": "Administrateurs uniquement",
"LabelAll": "Tout", "LabelAll": "Tout",
"LabelAllUsers": "Tous les utilisateurs", "LabelAllUsers": "Tous les utilisateurs",
@@ -223,6 +226,9 @@
"LabelAllUsersIncludingGuests": "Tous les utilisateurs, y compris les invités", "LabelAllUsersIncludingGuests": "Tous les utilisateurs, y compris les invités",
"LabelAlreadyInYourLibrary": "Déjà dans la bibliothèque", "LabelAlreadyInYourLibrary": "Déjà dans la bibliothèque",
"LabelAppend": "Ajouter", "LabelAppend": "Ajouter",
"LabelAudioBitrate": "Débit audio (par exemple 128k)",
"LabelAudioChannels": "Canaux audio (1 ou 2)",
"LabelAudioCodec": "Codec audio",
"LabelAuthor": "Auteur", "LabelAuthor": "Auteur",
"LabelAuthorFirstLast": "Auteur (Prénom Nom)", "LabelAuthorFirstLast": "Auteur (Prénom Nom)",
"LabelAuthorLastFirst": "Auteur (Nom, Prénom)", "LabelAuthorLastFirst": "Auteur (Nom, Prénom)",
@@ -235,6 +241,7 @@
"LabelAutoRegister": "Enregistrement automatique", "LabelAutoRegister": "Enregistrement automatique",
"LabelAutoRegisterDescription": "Créer automatiquement de nouveaux utilisateurs après la connexion", "LabelAutoRegisterDescription": "Créer automatiquement de nouveaux utilisateurs après la connexion",
"LabelBackToUser": "Retour à lutilisateur", "LabelBackToUser": "Retour à lutilisateur",
"LabelBackupAudioFiles": "Sauvegarder les fichiers audio",
"LabelBackupLocation": "Emplacement de la sauvegarde", "LabelBackupLocation": "Emplacement de la sauvegarde",
"LabelBackupsEnableAutomaticBackups": "Activer les sauvegardes automatiques", "LabelBackupsEnableAutomaticBackups": "Activer les sauvegardes automatiques",
"LabelBackupsEnableAutomaticBackupsHelp": "Sauvegardes enregistrées dans /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Sauvegardes enregistrées dans /metadata/backups",
@@ -242,7 +249,7 @@
"LabelBackupsMaxBackupSizeHelp": "Afin de prévenir les mauvaises configuration, la sauvegarde échouera si elle excède la taille limite.", "LabelBackupsMaxBackupSizeHelp": "Afin de prévenir les mauvaises configuration, la sauvegarde échouera si elle excède la taille limite.",
"LabelBackupsNumberToKeep": "Nombre de sauvegardes à conserver", "LabelBackupsNumberToKeep": "Nombre de sauvegardes à conserver",
"LabelBackupsNumberToKeepHelp": "Seule une sauvegarde sera supprimée à la fois. Si vous avez déjà plus de sauvegardes à effacer, vous devez les supprimer manuellement.", "LabelBackupsNumberToKeepHelp": "Seule une sauvegarde sera supprimée à la fois. Si vous avez déjà plus de sauvegardes à effacer, vous devez les supprimer manuellement.",
"LabelBitrate": "Bitrate", "LabelBitrate": "Débit binaire",
"LabelBooks": "Livres", "LabelBooks": "Livres",
"LabelButtonText": "Texte du bouton", "LabelButtonText": "Texte du bouton",
"LabelByAuthor": "par {0}", "LabelByAuthor": "par {0}",
@@ -301,6 +308,15 @@
"LabelEmailSettingsTestAddress": "Adresse de test", "LabelEmailSettingsTestAddress": "Adresse de test",
"LabelEmbeddedCover": "Couverture du livre intégrée", "LabelEmbeddedCover": "Couverture du livre intégrée",
"LabelEnable": "Activer", "LabelEnable": "Activer",
"LabelEncodingBackupLocation": "Une sauvegarde de vos fichiers audio originaux sera stockée dans :",
"LabelEncodingChaptersNotEmbedded": "Les chapitres ne sont pas intégrés dans les livres audio multipistes.",
"LabelEncodingClearItemCache": "Assurez-vous de purger périodiquement le cache des éléments.",
"LabelEncodingFinishedM4B": "Le fichier M4B terminé sera placé dans votre dossier de livre audio à l'adresse suivante :",
"LabelEncodingInfoEmbedded": "Les métadonnées seront intégrées dans les pistes audio de votre dossier de livre audio.",
"LabelEncodingStartedNavigation": "Une fois la tâche démarrée, vous pouvez quitter cette page.",
"LabelEncodingTimeWarning": "Lencodage peut prendre jusqu’à 30 minutes.",
"LabelEncodingWarningAdvancedSettings": "Avertissement : ne mettez pas à jour ces paramètres à moins que vous ne soyez familier avec les options d'encodage « ffmpeg ».",
"LabelEncodingWatcherDisabled": "Si l'observateur est désactivé, vous devrez ensuite réanalyser ce livre audio.",
"LabelEnd": "Fin", "LabelEnd": "Fin",
"LabelEndOfChapter": "Fin du chapitre", "LabelEndOfChapter": "Fin du chapitre",
"LabelEpisode": "Épisode", "LabelEpisode": "Épisode",
@@ -318,7 +334,7 @@
"LabelFetchingMetadata": "Récupération des métadonnées", "LabelFetchingMetadata": "Récupération des métadonnées",
"LabelFile": "Fichier", "LabelFile": "Fichier",
"LabelFileBirthtime": "Création du fichier", "LabelFileBirthtime": "Création du fichier",
"LabelFileBornDate": "Créé {0}", "LabelFileBornDate": "Créé le {0}",
"LabelFileModified": "Modification du fichier", "LabelFileModified": "Modification du fichier",
"LabelFileModifiedDate": "Modifié le {0}", "LabelFileModifiedDate": "Modifié le {0}",
"LabelFilename": "Nom de fichier", "LabelFilename": "Nom de fichier",
@@ -462,7 +478,9 @@
"LabelProviderAuthorizationValue": "Valeur de len-tête dautorisation", "LabelProviderAuthorizationValue": "Valeur de len-tête dautorisation",
"LabelPubDate": "Date de publication", "LabelPubDate": "Date de publication",
"LabelPublishYear": "Année de publication", "LabelPublishYear": "Année de publication",
"LabelPublishedDate": "{0} publiés", "LabelPublishedDate": "Publié en {0}",
"LabelPublishedDecade": "Décennie de publication",
"LabelPublishedDecades": "Décennies de publication",
"LabelPublisher": "Éditeur", "LabelPublisher": "Éditeur",
"LabelPublishers": "Éditeurs", "LabelPublishers": "Éditeurs",
"LabelRSSFeedCustomOwnerEmail": "Courriel personnalisée du propriétaire", "LabelRSSFeedCustomOwnerEmail": "Courriel personnalisée du propriétaire",
@@ -490,13 +508,14 @@
"LabelSeason": "Saison", "LabelSeason": "Saison",
"LabelSelectAll": "Tout sélectionner", "LabelSelectAll": "Tout sélectionner",
"LabelSelectAllEpisodes": "Sélectionner tous les épisodes", "LabelSelectAllEpisodes": "Sélectionner tous les épisodes",
"LabelSelectEpisodesShowing": "Sélectionner {0} episode(s) en cours", "LabelSelectEpisodesShowing": "Sélectionner {0} épisode(s) en cours",
"LabelSelectUsers": "Sélectionner les utilisateurs", "LabelSelectUsers": "Sélectionner les utilisateurs",
"LabelSendEbookToDevice": "Envoyer le livre numérique à…", "LabelSendEbookToDevice": "Envoyer le livre numérique à…",
"LabelSequence": "Séquence", "LabelSequence": "Séquence",
"LabelSeries": "Séries", "LabelSeries": "Séries",
"LabelSeriesName": "Nom de la série", "LabelSeriesName": "Nom de la série",
"LabelSeriesProgress": "Progression de séries", "LabelSeriesProgress": "Progression de séries",
"LabelServerLogLevel": "Niveau de journalisation du serveur",
"LabelServerYearReview": "Bilan de lannée du serveur ({0})", "LabelServerYearReview": "Bilan de lannée du serveur ({0})",
"LabelSetEbookAsPrimary": "Définir comme principale", "LabelSetEbookAsPrimary": "Définir comme principale",
"LabelSetEbookAsSupplementary": "Définir comme supplémentaire", "LabelSetEbookAsSupplementary": "Définir comme supplémentaire",
@@ -592,6 +611,7 @@
"LabelTitle": "Titre", "LabelTitle": "Titre",
"LabelToolsEmbedMetadata": "Métadonnées intégrées", "LabelToolsEmbedMetadata": "Métadonnées intégrées",
"LabelToolsEmbedMetadataDescription": "Intègre les métadonnées au fichier audio avec la couverture et les chapitres.", "LabelToolsEmbedMetadataDescription": "Intègre les métadonnées au fichier audio avec la couverture et les chapitres.",
"LabelToolsM4bEncoder": "Encodeur M4B",
"LabelToolsMakeM4b": "Créer un fichier livre audio M4B", "LabelToolsMakeM4b": "Créer un fichier livre audio M4B",
"LabelToolsMakeM4bDescription": "Générer un fichier de livre audio .M4B avec des métadonnées intégrées, une image de couverture et des chapitres.", "LabelToolsMakeM4bDescription": "Générer un fichier de livre audio .M4B avec des métadonnées intégrées, une image de couverture et des chapitres.",
"LabelToolsSplitM4b": "Scinde le fichier M4B en fichiers MP3", "LabelToolsSplitM4b": "Scinde le fichier M4B en fichiers MP3",
@@ -617,6 +637,7 @@
"LabelUploaderDragAndDrop": "Glisser et déposer des fichiers ou dossiers", "LabelUploaderDragAndDrop": "Glisser et déposer des fichiers ou dossiers",
"LabelUploaderDropFiles": "Déposer des fichiers", "LabelUploaderDropFiles": "Déposer des fichiers",
"LabelUploaderItemFetchMetadataHelp": "Récupérer automatiquement le titre, lauteur et la série", "LabelUploaderItemFetchMetadataHelp": "Récupérer automatiquement le titre, lauteur et la série",
"LabelUseAdvancedOptions": "Utiliser les options avancées",
"LabelUseChapterTrack": "Utiliser la piste du chapitre", "LabelUseChapterTrack": "Utiliser la piste du chapitre",
"LabelUseFullTrack": "Utiliser la piste complète", "LabelUseFullTrack": "Utiliser la piste complète",
"LabelUser": "Utilisateur", "LabelUser": "Utilisateur",
@@ -655,49 +676,51 @@
"MessageChapterErrorStartLtPrev": "Horodatage invalide car il doit débuter au moins après le précédent chapitre", "MessageChapterErrorStartLtPrev": "Horodatage invalide car il doit débuter au moins après le précédent chapitre",
"MessageChapterStartIsAfter": "Le premier chapitre est situé au début de votre livre audio", "MessageChapterStartIsAfter": "Le premier chapitre est situé au début de votre livre audio",
"MessageCheckingCron": "Vérification du cron…", "MessageCheckingCron": "Vérification du cron…",
"MessageConfirmCloseFeed": "Êtes-vous sûr de vouloir fermer ce flux ?", "MessageConfirmCloseFeed": "Êtes-vous sûr·e de vouloir fermer ce flux?",
"MessageConfirmDeleteBackup": "Êtes-vous sûr de vouloir supprimer la sauvegarde de « {0} » ?", "MessageConfirmDeleteBackup": "Êtes-vous sûr·e de vouloir supprimer la sauvegarde de « {0} »?",
"MessageConfirmDeleteDevice": "Êtes-vous sûr de vouloir supprimer la liseuse « {0} » ?", "MessageConfirmDeleteDevice": "Êtes-vous sûr·e de vouloir supprimer la liseuse « {0} » ?",
"MessageConfirmDeleteFile": "Cela supprimera le fichier de votre système de fichiers. Êtes-vous sûr ?", "MessageConfirmDeleteFile": "Cela supprimera le fichier de votre système de fichiers. Êtes-vous sûr ?",
"MessageConfirmDeleteLibrary": "Êtes-vous sûr de vouloir supprimer définitivement la bibliothèque « {0} » ?", "MessageConfirmDeleteLibrary": "Êtes-vous sûr·e de vouloir supprimer définitivement la bibliothèque « {0} »?",
"MessageConfirmDeleteLibraryItem": "Cette opération supprimera l’élément de la base de données et de votre système de fichiers. Êtes-vous sûr ?", "MessageConfirmDeleteLibraryItem": "Cette opération supprimera l’élément de la base de données et de votre système de fichiers. Êtes-vous sûr ?",
"MessageConfirmDeleteLibraryItems": "Cette opération supprimera {0} éléments de la base de données et de votre système de fichiers. Êtes-vous sûr ?", "MessageConfirmDeleteLibraryItems": "Cette opération supprimera {0} éléments de la base de données et de votre système de fichiers. Êtes-vous sûr ?",
"MessageConfirmDeleteMetadataProvider": "Êtes-vous sûr de vouloir supprimer le fournisseur de métadonnées personnalisées « {0} » ?", "MessageConfirmDeleteMetadataProvider": "Êtes-vous sûr·e de vouloir supprimer le fournisseur de métadonnées personnalisées « {0} » ?",
"MessageConfirmDeleteNotification": "Êtes-vous sûr de vouloir supprimer cette notification?", "MessageConfirmDeleteNotification": "Êtes-vous sûr·e de vouloir supprimer cette notification?",
"MessageConfirmDeleteSession": "Êtes-vous sûr de vouloir supprimer cette session ?", "MessageConfirmDeleteSession": "Êtes-vous sûr·e de vouloir supprimer cette session?",
"MessageConfirmForceReScan": "Êtes-vous sûr de vouloir lancer une analyse forcée ?", "MessageConfirmEmbedMetadataInAudioFiles": "Souhaitez-vous vraiment intégrer des métadonnées dans {0} fichiers audio?",
"MessageConfirmMarkAllEpisodesFinished": "Êtes-vous sûr de marquer tous les épisodes comme terminés ?", "MessageConfirmForceReScan": "Êtes-vous sûr·e de vouloir lancer une analyse forcée?",
"MessageConfirmMarkAllEpisodesNotFinished": "Êtes-vous sûr de vouloir marquer tous les épisodes comme non terminés ?", "MessageConfirmMarkAllEpisodesFinished": "Êtes-vous sûr·e de marquer tous les épisodes comme terminés?",
"MessageConfirmMarkItemFinished": "Êtes-vous sûr de vouloir marquer \"{0}\" comme terminé ?", "MessageConfirmMarkAllEpisodesNotFinished": "Êtes-vous sûr·e de vouloir marquer tous les épisodes comme non terminés?",
"MessageConfirmMarkItemNotFinished": "Êtes-vous sûr de vouloir marquer \"{0}\" comme non terminé ?", "MessageConfirmMarkItemFinished": "Êtes-vous sûr·e de vouloir marquer {0} comme terminé ?",
"MessageConfirmMarkSeriesFinished": "Êtes-vous sûr de vouloir marquer tous les livres de cette série comme terminées ?", "MessageConfirmMarkItemNotFinished": "Êtes-vous sûr·e de vouloir marquer {0} comme non terminé?",
"MessageConfirmMarkSeriesNotFinished": "Êtes-vous sûr de vouloir marquer tous les livres de cette série comme non terminés?", "MessageConfirmMarkSeriesFinished": "Êtes-vous sûr·e de vouloir marquer tous les livres de cette série comme terminées?",
"MessageConfirmMarkSeriesNotFinished": "Êtes-vous sûr·e de vouloir marquer tous les livres de cette série comme non terminés?",
"MessageConfirmNotificationTestTrigger": "Déclencher cette notification avec des données de test?", "MessageConfirmNotificationTestTrigger": "Déclencher cette notification avec des données de test?",
"MessageConfirmPurgeCache": "La purge du cache supprimera lintégralité du répertoire à <code>/metadata/cache</code>.<br /><br />Êtes-vous sûr de vouloir supprimer le répertoire de cache?", "MessageConfirmPurgeCache": "La purge du cache supprimera lintégralité du répertoire à <code>/metadata/cache</code>.<br /><br />Êtes-vous sûr·e de vouloir supprimer le répertoire de cache?",
"MessageConfirmPurgeItemsCache": "Purger le cache des éléments supprimera l'ensemble du répertoire <code>/metadata/cache/items</code>.<br />Êtes-vous sûr?", "MessageConfirmPurgeItemsCache": "Purger le cache des éléments supprimera l'ensemble du répertoire <code>/metadata/cache/items</code>.<br />Êtes-vous sûr?",
"MessageConfirmQuickEmbed": "Attention ! L'intégration rapide ne permet pas de sauvegarder vos fichiers audio. Assurez-vous davoir effectuer une sauvegarde de vos fichiers audio.<br><br>Souhaitez-vous continuer ?", "MessageConfirmQuickEmbed": "Attention ! L'intégration rapide ne permet pas de sauvegarder vos fichiers audio. Assurez-vous davoir effectuer une sauvegarde de vos fichiers audio.<br><br>Souhaitez-vous continuer ?",
"MessageConfirmReScanLibraryItems": "Êtes-vous sûr de vouloir re-analyser {0} éléments ?", "MessageConfirmReScanLibraryItems": "Êtes-vous sûr·e de vouloir réanalyser {0} éléments?",
"MessageConfirmRemoveAllChapters": "Êtes-vous sûr de vouloir supprimer tous les chapitres ?", "MessageConfirmRemoveAllChapters": "Êtes-vous sûr·e de vouloir supprimer tous les chapitres?",
"MessageConfirmRemoveAuthor": "Êtes-vous sûr de vouloir supprimer lauteur « {0} » ?", "MessageConfirmRemoveAuthor": "Êtes-vous sûr·e de vouloir supprimer lauteur « {0} »?",
"MessageConfirmRemoveCollection": "Êtes-vous sûr de vouloir supprimer la collection « {0} » ?", "MessageConfirmRemoveCollection": "Êtes-vous sûr·e de vouloir supprimer la collection « {0} »?",
"MessageConfirmRemoveEpisode": "Êtes-vous sûr de vouloir supprimer l’épisode « {0} » ?", "MessageConfirmRemoveEpisode": "Êtes-vous sûr·e de vouloir supprimer l’épisode « {0} »?",
"MessageConfirmRemoveEpisodes": "Êtes-vous sûr de vouloir supprimer {0} épisodes ?", "MessageConfirmRemoveEpisodes": "Êtes-vous sûr·e de vouloir supprimer {0} épisodes?",
"MessageConfirmRemoveListeningSessions": "Êtes-vous sûr de vouloir supprimer {0} sessions d’écoute?", "MessageConfirmRemoveListeningSessions": "Êtes-vous sûr·e de vouloir supprimer {0} sessions d’écoute?",
"MessageConfirmRemoveNarrator": "Êtes-vous sûr de vouloir supprimer le narrateur « {0} » ?", "MessageConfirmRemoveNarrator": "Êtes-vous sûr·e de vouloir supprimer le narrateur « {0} »?",
"MessageConfirmRemovePlaylist": "Êtes-vous sûr de vouloir supprimer la liste de lecture « {0} » ?", "MessageConfirmRemovePlaylist": "Êtes-vous sûr·e de vouloir supprimer la liste de lecture « {0} »?",
"MessageConfirmRenameGenre": "Êtes-vous sûr de vouloir renommer le genre « {0} » en « {1} » pour tous les éléments ?", "MessageConfirmRenameGenre": "Êtes-vous sûr·e de vouloir renommer le genre « {0} » en « {1} » pour tous les éléments?",
"MessageConfirmRenameGenreMergeNote": "Information : ce genre existe déjà et sera fusionné.", "MessageConfirmRenameGenreMergeNote": "Information : ce genre existe déjà et sera fusionné.",
"MessageConfirmRenameGenreWarning": "Attention ! Un genre similaire avec une casse différente existe déjà « {0} ».", "MessageConfirmRenameGenreWarning": "Attention ! Un genre similaire avec une casse différente existe déjà « {0} ».",
"MessageConfirmRenameTag": "Êtes-vous sûr de vouloir renommer l’étiquette « {0} » en « {1} » pour tous les éléments ?", "MessageConfirmRenameTag": "Êtes-vous sûr·e de vouloir renommer l’étiquette « {0} » en « {1} » pour tous les éléments?",
"MessageConfirmRenameTagMergeNote": "Information : Cette étiquette existe déjà et sera fusionnée.", "MessageConfirmRenameTagMergeNote": "Information : Cette étiquette existe déjà et sera fusionnée.",
"MessageConfirmRenameTagWarning": "Attention ! Une étiquette similaire avec une casse différente existe déjà « {0} ».", "MessageConfirmRenameTagWarning": "Attention ! Une étiquette similaire avec une casse différente existe déjà « {0} ».",
"MessageConfirmResetProgress": "Êtes-vous sûr de vouloir réinitialiser votre progression?", "MessageConfirmResetProgress": "Êtes-vous sûr·e de vouloir réinitialiser votre progression?",
"MessageConfirmSendEbookToDevice": "Êtes-vous sûr de vouloir envoyer {0} livre numérique « {1} » à l'appareil « {2} » ?", "MessageConfirmSendEbookToDevice": "Êtes-vous sûr·e de vouloir envoyer {0} livre numérique « {1} » à l'appareil « {2} » ?",
"MessageConfirmUnlinkOpenId": "Êtes-vous sûr de vouloir dissocier cet utilisateur dOpenID?", "MessageConfirmUnlinkOpenId": "Êtes-vous sûr·e de vouloir dissocier cet utilisateur dOpenID?",
"MessageDownloadingEpisode": "Téléchargement de l’épisode", "MessageDownloadingEpisode": "Téléchargement de l’épisode",
"MessageDragFilesIntoTrackOrder": "Faites glisser les fichiers dans lordre correct des pistes", "MessageDragFilesIntoTrackOrder": "Faites glisser les fichiers dans lordre correct des pistes",
"MessageEmbedFailed": "Échec de lintégration!", "MessageEmbedFailed": "Échec de lintégration!",
"MessageEmbedFinished": "Intégration terminée !", "MessageEmbedFinished": "Intégration terminée !",
"MessageEmbedQueue": "En file d'attente pour l'intégration des métadonnées ({0} dans la file d'attente)",
"MessageEpisodesQueuedForDownload": "{0} épisode(s) mis en file pour téléchargement", "MessageEpisodesQueuedForDownload": "{0} épisode(s) mis en file pour téléchargement",
"MessageEreaderDevices": "Pour garantir lenvoi des livres électroniques, vous devrez peut-être ajouter le courriel ci-dessus comme expéditeur valide pour chaque appareil répertorié ci-dessous.", "MessageEreaderDevices": "Pour garantir lenvoi des livres électroniques, vous devrez peut-être ajouter le courriel ci-dessus comme expéditeur valide pour chaque appareil répertorié ci-dessous.",
"MessageFeedURLWillBe": "LURL du flux sera {0}", "MessageFeedURLWillBe": "LURL du flux sera {0}",
@@ -742,6 +765,7 @@
"MessageNoLogs": "Aucun journaux", "MessageNoLogs": "Aucun journaux",
"MessageNoMediaProgress": "Aucun média en cours", "MessageNoMediaProgress": "Aucun média en cours",
"MessageNoNotifications": "Aucune notification", "MessageNoNotifications": "Aucune notification",
"MessageNoPodcastFeed": "Podcast invalide : pas de flux",
"MessageNoPodcastsFound": "Aucun podcast trouvé", "MessageNoPodcastsFound": "Aucun podcast trouvé",
"MessageNoResults": "Aucun résultat", "MessageNoResults": "Aucun résultat",
"MessageNoSearchResultsFor": "Aucun résultat pour la recherche « {0} »", "MessageNoSearchResultsFor": "Aucun résultat pour la recherche « {0} »",
@@ -758,14 +782,17 @@
"MessagePlaylistCreateFromCollection": "Créer une liste de lecture depuis la collection", "MessagePlaylistCreateFromCollection": "Créer une liste de lecture depuis la collection",
"MessagePleaseWait": "Merci de patienter…", "MessagePleaseWait": "Merci de patienter…",
"MessagePodcastHasNoRSSFeedForMatching": "Le Podcast na pas dURL de flux RSS à utiliser pour la correspondance", "MessagePodcastHasNoRSSFeedForMatching": "Le Podcast na pas dURL de flux RSS à utiliser pour la correspondance",
"MessagePodcastSearchField": "Saisissez le terme de recherche ou l'URL du flux RSS",
"MessageQuickEmbedInProgress": "Intégration rapide en cours",
"MessageQuickEmbedQueue": "En file d'attente pour une intégration rapide ({0} dans la file d'attente)",
"MessageQuickMatchDescription": "Renseigne les détails manquants ainsi que la couverture avec la première correspondance de « {0} ». N’écrase pas les données présentes à moins que le paramètre « Préférer les Métadonnées par correspondance » soit activé.", "MessageQuickMatchDescription": "Renseigne les détails manquants ainsi que la couverture avec la première correspondance de « {0} ». N’écrase pas les données présentes à moins que le paramètre « Préférer les Métadonnées par correspondance » soit activé.",
"MessageRemoveChapter": "Supprimer le chapitre", "MessageRemoveChapter": "Supprimer le chapitre",
"MessageRemoveEpisodes": "Suppression de {0} épisode(s)", "MessageRemoveEpisodes": "Suppression de {0} épisode(s)",
"MessageRemoveFromPlayerQueue": "Supprimer de la liste d’écoute", "MessageRemoveFromPlayerQueue": "Supprimer de la liste d’écoute",
"MessageRemoveUserWarning": "Êtes-vous sûr de vouloir supprimer définitivement lutilisateur « {0} » ?", "MessageRemoveUserWarning": "Êtes-vous sûr·e de vouloir supprimer définitivement lutilisateur « {0} »?",
"MessageReportBugsAndContribute": "Signalez des anomalies, demandez des fonctionnalités et contribuez sur", "MessageReportBugsAndContribute": "Signalez des anomalies, demandez des fonctionnalités et contribuez sur",
"MessageResetChaptersConfirm": "Êtes-vous sûr de vouloir réinitialiser les chapitres et annuler les changements effectués ?", "MessageResetChaptersConfirm": "Êtes-vous sûr·e de vouloir réinitialiser les chapitres et annuler les changements effectués?",
"MessageRestoreBackupConfirm": "Êtes-vous sûr de vouloir restaurer la sauvegarde créée le", "MessageRestoreBackupConfirm": "Êtes-vous sûr·e de vouloir restaurer la sauvegarde créée le",
"MessageRestoreBackupWarning": "Restaurer la sauvegarde écrasera la base de donnée située dans le dossier /config ainsi que les images sur /metadata/items et /metadata/authors.<br><br>Les sauvegardes ne touchent pas aux fichiers de la bibliothèque. Si vous avez activé le paramètre pour sauvegarder les métadonnées et les images de couverture dans le même dossier que les fichiers, ceux-ci ne ni sauvegardés, ni écrasés lors de la restauration.<br><br>Tous les clients utilisant votre serveur seront automatiquement mis à jour.", "MessageRestoreBackupWarning": "Restaurer la sauvegarde écrasera la base de donnée située dans le dossier /config ainsi que les images sur /metadata/items et /metadata/authors.<br><br>Les sauvegardes ne touchent pas aux fichiers de la bibliothèque. Si vous avez activé le paramètre pour sauvegarder les métadonnées et les images de couverture dans le même dossier que les fichiers, ceux-ci ne ni sauvegardés, ni écrasés lors de la restauration.<br><br>Tous les clients utilisant votre serveur seront automatiquement mis à jour.",
"MessageSearchResultsFor": "Résultats de recherche pour", "MessageSearchResultsFor": "Résultats de recherche pour",
"MessageSelected": "{0} sélectionnés", "MessageSelected": "{0} sélectionnés",
@@ -775,6 +802,41 @@
"MessageShareExpiresIn": "Expire dans {0}", "MessageShareExpiresIn": "Expire dans {0}",
"MessageShareURLWillBe": "Ladresse de partage sera <strong>{0}</strong>", "MessageShareURLWillBe": "Ladresse de partage sera <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Démarrer la lecture pour « {0} » à {1} ?", "MessageStartPlaybackAtTime": "Démarrer la lecture pour « {0} » à {1} ?",
"MessageTaskAudioFileNotWritable": "Le fichier audio « {0} » nest pas accessible en écriture",
"MessageTaskCanceledByUser": "Tâche annulée par lutilisateur",
"MessageTaskDownloadingEpisodeDescription": "Téléchargement de l'épisode « {0} »",
"MessageTaskEmbeddingMetadata": "Intégration de métadonnées",
"MessageTaskEmbeddingMetadataDescription": "Intégration de métadonnées dans le livre audio « {0} »",
"MessageTaskEncodingM4b": "Encodage M4B",
"MessageTaskEncodingM4bDescription": "Encodage du livre audio « {0} » dans un seul fichier M4B",
"MessageTaskFailed": "Échec",
"MessageTaskFailedToBackupAudioFile": "Échec de la sauvegarde du fichier audio « {0} »",
"MessageTaskFailedToCreateCacheDirectory": "Échec de la création du répertoire de cache",
"MessageTaskFailedToEmbedMetadataInFile": "Échec de l'intégration des métadonnées dans le fichier « {0} »",
"MessageTaskFailedToMergeAudioFiles": "Échec de la fusion des fichiers audio",
"MessageTaskFailedToMoveM4bFile": "Échec du déplacement du fichier M4B",
"MessageTaskFailedToWriteMetadataFile": "Échec de l’écriture du fichier de métadonnées",
"MessageTaskMatchingBooksInLibrary": "Livres correspondants dans la bibliothèque « {0} »",
"MessageTaskNoFilesToScan": "Aucun fichier à analyser",
"MessageTaskOpmlImport": "Importation OPML",
"MessageTaskOpmlImportDescription": "Création de podcasts à partir de {0} flux RSS",
"MessageTaskOpmlImportFeed": "Flux dimportation OPML",
"MessageTaskOpmlImportFeedDescription": "Importation du flux RSS « {0} »",
"MessageTaskOpmlImportFeedFailed": "Échec de lobtention du flux de podcast",
"MessageTaskOpmlImportFeedPodcastDescription": "Création du podcast « {0} »",
"MessageTaskOpmlImportFeedPodcastExists": "Le podcast existe déjà à cet emplacement",
"MessageTaskOpmlImportFeedPodcastFailed": "Échec de la création du podcast",
"MessageTaskOpmlImportFinished": "Ajout de {0} podcasts",
"MessageTaskOpmlParseFailed": "Échec de l'analyse du fichier OPML",
"MessageTaskOpmlParseFastFail": "Balise <opml> de fichier OPML non valide introuvable OU une balise <outline> na pas été trouvée",
"MessageTaskOpmlParseNoneFound": "Aucun flux trouvé dans le fichier OPML",
"MessageTaskScanItemsAdded": "{0} ajouté",
"MessageTaskScanItemsMissing": "{0} manquant",
"MessageTaskScanItemsUpdated": "{0} mis à jour",
"MessageTaskScanNoChangesNeeded": "Aucun changement nécessaire",
"MessageTaskScanningFileChanges": "Analyse des modifications du fichier dans « {0} »",
"MessageTaskScanningLibrary": "Analyse de la bibliothèque « {0} »",
"MessageTaskTargetDirectoryNotWritable": "Le répertoire cible nest pas accessible en écriture",
"MessageThinking": "Je cherche…", "MessageThinking": "Je cherche…",
"MessageUploaderItemFailed": "Échec du téléversement", "MessageUploaderItemFailed": "Échec du téléversement",
"MessageUploaderItemSuccess": "Téléversement effectué !", "MessageUploaderItemSuccess": "Téléversement effectué !",
@@ -792,6 +854,10 @@
"NoteUploaderFoldersWithMediaFiles": "Les dossiers contenant des fichiers multimédias seront traités comme des éléments distincts de la bibliothèque.", "NoteUploaderFoldersWithMediaFiles": "Les dossiers contenant des fichiers multimédias seront traités comme des éléments distincts de la bibliothèque.",
"NoteUploaderOnlyAudioFiles": "Si vous téléversez uniquement des fichiers audio, chaque fichier audio sera traité comme un livre audio distinct.", "NoteUploaderOnlyAudioFiles": "Si vous téléversez uniquement des fichiers audio, chaque fichier audio sera traité comme un livre audio distinct.",
"NoteUploaderUnsupportedFiles": "Les fichiers non pris en charge sont ignorés. Lorsque vous choisissez ou déposez un dossier, les autres fichiers qui ne sont pas dans un dossier d’élément sont ignorés.", "NoteUploaderUnsupportedFiles": "Les fichiers non pris en charge sont ignorés. Lorsque vous choisissez ou déposez un dossier, les autres fichiers qui ne sont pas dans un dossier d’élément sont ignorés.",
"NotificationOnBackupCompletedDescription": "Déclenché lorsquune sauvegarde est terminée",
"NotificationOnBackupFailedDescription": "Déclenché lorsqu'une sauvegarde échoue",
"NotificationOnEpisodeDownloadedDescription": "Déclenché lorsquun épisode de podcast est téléchargé automatiquement",
"NotificationOnTestDescription": "Événement pour tester le système de notification",
"PlaceholderNewCollection": "Nom de la nouvelle collection", "PlaceholderNewCollection": "Nom de la nouvelle collection",
"PlaceholderNewFolderPath": "Nouveau chemin de dossier", "PlaceholderNewFolderPath": "Nouveau chemin de dossier",
"PlaceholderNewPlaylist": "Nouveau nom de liste de lecture", "PlaceholderNewPlaylist": "Nouveau nom de liste de lecture",
@@ -815,14 +881,12 @@
"StatsTopNarrators": "TOP NARRATEURS", "StatsTopNarrators": "TOP NARRATEURS",
"StatsTotalDuration": "Pour une durée totale de…", "StatsTotalDuration": "Pour une durée totale de…",
"StatsYearInReview": "BILAN DE LANNÉE", "StatsYearInReview": "BILAN DE LANNÉE",
"ToastAccountUpdateFailed": "Échec de la mise à jour du compte",
"ToastAccountUpdateSuccess": "Compte mis à jour", "ToastAccountUpdateSuccess": "Compte mis à jour",
"ToastAppriseUrlRequired": "Vous devez entrer une URL Apprise", "ToastAppriseUrlRequired": "Vous devez entrer une URL Apprise",
"ToastAuthorImageRemoveSuccess": "Image de lauteur supprimée", "ToastAuthorImageRemoveSuccess": "Image de lauteur supprimée",
"ToastAuthorNotFound": "Auteur \"{0}\" non trouvé", "ToastAuthorNotFound": "Auteur \"{0}\" non trouvé",
"ToastAuthorRemoveSuccess": "Auteur supprimé", "ToastAuthorRemoveSuccess": "Auteur supprimé",
"ToastAuthorSearchNotFound": "Auteur non trouvé", "ToastAuthorSearchNotFound": "Auteur non trouvé",
"ToastAuthorUpdateFailed": "Échec de la mise à jour de lauteur",
"ToastAuthorUpdateMerged": "Auteur fusionné", "ToastAuthorUpdateMerged": "Auteur fusionné",
"ToastAuthorUpdateSuccess": "Auteur mis à jour", "ToastAuthorUpdateSuccess": "Auteur mis à jour",
"ToastAuthorUpdateSuccessNoImageFound": "Auteur mis à jour (aucune image trouvée)", "ToastAuthorUpdateSuccessNoImageFound": "Auteur mis à jour (aucune image trouvée)",
@@ -833,7 +897,6 @@
"ToastBackupDeleteSuccess": "Sauvegarde supprimée", "ToastBackupDeleteSuccess": "Sauvegarde supprimée",
"ToastBackupInvalidMaxKeep": "Nombre de sauvegardes à conserver invalide", "ToastBackupInvalidMaxKeep": "Nombre de sauvegardes à conserver invalide",
"ToastBackupInvalidMaxSize": "Taille maximale de sauvegarde invalide", "ToastBackupInvalidMaxSize": "Taille maximale de sauvegarde invalide",
"ToastBackupPathUpdateFailed": "Échec de la mise à jour du chemin de sauvegarde",
"ToastBackupRestoreFailed": "Échec de la restauration de sauvegarde", "ToastBackupRestoreFailed": "Échec de la restauration de sauvegarde",
"ToastBackupUploadFailed": "Échec du téléversement de sauvegarde", "ToastBackupUploadFailed": "Échec du téléversement de sauvegarde",
"ToastBackupUploadSuccess": "Sauvegarde téléversée", "ToastBackupUploadSuccess": "Sauvegarde téléversée",
@@ -844,7 +907,6 @@
"ToastBookmarkCreateFailed": "Échec de la création de signet", "ToastBookmarkCreateFailed": "Échec de la création de signet",
"ToastBookmarkCreateSuccess": "Signet ajouté", "ToastBookmarkCreateSuccess": "Signet ajouté",
"ToastBookmarkRemoveSuccess": "Signet supprimé", "ToastBookmarkRemoveSuccess": "Signet supprimé",
"ToastBookmarkUpdateFailed": "Échec de la mise à jour de signet",
"ToastBookmarkUpdateSuccess": "Signet mis à jour", "ToastBookmarkUpdateSuccess": "Signet mis à jour",
"ToastCachePurgeFailed": "Échec de la purge du cache", "ToastCachePurgeFailed": "Échec de la purge du cache",
"ToastCachePurgeSuccess": "Cache purgé avec succès", "ToastCachePurgeSuccess": "Cache purgé avec succès",
@@ -855,7 +917,6 @@
"ToastCollectionItemsAddSuccess": "Ajout de(s) élément(s) à la collection réussi", "ToastCollectionItemsAddSuccess": "Ajout de(s) élément(s) à la collection réussi",
"ToastCollectionItemsRemoveSuccess": "Élément(s) supprimé(s) de la collection", "ToastCollectionItemsRemoveSuccess": "Élément(s) supprimé(s) de la collection",
"ToastCollectionRemoveSuccess": "Collection supprimée", "ToastCollectionRemoveSuccess": "Collection supprimée",
"ToastCollectionUpdateFailed": "Échec de la mise à jour de la collection",
"ToastCollectionUpdateSuccess": "Collection mise à jour", "ToastCollectionUpdateSuccess": "Collection mise à jour",
"ToastCoverUpdateFailed": "Échec de la mise à jour de la couverture", "ToastCoverUpdateFailed": "Échec de la mise à jour de la couverture",
"ToastDeleteFileFailed": "Échec de la suppression du fichier", "ToastDeleteFileFailed": "Échec de la suppression du fichier",
@@ -864,8 +925,6 @@
"ToastDeviceNameAlreadyExists": "Un appareil de lecture avec ce nom existe déjà", "ToastDeviceNameAlreadyExists": "Un appareil de lecture avec ce nom existe déjà",
"ToastDeviceTestEmailFailed": "Échec de lenvoi du courriel de test", "ToastDeviceTestEmailFailed": "Échec de lenvoi du courriel de test",
"ToastDeviceTestEmailSuccess": "Courriel de test envoyé", "ToastDeviceTestEmailSuccess": "Courriel de test envoyé",
"ToastDeviceUpdateFailed": "Échec de la mise à jour",
"ToastEmailSettingsUpdateFailed": "Échec de la mise à jour des paramètres de messagerie",
"ToastEmailSettingsUpdateSuccess": "Paramètres de messagerie mis à jour", "ToastEmailSettingsUpdateSuccess": "Paramètres de messagerie mis à jour",
"ToastEncodeCancelFailed": "Échec de lannulation de lencodage", "ToastEncodeCancelFailed": "Échec de lannulation de lencodage",
"ToastEncodeCancelSucces": "Encodage annulé", "ToastEncodeCancelSucces": "Encodage annulé",
@@ -874,21 +933,17 @@
"ToastErrorCannotShare": "Impossible de partager nativement sur cet appareil", "ToastErrorCannotShare": "Impossible de partager nativement sur cet appareil",
"ToastFailedToLoadData": "Échec du chargement des données", "ToastFailedToLoadData": "Échec du chargement des données",
"ToastFailedToShare": "Échec du partage", "ToastFailedToShare": "Échec du partage",
"ToastFailedToUpdateAccount": "Échec de la mise à jour du compte", "ToastFailedToUpdate": "Échec de la mise à jour",
"ToastFailedToUpdateUser": "La mise a jour de l'utilisateur à échouée",
"ToastInvalidImageUrl": "URL de l'image invalide", "ToastInvalidImageUrl": "URL de l'image invalide",
"ToastInvalidUrl": "URL invalide", "ToastInvalidUrl": "URL invalide",
"ToastItemCoverUpdateFailed": "Échec de la mise à jour de la couverture de l’élément",
"ToastItemCoverUpdateSuccess": "Couverture mise à jour", "ToastItemCoverUpdateSuccess": "Couverture mise à jour",
"ToastItemDeletedFailed": "La suppression de l'élément à échouée", "ToastItemDeletedFailed": "La suppression de l'élément à échouée",
"ToastItemDeletedSuccess": "Élément supprimé", "ToastItemDeletedSuccess": "Élément supprimé",
"ToastItemDetailsUpdateFailed": "Échec de la mise à jour des détails de l’élément",
"ToastItemDetailsUpdateSuccess": "Détails de l’élément mis à jour", "ToastItemDetailsUpdateSuccess": "Détails de l’élément mis à jour",
"ToastItemMarkedAsFinishedFailed": "Échec de lannotation terminée", "ToastItemMarkedAsFinishedFailed": "Échec de lannotation terminée",
"ToastItemMarkedAsFinishedSuccess": "Article marqué comme terminé", "ToastItemMarkedAsFinishedSuccess": "Article marqué comme terminé",
"ToastItemMarkedAsNotFinishedFailed": "Échec de lannotation non-terminée", "ToastItemMarkedAsNotFinishedFailed": "Échec de lannotation non-terminée",
"ToastItemMarkedAsNotFinishedSuccess": "Article marqué comme non-terminé", "ToastItemMarkedAsNotFinishedSuccess": "Article marqué comme non-terminé",
"ToastItemUpdateFailed": "La mise a jour de l’élément à échoué",
"ToastItemUpdateSuccess": "Élément mis a jour", "ToastItemUpdateSuccess": "Élément mis a jour",
"ToastLibraryCreateFailed": "Échec de la création de bibliothèque", "ToastLibraryCreateFailed": "Échec de la création de bibliothèque",
"ToastLibraryCreateSuccess": "Bibliothèque « {0} » créée", "ToastLibraryCreateSuccess": "Bibliothèque « {0} » créée",
@@ -896,31 +951,28 @@
"ToastLibraryDeleteSuccess": "Bibliothèque supprimée", "ToastLibraryDeleteSuccess": "Bibliothèque supprimée",
"ToastLibraryScanFailedToStart": "Échec du démarrage de lanalyse", "ToastLibraryScanFailedToStart": "Échec du démarrage de lanalyse",
"ToastLibraryScanStarted": "Analyse de la bibliothèque démarrée", "ToastLibraryScanStarted": "Analyse de la bibliothèque démarrée",
"ToastLibraryUpdateFailed": "Échec de la mise à jour de la bibliothèque",
"ToastLibraryUpdateSuccess": "Bibliothèque « {0} » mise à jour", "ToastLibraryUpdateSuccess": "Bibliothèque « {0} » mise à jour",
"ToastMatchAllAuthorsFailed": "Tous les auteurs et autrices nont pas pu être classés",
"ToastNameEmailRequired": "Le nom et le courriel sont requis", "ToastNameEmailRequired": "Le nom et le courriel sont requis",
"ToastNameRequired": "Le nom est requis", "ToastNameRequired": "Le nom est requis",
"ToastNewUserCreatedFailed": "La création du compte à échouée: « {0} »", "ToastNewUserCreatedFailed": "La création du compte à échouée: « {0} »",
"ToastNewUserCreatedSuccess": "Nouveau compte créé", "ToastNewUserCreatedSuccess": "Nouveau compte créé",
"ToastNewUserLibraryError": "Au moins une bibliothèque est requise", "ToastNewUserLibraryError": "Au moins une bibliothèque est requise",
"ToastNewUserPasswordError": "Un mot de passe est requis, seul lutilisateur root peut avoir un mot de passe vide", "ToastNewUserPasswordError": "Un mot de passe est requis, seul lutilisateur root peut avoir un mot de passe vide",
"ToastNewUserTagError": "Au moins un tag est requis", "ToastNewUserTagError": "Au moins une étiquette est requise",
"ToastNewUserUsernameError": "Entrez un nom dutilisateur", "ToastNewUserUsernameError": "Entrez un nom dutilisateur",
"ToastNoUpdatesNecessary": "Aucune mise à jour nécessaire", "ToastNoUpdatesNecessary": "Aucune mise à jour nécessaire",
"ToastNotificationCreateFailed": "La création de la notification à échouée", "ToastNotificationCreateFailed": "La création de la notification à échouée",
"ToastNotificationDeleteFailed": "La suppression de la notification à échouée", "ToastNotificationDeleteFailed": "La suppression de la notification à échouée",
"ToastNotificationFailedMaximum": "Le nombre maximum de tentatives échouées doit être >= 0", "ToastNotificationFailedMaximum": "Le nombre maximum de tentatives échouées doit être >= 0",
"ToastNotificationQueueMaximum": "Le nombre de notification maximum doit être >= 0", "ToastNotificationQueueMaximum": "Le nombre de notification maximum doit être >= 0",
"ToastNotificationSettingsUpdateFailed": "La mise a jour des paramètres de notification a échouée",
"ToastNotificationSettingsUpdateSuccess": "Paramètres de notification mis à jour", "ToastNotificationSettingsUpdateSuccess": "Paramètres de notification mis à jour",
"ToastNotificationTestTriggerFailed": "L'envoi de la notification de test à échoué", "ToastNotificationTestTriggerFailed": "L'envoi de la notification de test à échoué",
"ToastNotificationTestTriggerSuccess": "Notification de test déclenchée", "ToastNotificationTestTriggerSuccess": "Notification de test déclenchée",
"ToastNotificationUpdateFailed": "Échec de la mise à jour de la notification",
"ToastNotificationUpdateSuccess": "Notification mise à jour", "ToastNotificationUpdateSuccess": "Notification mise à jour",
"ToastPlaylistCreateFailed": "Échec de la création de la liste de lecture", "ToastPlaylistCreateFailed": "Échec de la création de la liste de lecture",
"ToastPlaylistCreateSuccess": "Liste de lecture créée", "ToastPlaylistCreateSuccess": "Liste de lecture créée",
"ToastPlaylistRemoveSuccess": "Liste de lecture supprimée", "ToastPlaylistRemoveSuccess": "Liste de lecture supprimée",
"ToastPlaylistUpdateFailed": "Échec de la mise à jour de la liste de lecture",
"ToastPlaylistUpdateSuccess": "Liste de lecture mise à jour", "ToastPlaylistUpdateSuccess": "Liste de lecture mise à jour",
"ToastPodcastCreateFailed": "Échec de la création du podcast", "ToastPodcastCreateFailed": "Échec de la création du podcast",
"ToastPodcastCreateSuccess": "Podcast créé avec succès", "ToastPodcastCreateSuccess": "Podcast créé avec succès",
@@ -949,7 +1001,6 @@
"ToastSendEbookToDeviceSuccess": "Livre numérique envoyé à lappareil : {0}", "ToastSendEbookToDeviceSuccess": "Livre numérique envoyé à lappareil : {0}",
"ToastSeriesUpdateFailed": "Échec de la mise à jour de la série", "ToastSeriesUpdateFailed": "Échec de la mise à jour de la série",
"ToastSeriesUpdateSuccess": "Mise à jour de la série réussie", "ToastSeriesUpdateSuccess": "Mise à jour de la série réussie",
"ToastServerSettingsUpdateFailed": "Échec de la mise à jour des paramètres du serveur",
"ToastServerSettingsUpdateSuccess": "Mise à jour des paramètres du serveur", "ToastServerSettingsUpdateSuccess": "Mise à jour des paramètres du serveur",
"ToastSessionCloseFailed": "Échec de la fermeture de la session", "ToastSessionCloseFailed": "Échec de la fermeture de la session",
"ToastSessionDeleteFailed": "Échec de la suppression de session", "ToastSessionDeleteFailed": "Échec de la suppression de session",
@@ -960,7 +1011,6 @@
"ToastSocketDisconnected": "WebSocket déconnecté", "ToastSocketDisconnected": "WebSocket déconnecté",
"ToastSocketFailedToConnect": "Échec de la connexion WebSocket", "ToastSocketFailedToConnect": "Échec de la connexion WebSocket",
"ToastSortingPrefixesEmptyError": "Doit avoir au moins 1 préfixe de tri", "ToastSortingPrefixesEmptyError": "Doit avoir au moins 1 préfixe de tri",
"ToastSortingPrefixesUpdateFailed": "Échec de la mise à jour des préfixes de tri",
"ToastSortingPrefixesUpdateSuccess": "Mise à jour des préfixes de tri ({0} élément)", "ToastSortingPrefixesUpdateSuccess": "Mise à jour des préfixes de tri ({0} élément)",
"ToastTitleRequired": "Le titre est requis", "ToastTitleRequired": "Le titre est requis",
"ToastUnknownError": "Erreur inconnue", "ToastUnknownError": "Erreur inconnue",
-9
View File
@@ -701,10 +701,8 @@
"PlaceholderNewPlaylist": "שם רשימת השמעה חדשה", "PlaceholderNewPlaylist": "שם רשימת השמעה חדשה",
"PlaceholderSearch": "חיפוש..", "PlaceholderSearch": "חיפוש..",
"PlaceholderSearchEpisode": "חיפוש פרק..", "PlaceholderSearchEpisode": "חיפוש פרק..",
"ToastAccountUpdateFailed": "עדכון חשבון נכשל",
"ToastAccountUpdateSuccess": "חשבון עודכן בהצלחה", "ToastAccountUpdateSuccess": "חשבון עודכן בהצלחה",
"ToastAuthorImageRemoveSuccess": "תמונת המחבר הוסרה בהצלחה", "ToastAuthorImageRemoveSuccess": "תמונת המחבר הוסרה בהצלחה",
"ToastAuthorUpdateFailed": "עדכון המחבר נכשל",
"ToastAuthorUpdateMerged": "המחבר מוזג", "ToastAuthorUpdateMerged": "המחבר מוזג",
"ToastAuthorUpdateSuccess": "המחבר עודכן בהצלחה", "ToastAuthorUpdateSuccess": "המחבר עודכן בהצלחה",
"ToastAuthorUpdateSuccessNoImageFound": "המחבר עודכן (תמונה לא נמצאה)", "ToastAuthorUpdateSuccessNoImageFound": "המחבר עודכן (תמונה לא נמצאה)",
@@ -720,17 +718,13 @@
"ToastBookmarkCreateFailed": "יצירת סימניה נכשלה", "ToastBookmarkCreateFailed": "יצירת סימניה נכשלה",
"ToastBookmarkCreateSuccess": "הסימניה נוספה בהצלחה", "ToastBookmarkCreateSuccess": "הסימניה נוספה בהצלחה",
"ToastBookmarkRemoveSuccess": "הסימניה הוסרה בהצלחה", "ToastBookmarkRemoveSuccess": "הסימניה הוסרה בהצלחה",
"ToastBookmarkUpdateFailed": "עדכון הסימניה נכשל",
"ToastBookmarkUpdateSuccess": "הסימניה עודכנה בהצלחה", "ToastBookmarkUpdateSuccess": "הסימניה עודכנה בהצלחה",
"ToastChaptersHaveErrors": "פרקים מכילים שגיאות", "ToastChaptersHaveErrors": "פרקים מכילים שגיאות",
"ToastChaptersMustHaveTitles": "פרקים חייבים לכלול כותרות", "ToastChaptersMustHaveTitles": "פרקים חייבים לכלול כותרות",
"ToastCollectionItemsRemoveSuccess": "הפריט(ים) הוסרו מהאוסף בהצלחה", "ToastCollectionItemsRemoveSuccess": "הפריט(ים) הוסרו מהאוסף בהצלחה",
"ToastCollectionRemoveSuccess": "האוסף הוסר בהצלחה", "ToastCollectionRemoveSuccess": "האוסף הוסר בהצלחה",
"ToastCollectionUpdateFailed": "עדכון האוסף נכשל",
"ToastCollectionUpdateSuccess": "האוסף עודכן בהצלחה", "ToastCollectionUpdateSuccess": "האוסף עודכן בהצלחה",
"ToastItemCoverUpdateFailed": "עדכון כריכת הפריט נכשל",
"ToastItemCoverUpdateSuccess": "כריכת הפריט עודכנה בהצלחה", "ToastItemCoverUpdateSuccess": "כריכת הפריט עודכנה בהצלחה",
"ToastItemDetailsUpdateFailed": "עדכון פרטי הפריט נכשל",
"ToastItemDetailsUpdateSuccess": "פרטי הפריט עודכנו בהצלחה", "ToastItemDetailsUpdateSuccess": "פרטי הפריט עודכנו בהצלחה",
"ToastItemMarkedAsFinishedFailed": "סימון כפריט כהושלם נכשל", "ToastItemMarkedAsFinishedFailed": "סימון כפריט כהושלם נכשל",
"ToastItemMarkedAsFinishedSuccess": "הפריט סומן כהושלם בהצלחה", "ToastItemMarkedAsFinishedSuccess": "הפריט סומן כהושלם בהצלחה",
@@ -742,12 +736,10 @@
"ToastLibraryDeleteSuccess": "הספרייה נמחקה בהצלחה", "ToastLibraryDeleteSuccess": "הספרייה נמחקה בהצלחה",
"ToastLibraryScanFailedToStart": "הפעלת הסריקה נכשלה", "ToastLibraryScanFailedToStart": "הפעלת הסריקה נכשלה",
"ToastLibraryScanStarted": "הסריקה של הספרייה החלה", "ToastLibraryScanStarted": "הסריקה של הספרייה החלה",
"ToastLibraryUpdateFailed": "עדכון הספרייה נכשל",
"ToastLibraryUpdateSuccess": "הספרייה \"{0}\" עודכנה בהצלחה", "ToastLibraryUpdateSuccess": "הספרייה \"{0}\" עודכנה בהצלחה",
"ToastPlaylistCreateFailed": "יצירת רשימת השמעה נכשלה", "ToastPlaylistCreateFailed": "יצירת רשימת השמעה נכשלה",
"ToastPlaylistCreateSuccess": "רשימת השמעה נוצרה בהצלחה", "ToastPlaylistCreateSuccess": "רשימת השמעה נוצרה בהצלחה",
"ToastPlaylistRemoveSuccess": "רשימת השמעה הוסרה בהצלחה", "ToastPlaylistRemoveSuccess": "רשימת השמעה הוסרה בהצלחה",
"ToastPlaylistUpdateFailed": "עדכון רשימת השמעה נכשל",
"ToastPlaylistUpdateSuccess": "רשימת השמעה עודכנה בהצלחה", "ToastPlaylistUpdateSuccess": "רשימת השמעה עודכנה בהצלחה",
"ToastPodcastCreateFailed": "יצירת הפודקאסט נכשלה", "ToastPodcastCreateFailed": "יצירת הפודקאסט נכשלה",
"ToastPodcastCreateSuccess": "הפודקאסט נוצר בהצלחה", "ToastPodcastCreateSuccess": "הפודקאסט נוצר בהצלחה",
@@ -759,7 +751,6 @@
"ToastSendEbookToDeviceSuccess": "הספר נשלח אל המכשיר \"{0}\"", "ToastSendEbookToDeviceSuccess": "הספר נשלח אל המכשיר \"{0}\"",
"ToastSeriesUpdateFailed": "עדכון הסדרה נכשל", "ToastSeriesUpdateFailed": "עדכון הסדרה נכשל",
"ToastSeriesUpdateSuccess": "הסדרה עודכנה בהצלחה", "ToastSeriesUpdateSuccess": "הסדרה עודכנה בהצלחה",
"ToastServerSettingsUpdateFailed": "כשל בעדכון הגדרות שרת",
"ToastServerSettingsUpdateSuccess": "הגדרות שרת עודכנו בהצלחה", "ToastServerSettingsUpdateSuccess": "הגדרות שרת עודכנו בהצלחה",
"ToastSessionDeleteFailed": "מחיקת הפעולה נכשלה", "ToastSessionDeleteFailed": "מחיקת הפעולה נכשלה",
"ToastSessionDeleteSuccess": "הפעולה נמחקה בהצלחה", "ToastSessionDeleteSuccess": "הפעולה נמחקה בהצלחה",
+122 -32
View File
@@ -56,6 +56,7 @@
"ButtonOpenManager": "Otvori Upravitelja", "ButtonOpenManager": "Otvori Upravitelja",
"ButtonPause": "Pauziraj", "ButtonPause": "Pauziraj",
"ButtonPlay": "Reproduciraj", "ButtonPlay": "Reproduciraj",
"ButtonPlayAll": "Reproduciraj sve",
"ButtonPlaying": "Izvodi se", "ButtonPlaying": "Izvodi se",
"ButtonPlaylists": "Popisi za izvođenje", "ButtonPlaylists": "Popisi za izvođenje",
"ButtonPrevious": "Prethodno", "ButtonPrevious": "Prethodno",
@@ -65,6 +66,7 @@
"ButtonPurgeItemsCache": "Isprazni predmemoriju stavki", "ButtonPurgeItemsCache": "Isprazni predmemoriju stavki",
"ButtonQueueAddItem": "Dodaj u red", "ButtonQueueAddItem": "Dodaj u red",
"ButtonQueueRemoveItem": "Ukloni iz reda", "ButtonQueueRemoveItem": "Ukloni iz reda",
"ButtonQuickEmbed": "Brzo ugrađivanje",
"ButtonQuickEmbedMetadata": "Brzo ugrađivanje meta-podataka", "ButtonQuickEmbedMetadata": "Brzo ugrađivanje meta-podataka",
"ButtonQuickMatch": "Brzo prepoznavanje", "ButtonQuickMatch": "Brzo prepoznavanje",
"ButtonReScan": "Ponovno skeniraj", "ButtonReScan": "Ponovno skeniraj",
@@ -80,7 +82,7 @@
"ButtonRemoveSeriesFromContinueSeries": "Ukloni seriju iz Nastavi seriju", "ButtonRemoveSeriesFromContinueSeries": "Ukloni seriju iz Nastavi seriju",
"ButtonReset": "Poništi", "ButtonReset": "Poništi",
"ButtonResetToDefault": "Vrati na početne postavke", "ButtonResetToDefault": "Vrati na početne postavke",
"ButtonRestore": "Povrati", "ButtonRestore": "Vraćanje",
"ButtonSave": "Spremi", "ButtonSave": "Spremi",
"ButtonSaveAndClose": "Spremi i zatvori", "ButtonSaveAndClose": "Spremi i zatvori",
"ButtonSaveTracklist": "Spremi popis zvučnih zapisa", "ButtonSaveTracklist": "Spremi popis zvučnih zapisa",
@@ -96,8 +98,9 @@
"ButtonStartM4BEncode": "Pokreni M4B kodiranje", "ButtonStartM4BEncode": "Pokreni M4B kodiranje",
"ButtonStartMetadataEmbed": "Pokreni ugradnju meta-podataka", "ButtonStartMetadataEmbed": "Pokreni ugradnju meta-podataka",
"ButtonStats": "Statistika", "ButtonStats": "Statistika",
"ButtonSubmit": "Podnesi", "ButtonSubmit": "Pošalji",
"ButtonTest": "Test", "ButtonTest": "Test",
"ButtonUnlinkOpenId": "Prekini vezu s OpenID-jem",
"ButtonUpload": "Učitaj", "ButtonUpload": "Učitaj",
"ButtonUploadBackup": "Učitaj sigurnosnu kopiju", "ButtonUploadBackup": "Učitaj sigurnosnu kopiju",
"ButtonUploadCover": "Učitaj naslovnicu", "ButtonUploadCover": "Učitaj naslovnicu",
@@ -177,6 +180,7 @@
"HeaderRemoveEpisodes": "Ukloni {0} nastavaka", "HeaderRemoveEpisodes": "Ukloni {0} nastavaka",
"HeaderSavedMediaProgress": "Spremljen napredak medija", "HeaderSavedMediaProgress": "Spremljen napredak medija",
"HeaderSchedule": "Zakazivanje", "HeaderSchedule": "Zakazivanje",
"HeaderScheduleEpisodeDownloads": "Zakazivanje automatskog preuzimanja nastavaka",
"HeaderScheduleLibraryScans": "Zakaži automatsko skeniranje knjižnice", "HeaderScheduleLibraryScans": "Zakaži automatsko skeniranje knjižnice",
"HeaderSession": "Sesija", "HeaderSession": "Sesija",
"HeaderSetBackupSchedule": "Zakazivanje sigurnosne pohrane", "HeaderSetBackupSchedule": "Zakazivanje sigurnosne pohrane",
@@ -223,6 +227,9 @@
"LabelAllUsersIncludingGuests": "Svi korisnici uključujući i goste", "LabelAllUsersIncludingGuests": "Svi korisnici uključujući i goste",
"LabelAlreadyInYourLibrary": "Već u vašoj knjižnici", "LabelAlreadyInYourLibrary": "Već u vašoj knjižnici",
"LabelAppend": "Pridodaj", "LabelAppend": "Pridodaj",
"LabelAudioBitrate": "Kvaliteta zvučnog zapisa (npr. 128k)",
"LabelAudioChannels": "Broj zvučnih kanala (1 ili 2)",
"LabelAudioCodec": "Zvučni kodek",
"LabelAuthor": "Autor", "LabelAuthor": "Autor",
"LabelAuthorFirstLast": "Autor (Ime Prezime)", "LabelAuthorFirstLast": "Autor (Ime Prezime)",
"LabelAuthorLastFirst": "Autor (Prezime, Ime)", "LabelAuthorLastFirst": "Autor (Prezime, Ime)",
@@ -235,23 +242,27 @@
"LabelAutoRegister": "Automatska registracija", "LabelAutoRegister": "Automatska registracija",
"LabelAutoRegisterDescription": "Automatski izradi nove korisnike nakon prijave", "LabelAutoRegisterDescription": "Automatski izradi nove korisnike nakon prijave",
"LabelBackToUser": "Povratak na korisnika", "LabelBackToUser": "Povratak na korisnika",
"LabelBackupAudioFiles": "Sigurnosno kopiranje zvučnih datoteka",
"LabelBackupLocation": "Lokacija sigurnosnih kopija", "LabelBackupLocation": "Lokacija sigurnosnih kopija",
"LabelBackupsEnableAutomaticBackups": "Uključi automatsku izradu sigurnosnih kopija", "LabelBackupsEnableAutomaticBackups": "Omogući automatsku izradu sigurnosnih kopija",
"LabelBackupsEnableAutomaticBackupsHelp": "Sigurnosne kopije spremaju se u /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Sigurnosne kopije spremaju se u /metadata/backups",
"LabelBackupsMaxBackupSize": "Maksimalna veličina sigurnosne kopije (u GB) (0 za neograničeno)", "LabelBackupsMaxBackupSize": "Maksimalna veličina sigurnosne kopije (u GB) (0 za neograničeno)",
"LabelBackupsMaxBackupSizeHelp": "U svrhu sprečavanja izrade krive konfiguracije, sigurnosne kopije neće se izraditi ako su veće od zadane veličine.", "LabelBackupsMaxBackupSizeHelp": "U svrhu sprečavanja izrade krive konfiguracije, sigurnosne kopije neće se izraditi ako su veće od zadane veličine.",
"LabelBackupsNumberToKeep": "Broj sigurnosnih kopija za čuvanje", "LabelBackupsNumberToKeep": "Broj sigurnosnih kopija za čuvanje",
"LabelBackupsNumberToKeepHelp": "Moguće je izbrisati samo jednu po jednu sigurnosnu kopiju, ako ih već imate više trebat ćete ih ručno ukloniti.", "LabelBackupsNumberToKeepHelp": "Moguće je izbrisati samo jednu po jednu sigurnosnu kopiju, ako ih već imate više trebat ćete ih ručno ukloniti.",
"LabelBitrate": "Protok", "LabelBitrate": "Protok",
"LabelBonus": "Bonus",
"LabelBooks": "knjiga/e", "LabelBooks": "knjiga/e",
"LabelButtonText": "Tekst gumba", "LabelButtonText": "Tekst gumba",
"LabelByAuthor": "po {0}", "LabelByAuthor": "po {0}",
"LabelChangePassword": "Promijeni lozinku", "LabelChangePassword": "Promijeni zaporku",
"LabelChannels": "Kanali", "LabelChannels": "Kanali",
"LabelChapterCount": "{0} Poglavlje/a",
"LabelChapterTitle": "Naslov poglavlja", "LabelChapterTitle": "Naslov poglavlja",
"LabelChapters": "Poglavlja", "LabelChapters": "Poglavlja",
"LabelChaptersFound": "poglavlja pronađeno", "LabelChaptersFound": "poglavlja pronađeno",
"LabelClickForMoreInfo": "Kliknite za više informacija", "LabelClickForMoreInfo": "Kliknite za više informacija",
"LabelClickToUseCurrentValue": "Kliknite za trenutnu vrijednost",
"LabelClosePlayer": "Zatvori reproduktor", "LabelClosePlayer": "Zatvori reproduktor",
"LabelCodec": "Kodek", "LabelCodec": "Kodek",
"LabelCollapseSeries": "Serijale prikaži sažeto", "LabelCollapseSeries": "Serijale prikaži sažeto",
@@ -259,13 +270,13 @@
"LabelCollection": "Zbirka", "LabelCollection": "Zbirka",
"LabelCollections": "Zbirka/i", "LabelCollections": "Zbirka/i",
"LabelComplete": "Dovršeno", "LabelComplete": "Dovršeno",
"LabelConfirmPassword": "Potvrdi lozinku", "LabelConfirmPassword": "Potvrda zaporke",
"LabelContinueListening": "Nastavi slušati", "LabelContinueListening": "Nastavi slušati",
"LabelContinueReading": "Nastavi čitati", "LabelContinueReading": "Nastavi čitati",
"LabelContinueSeries": "Nastavi serijal", "LabelContinueSeries": "Nastavi serijal",
"LabelCover": "Naslovnica", "LabelCover": "Naslovnica",
"LabelCoverImageURL": "URL naslovnice", "LabelCoverImageURL": "URL naslovnice",
"LabelCreatedAt": "Stvoreno", "LabelCreatedAt": "Izrađen",
"LabelCronExpression": "Cron izraz", "LabelCronExpression": "Cron izraz",
"LabelCurrent": "Trenutan", "LabelCurrent": "Trenutan",
"LabelCurrently": "Trenutno:", "LabelCurrently": "Trenutno:",
@@ -301,12 +312,25 @@
"LabelEmailSettingsTestAddress": "Probna adresa", "LabelEmailSettingsTestAddress": "Probna adresa",
"LabelEmbeddedCover": "Ugrađena naslovnica", "LabelEmbeddedCover": "Ugrađena naslovnica",
"LabelEnable": "Omogući", "LabelEnable": "Omogući",
"LabelEncodingBackupLocation": "Sigurnosna kopija vaših izvornih zvučnih datoteka čuvat će se u mapi:",
"LabelEncodingChaptersNotEmbedded": "Poglavlja se ne ugrađuju u zvučne knjige koje se sastoje od više zvučnih zapisa.",
"LabelEncodingClearItemCache": "Svakako redovito praznite predmemoriju stavki.",
"LabelEncodingFinishedM4B": "Stvorene M4B datoteke spremit će se u vašu mapu sa zvučnim knjigama:",
"LabelEncodingInfoEmbedded": "Meta-podatci će se ugraditi u zvučne zapise u vašoj mapi sa zvučnim knjigama.",
"LabelEncodingStartedNavigation": "Nakon pokretanja zadatka možete napustiti ovu stranicu.",
"LabelEncodingTimeWarning": "Kodiranje može potrajati do 30 minuta.",
"LabelEncodingWarningAdvancedSettings": "Pažnja: Ne mijenjajte ove postavke ako niste temeljito upoznati s opcijama kodiranja u ffmpegu.",
"LabelEncodingWatcherDisabled": "Ako vam je onemogućeno praćenje mape, ovu ćete zvučnu knjigu poslije morati ponovno skenirati.",
"LabelEnd": "Kraj", "LabelEnd": "Kraj",
"LabelEndOfChapter": "Kraj poglavlja", "LabelEndOfChapter": "Kraj poglavlja",
"LabelEpisode": "Nastavak", "LabelEpisode": "Nastavak",
"LabelEpisodeNotLinkedToRssFeed": "Nastavak nije povezan s RSS izvorom",
"LabelEpisodeNumber": "{0}. nastavak",
"LabelEpisodeTitle": "Naslov nastavka", "LabelEpisodeTitle": "Naslov nastavka",
"LabelEpisodeType": "Vrsta nastavka", "LabelEpisodeType": "Vrsta nastavka",
"LabelEpisodeUrlFromRssFeed": "URL nastavka iz RSS izvora",
"LabelEpisodes": "Nastavci", "LabelEpisodes": "Nastavci",
"LabelEpisodic": "U nastavcima",
"LabelExample": "Primjer", "LabelExample": "Primjer",
"LabelExpandSeries": "Serijal prikaži prošireno", "LabelExpandSeries": "Serijal prikaži prošireno",
"LabelExpandSubSeries": "Podserijal prikaži prošireno", "LabelExpandSubSeries": "Podserijal prikaži prošireno",
@@ -367,7 +391,7 @@
"LabelLanguages": "Jezici", "LabelLanguages": "Jezici",
"LabelLastBookAdded": "Zadnja dodana knjiga", "LabelLastBookAdded": "Zadnja dodana knjiga",
"LabelLastBookUpdated": "Zadnja ažurirana knjiga", "LabelLastBookUpdated": "Zadnja ažurirana knjiga",
"LabelLastSeen": "Zadnje pogledano", "LabelLastSeen": "Zadnji puta viđen",
"LabelLastTime": "Zadnji puta", "LabelLastTime": "Zadnji puta",
"LabelLastUpdate": "Zadnje ažuriranje", "LabelLastUpdate": "Zadnje ažuriranje",
"LabelLayout": "Prikaz", "LabelLayout": "Prikaz",
@@ -389,6 +413,10 @@
"LabelLowestPriority": "Najniži prioritet", "LabelLowestPriority": "Najniži prioritet",
"LabelMatchExistingUsersBy": "Prepoznaj postojeće korisnike pomoću", "LabelMatchExistingUsersBy": "Prepoznaj postojeće korisnike pomoću",
"LabelMatchExistingUsersByDescription": "Rabi se za povezivanje postojećih korisnika. Nakon što se spoje, korisnike se prepoznaje temeljem jedinstvene oznake vašeg pružatelja SSO usluga", "LabelMatchExistingUsersByDescription": "Rabi se za povezivanje postojećih korisnika. Nakon što se spoje, korisnike se prepoznaje temeljem jedinstvene oznake vašeg pružatelja SSO usluga",
"LabelMaxEpisodesToDownload": "Najveći broj nastavaka za preuzimanje. 0 za neograničeno.",
"LabelMaxEpisodesToDownloadPerCheck": "Najviše novih nastavaka za preuzimanje po provjeri",
"LabelMaxEpisodesToKeep": "Najviše nastavaka za čuvanje",
"LabelMaxEpisodesToKeepHelp": "Ako je vrijednost 0, nema ograničenja broja. Nakon automatskog preuzimanja novog nastavka ova funkcija briše najstariji nastavak ako ih ima više od zadanog broja. Ovo briše samo jedan nastavak po novom preuzetom nastavku.",
"LabelMediaPlayer": "Reproduktor medijskih sadržaja", "LabelMediaPlayer": "Reproduktor medijskih sadržaja",
"LabelMediaType": "Vrsta medija", "LabelMediaType": "Vrsta medija",
"LabelMetaTag": "Meta oznaka", "LabelMetaTag": "Meta oznaka",
@@ -408,10 +436,10 @@
"LabelNarrator": "Pripovjedač", "LabelNarrator": "Pripovjedač",
"LabelNarrators": "Pripovjedači", "LabelNarrators": "Pripovjedači",
"LabelNew": "Novo", "LabelNew": "Novo",
"LabelNewPassword": "Nova lozinka", "LabelNewPassword": "Nova zaporka",
"LabelNewestAuthors": "Najnoviji autori", "LabelNewestAuthors": "Najnoviji autori",
"LabelNewestEpisodes": "Najnoviji nastavci", "LabelNewestEpisodes": "Najnovije epizode",
"LabelNextBackupDate": "Sljedeće izrada sigurnosne kopije", "LabelNextBackupDate": "Sljedeća izrada sigurnosne kopije",
"LabelNextScheduledRun": "Sljedeće zakazano izvođenje", "LabelNextScheduledRun": "Sljedeće zakazano izvođenje",
"LabelNoCustomMetadataProviders": "Nema prilagođenih pružatelja meta-podataka", "LabelNoCustomMetadataProviders": "Nema prilagođenih pružatelja meta-podataka",
"LabelNoEpisodesSelected": "Nema odabranih nastavaka", "LabelNoEpisodesSelected": "Nema odabranih nastavaka",
@@ -439,7 +467,7 @@
"LabelPermanent": "Trajno", "LabelPermanent": "Trajno",
"LabelPermissionsAccessAllLibraries": "Ima pristup svim knjižnicama", "LabelPermissionsAccessAllLibraries": "Ima pristup svim knjižnicama",
"LabelPermissionsAccessAllTags": "Ima pristup svim oznakama", "LabelPermissionsAccessAllTags": "Ima pristup svim oznakama",
"LabelPermissionsAccessExplicitContent": "Ima pristup eksplicitnom sadržzaju", "LabelPermissionsAccessExplicitContent": "Ima pristup eksplicitnom sadržaju",
"LabelPermissionsDelete": "Smije brisati", "LabelPermissionsDelete": "Smije brisati",
"LabelPermissionsDownload": "Smije preuzimati", "LabelPermissionsDownload": "Smije preuzimati",
"LabelPermissionsUpdate": "Smije ažurirati", "LabelPermissionsUpdate": "Smije ažurirati",
@@ -461,8 +489,10 @@
"LabelProvider": "Dobavljač", "LabelProvider": "Dobavljač",
"LabelProviderAuthorizationValue": "Vrijednost autorizacijskog zaglavlja", "LabelProviderAuthorizationValue": "Vrijednost autorizacijskog zaglavlja",
"LabelPubDate": "Datum izdavanja", "LabelPubDate": "Datum izdavanja",
"LabelPublishYear": "Godina izdavanja", "LabelPublishYear": "Godina objavljivanja",
"LabelPublishedDate": "Objavljeno {0}", "LabelPublishedDate": "Objavljeno {0}",
"LabelPublishedDecade": "Desetljeće objavljivanja",
"LabelPublishedDecades": "Desetljeća objavljivanja",
"LabelPublisher": "Izdavač", "LabelPublisher": "Izdavač",
"LabelPublishers": "Izdavači", "LabelPublishers": "Izdavači",
"LabelRSSFeedCustomOwnerEmail": "Prilagođena adresa e-pošte vlasnika", "LabelRSSFeedCustomOwnerEmail": "Prilagođena adresa e-pošte vlasnika",
@@ -482,21 +512,28 @@
"LabelRedo": "Ponovi", "LabelRedo": "Ponovi",
"LabelRegion": "Regija", "LabelRegion": "Regija",
"LabelReleaseDate": "Datum izlaska", "LabelReleaseDate": "Datum izlaska",
"LabelRemoveAllMetadataAbs": "Ukloni sve datoteke metadata.abs",
"LabelRemoveAllMetadataJson": "Ukloni sve datoteke metadata.json",
"LabelRemoveCover": "Ukloni naslovnicu", "LabelRemoveCover": "Ukloni naslovnicu",
"LabelRemoveMetadataFile": "Ukloni datoteke s meta-podatcima iz mapa knjižničkih stavki",
"LabelRemoveMetadataFileHelp": "Uklanjanje svih datoteka metadata.json i metadata.abs u vaših {0} mapa.",
"LabelRowsPerPage": "Redaka po stranici", "LabelRowsPerPage": "Redaka po stranici",
"LabelSearchTerm": "Traži pojam", "LabelSearchTerm": "Traži pojam",
"LabelSearchTitle": "Traži naslov", "LabelSearchTitle": "Traži naslov",
"LabelSearchTitleOrASIN": "Traži naslov ili ASIN", "LabelSearchTitleOrASIN": "Traži naslov ili ASIN",
"LabelSeason": "Sezona", "LabelSeason": "Sezona",
"LabelSeasonNumber": "{0}. sezona",
"LabelSelectAll": "Označi sve", "LabelSelectAll": "Označi sve",
"LabelSelectAllEpisodes": "Označi sve nastavke", "LabelSelectAllEpisodes": "Označi sve nastavke",
"LabelSelectEpisodesShowing": "Prikazujem {0} odabranih nastavaka", "LabelSelectEpisodesShowing": "Prikazujem {0} odabranih nastavaka",
"LabelSelectUsers": "Označi korisnike", "LabelSelectUsers": "Označi korisnike",
"LabelSendEbookToDevice": "Pošalji e-knjigu", "LabelSendEbookToDevice": "Pošalji e-knjigu",
"LabelSequence": "Slijed", "LabelSequence": "Slijed",
"LabelSerial": "Serijal",
"LabelSeries": "Serijal/a", "LabelSeries": "Serijal/a",
"LabelSeriesName": "Ime serijala", "LabelSeriesName": "Ime serijala",
"LabelSeriesProgress": "Napredak u serijalu", "LabelSeriesProgress": "Napredak u serijalu",
"LabelServerLogLevel": "Razina zapisa poslužitelja",
"LabelServerYearReview": "Godišnji pregled poslužitelja ({0})", "LabelServerYearReview": "Godišnji pregled poslužitelja ({0})",
"LabelSetEbookAsPrimary": "Postavi kao primarno", "LabelSetEbookAsPrimary": "Postavi kao primarno",
"LabelSetEbookAsSupplementary": "Postavi kao dopunsko", "LabelSetEbookAsSupplementary": "Postavi kao dopunsko",
@@ -585,6 +622,7 @@
"LabelTimeDurationXMinutes": "{0} minuta", "LabelTimeDurationXMinutes": "{0} minuta",
"LabelTimeDurationXSeconds": "{0} sekundi", "LabelTimeDurationXSeconds": "{0} sekundi",
"LabelTimeInMinutes": "Vrijeme u minutama", "LabelTimeInMinutes": "Vrijeme u minutama",
"LabelTimeLeft": "{0} preostalo",
"LabelTimeListened": "Vremena odslušano", "LabelTimeListened": "Vremena odslušano",
"LabelTimeListenedToday": "Vremena odslušano danas", "LabelTimeListenedToday": "Vremena odslušano danas",
"LabelTimeRemaining": "{0} preostalo", "LabelTimeRemaining": "{0} preostalo",
@@ -592,6 +630,7 @@
"LabelTitle": "Naslov", "LabelTitle": "Naslov",
"LabelToolsEmbedMetadata": "Ugradi meta-podatke", "LabelToolsEmbedMetadata": "Ugradi meta-podatke",
"LabelToolsEmbedMetadataDescription": "Ugradi meta-podatke u zvučne datoteke zajedno s naslovnicom i poglavljima.", "LabelToolsEmbedMetadataDescription": "Ugradi meta-podatke u zvučne datoteke zajedno s naslovnicom i poglavljima.",
"LabelToolsM4bEncoder": "M4B kodiranje",
"LabelToolsMakeM4b": "Stvori M4B datoteku audioknjige", "LabelToolsMakeM4b": "Stvori M4B datoteku audioknjige",
"LabelToolsMakeM4bDescription": "Izrađuje zvučnu knjigu u .M4B formatu s ugrađenim meta-podatcima, naslovnicom i poglavljima.", "LabelToolsMakeM4bDescription": "Izrađuje zvučnu knjigu u .M4B formatu s ugrađenim meta-podatcima, naslovnicom i poglavljima.",
"LabelToolsSplitM4b": "Podijeli M4B datoteke u MP3 datoteke", "LabelToolsSplitM4b": "Podijeli M4B datoteke u MP3 datoteke",
@@ -604,6 +643,7 @@
"LabelTracksMultiTrack": "Više zvučnih zapisa", "LabelTracksMultiTrack": "Više zvučnih zapisa",
"LabelTracksNone": "Nema zapisa", "LabelTracksNone": "Nema zapisa",
"LabelTracksSingleTrack": "Jedan zvučni zapis", "LabelTracksSingleTrack": "Jedan zvučni zapis",
"LabelTrailer": "Najava",
"LabelType": "Vrsta", "LabelType": "Vrsta",
"LabelUnabridged": "Neskraćeno", "LabelUnabridged": "Neskraćeno",
"LabelUndo": "Vrati", "LabelUndo": "Vrati",
@@ -617,8 +657,10 @@
"LabelUploaderDragAndDrop": "Pritisni i prevuci datoteke ili mape", "LabelUploaderDragAndDrop": "Pritisni i prevuci datoteke ili mape",
"LabelUploaderDropFiles": "Ispusti datoteke", "LabelUploaderDropFiles": "Ispusti datoteke",
"LabelUploaderItemFetchMetadataHelp": "Automatski dohvati naslov, autora i serijal", "LabelUploaderItemFetchMetadataHelp": "Automatski dohvati naslov, autora i serijal",
"LabelUseAdvancedOptions": "Koristi se naprednim opcijama",
"LabelUseChapterTrack": "Koristi zvučni zapis poglavlja", "LabelUseChapterTrack": "Koristi zvučni zapis poglavlja",
"LabelUseFullTrack": "Koristi cijeli zvučni zapis", "LabelUseFullTrack": "Koristi cijeli zvučni zapis",
"LabelUseZeroForUnlimited": "0 za neograničeno",
"LabelUser": "Korisnik", "LabelUser": "Korisnik",
"LabelUsername": "Korisničko ime", "LabelUsername": "Korisničko ime",
"LabelValue": "Vrijednost", "LabelValue": "Vrijednost",
@@ -639,7 +681,7 @@
"LabelYourProgress": "Vaš napredak", "LabelYourProgress": "Vaš napredak",
"MessageAddToPlayerQueue": "Dodaj u redoslijed izvođenja", "MessageAddToPlayerQueue": "Dodaj u redoslijed izvođenja",
"MessageAppriseDescription": "Da biste se koristili ovom značajkom, treba vam instanca <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API-ja</a> ili API koji može rukovati istom vrstom zahtjeva.<br />The Adresa Apprise API-ja treba biti puna URL putanja za slanje obavijesti, npr. ako vam se API instanca poslužuje na adresi <code>http://192.168.1.1:8337</code> trebate upisati <code>http://192.168.1.1:8337/notify</code>.", "MessageAppriseDescription": "Da biste se koristili ovom značajkom, treba vam instanca <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">Apprise API-ja</a> ili API koji može rukovati istom vrstom zahtjeva.<br />The Adresa Apprise API-ja treba biti puna URL putanja za slanje obavijesti, npr. ako vam se API instanca poslužuje na adresi <code>http://192.168.1.1:8337</code> trebate upisati <code>http://192.168.1.1:8337/notify</code>.",
"MessageBackupsDescription": "Backups uključuju korisnike, korisnikov napredak, detalje stavki iz biblioteke, postavke server i slike iz <code>/metadata/items</code> & <code>/metadata/authors</code>. Backups ne uključuju nijedne datoteke koje su u folderima biblioteke.", "MessageBackupsDescription": "Sigurnosne kopije sadrže korisnike, korisnikov napredak medija, pojedinosti knjižničke građe, postavke poslužitelja i slike koje se spremaju u <code>/metadata/items</code> & <code>/metadata/authors</code>. Sigurnosne kopije ne sadrže niti jednu datoteku iz mapa knjižnice.",
"MessageBackupsLocationEditNote": "Napomena: Uređivanje lokacije za sigurnosne kopije ne premješta ili mijenja postojeće sigurnosne kopije", "MessageBackupsLocationEditNote": "Napomena: Uređivanje lokacije za sigurnosne kopije ne premješta ili mijenja postojeće sigurnosne kopije",
"MessageBackupsLocationNoEditNote": "Napomena: Lokacija za sigurnosne kopije zadana je kroz varijablu okoline i ovdje se ne može izmijeniti.", "MessageBackupsLocationNoEditNote": "Napomena: Lokacija za sigurnosne kopije zadana je kroz varijablu okoline i ovdje se ne može izmijeniti.",
"MessageBackupsLocationPathEmpty": "Putanja do lokacije za sigurnosne kopije ne može ostati prazna", "MessageBackupsLocationPathEmpty": "Putanja do lokacije za sigurnosne kopije ne može ostati prazna",
@@ -653,7 +695,7 @@
"MessageChapterErrorFirstNotZero": "Prvo poglavlje mora započeti u 0", "MessageChapterErrorFirstNotZero": "Prvo poglavlje mora započeti u 0",
"MessageChapterErrorStartGteDuration": "Netočno vrijeme početka, mora biti manje od trajanja zvučne knjige", "MessageChapterErrorStartGteDuration": "Netočno vrijeme početka, mora biti manje od trajanja zvučne knjige",
"MessageChapterErrorStartLtPrev": "Netočno vrijeme početka, mora biti veće ili jednako vremenu početka prethodnog poglavlja", "MessageChapterErrorStartLtPrev": "Netočno vrijeme početka, mora biti veće ili jednako vremenu početka prethodnog poglavlja",
"MessageChapterStartIsAfter": "Početak poglavlja je nakon kraja zvučne knjige.", "MessageChapterStartIsAfter": "Početak poglavlja je nakon kraja zvučne knjige",
"MessageCheckingCron": "Provjeravam cron...", "MessageCheckingCron": "Provjeravam cron...",
"MessageConfirmCloseFeed": "Sigurno želite zatvoriti ovaj izvor?", "MessageConfirmCloseFeed": "Sigurno želite zatvoriti ovaj izvor?",
"MessageConfirmDeleteBackup": "Jeste li sigurni da želite obrisati backup za {0}?", "MessageConfirmDeleteBackup": "Jeste li sigurni da želite obrisati backup za {0}?",
@@ -665,6 +707,7 @@
"MessageConfirmDeleteMetadataProvider": "Sigurno želite izbrisati prilagođenog pružatelja meta-podataka \"{0}\"?", "MessageConfirmDeleteMetadataProvider": "Sigurno želite izbrisati prilagođenog pružatelja meta-podataka \"{0}\"?",
"MessageConfirmDeleteNotification": "Sigurno želite izbrisati ovu obavijest?", "MessageConfirmDeleteNotification": "Sigurno želite izbrisati ovu obavijest?",
"MessageConfirmDeleteSession": "Sigurno želite obrisati ovu sesiju?", "MessageConfirmDeleteSession": "Sigurno želite obrisati ovu sesiju?",
"MessageConfirmEmbedMetadataInAudioFiles": "Sigurno želite ugraditi meta-podatke u {0} zvučnih datoteka?",
"MessageConfirmForceReScan": "Sigurno želite ponovno pokrenuti skeniranje?", "MessageConfirmForceReScan": "Sigurno želite ponovno pokrenuti skeniranje?",
"MessageConfirmMarkAllEpisodesFinished": "Sigurno želite označiti sve nastavke dovršenima?", "MessageConfirmMarkAllEpisodesFinished": "Sigurno želite označiti sve nastavke dovršenima?",
"MessageConfirmMarkAllEpisodesNotFinished": "Sigurno želite označiti sve nastavke nedovršenima?", "MessageConfirmMarkAllEpisodesNotFinished": "Sigurno želite označiti sve nastavke nedovršenima?",
@@ -676,6 +719,7 @@
"MessageConfirmPurgeCache": "Brisanje predmemorije izbrisat će cijelu mapu <code>/metadata/cache</code>. <br /><br />Sigurno želite izbrisati mapu predmemorije?", "MessageConfirmPurgeCache": "Brisanje predmemorije izbrisat će cijelu mapu <code>/metadata/cache</code>. <br /><br />Sigurno želite izbrisati mapu predmemorije?",
"MessageConfirmPurgeItemsCache": "Brisanje predmemorije stavki izbrisat će cijelu mapu <code>/metadata/cache/items</code>.<br />Jeste li sigurni?", "MessageConfirmPurgeItemsCache": "Brisanje predmemorije stavki izbrisat će cijelu mapu <code>/metadata/cache/items</code>.<br />Jeste li sigurni?",
"MessageConfirmQuickEmbed": "Pažnja! Funkcija brzog ugrađivanja ne stvara sigurnosne kopije vaših zvučnih datoteka. Provjerite imate li sigurnosnu kopiju. <br><br>Želite li nastaviti?", "MessageConfirmQuickEmbed": "Pažnja! Funkcija brzog ugrađivanja ne stvara sigurnosne kopije vaših zvučnih datoteka. Provjerite imate li sigurnosnu kopiju. <br><br>Želite li nastaviti?",
"MessageConfirmQuickMatchEpisodes": "Brzo prepoznavanje nastavaka prepisat će pojedinosti ukoliko se pronađe podudaranje. Neprepoznati nastavci će se ažurirati. Jeste li sigurni?",
"MessageConfirmReScanLibraryItems": "Sigurno želite ponovno skenirati {0} stavki?", "MessageConfirmReScanLibraryItems": "Sigurno želite ponovno skenirati {0} stavki?",
"MessageConfirmRemoveAllChapters": "Sigurno želite ukloniti sva poglavlja?", "MessageConfirmRemoveAllChapters": "Sigurno želite ukloniti sva poglavlja?",
"MessageConfirmRemoveAuthor": "Sigurno želite ukloniti autora \"{0}\"?", "MessageConfirmRemoveAuthor": "Sigurno želite ukloniti autora \"{0}\"?",
@@ -683,6 +727,7 @@
"MessageConfirmRemoveEpisode": "Sigurno želite ukloniti nastavak \"{0}\"?", "MessageConfirmRemoveEpisode": "Sigurno želite ukloniti nastavak \"{0}\"?",
"MessageConfirmRemoveEpisodes": "Sigurno želite ukloniti {0} nastavaka?", "MessageConfirmRemoveEpisodes": "Sigurno želite ukloniti {0} nastavaka?",
"MessageConfirmRemoveListeningSessions": "Sigurno želite ukloniti {0} sesija slušanja?", "MessageConfirmRemoveListeningSessions": "Sigurno želite ukloniti {0} sesija slušanja?",
"MessageConfirmRemoveMetadataFiles": "Sigurno želite ukloniti sve datoteke metadata.{0} u mapama vaših knjižničkih stavki?",
"MessageConfirmRemoveNarrator": "Sigurno želite ukloniti pripovjedača \"{0}\"?", "MessageConfirmRemoveNarrator": "Sigurno želite ukloniti pripovjedača \"{0}\"?",
"MessageConfirmRemovePlaylist": "Sigurno želite ukloniti vaš popis za izvođenje \"{0}\"?", "MessageConfirmRemovePlaylist": "Sigurno želite ukloniti vaš popis za izvođenje \"{0}\"?",
"MessageConfirmRenameGenre": "Sigurno želite preimenovati žanr \"{0}\" u \"{1}\" za sve stavke?", "MessageConfirmRenameGenre": "Sigurno želite preimenovati žanr \"{0}\" u \"{1}\" za sve stavke?",
@@ -698,6 +743,7 @@
"MessageDragFilesIntoTrackOrder": "Ispravi redoslijed zapisa prevlačenje datoteka", "MessageDragFilesIntoTrackOrder": "Ispravi redoslijed zapisa prevlačenje datoteka",
"MessageEmbedFailed": "Ugrađivanje nije uspjelo!", "MessageEmbedFailed": "Ugrađivanje nije uspjelo!",
"MessageEmbedFinished": "Ugrađivanje je dovršeno!", "MessageEmbedFinished": "Ugrađivanje je dovršeno!",
"MessageEmbedQueue": "Ugrađivanje meta-podataka dodano u red obrade ({0} u redu)",
"MessageEpisodesQueuedForDownload": "{0} nastavak(a) u redu za preuzimanje", "MessageEpisodesQueuedForDownload": "{0} nastavak(a) u redu za preuzimanje",
"MessageEreaderDevices": "Da biste osigurali isporuku e-knjiga, možda ćete morati gornju adresu e-pošte dodati kao dopuštenog pošiljatelja za svaki od donjih uređaja.", "MessageEreaderDevices": "Da biste osigurali isporuku e-knjiga, možda ćete morati gornju adresu e-pošte dodati kao dopuštenog pošiljatelja za svaki od donjih uređaja.",
"MessageFeedURLWillBe": "URL izvora bit će {0}", "MessageFeedURLWillBe": "URL izvora bit će {0}",
@@ -742,6 +788,7 @@
"MessageNoLogs": "Nema zapisnika", "MessageNoLogs": "Nema zapisnika",
"MessageNoMediaProgress": "Nema podataka o započetim medijima", "MessageNoMediaProgress": "Nema podataka o započetim medijima",
"MessageNoNotifications": "Nema obavijesti", "MessageNoNotifications": "Nema obavijesti",
"MessageNoPodcastFeed": "Neispravan podcast: Nema izvora",
"MessageNoPodcastsFound": "Nije pronađen niti jedan podcast", "MessageNoPodcastsFound": "Nije pronađen niti jedan podcast",
"MessageNoResults": "Nema rezultata", "MessageNoResults": "Nema rezultata",
"MessageNoSearchResultsFor": "Nema rezultata pretrage za \"{0}\"", "MessageNoSearchResultsFor": "Nema rezultata pretrage za \"{0}\"",
@@ -758,6 +805,10 @@
"MessagePlaylistCreateFromCollection": "Stvori popis za izvođenje od zbirke", "MessagePlaylistCreateFromCollection": "Stvori popis za izvođenje od zbirke",
"MessagePleaseWait": "Molimo pričekajte...", "MessagePleaseWait": "Molimo pričekajte...",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast nema adresu RSS izvora za prepoznavanje", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nema adresu RSS izvora za prepoznavanje",
"MessagePodcastSearchField": "Unesite upit za pretragu ili URL RSS izvora",
"MessageQuickEmbedInProgress": "Brzo ugrađivanje u tijeku",
"MessageQuickEmbedQueue": "Dodano u red za brzo ugrađivanje ({0} u redu izvođenja)",
"MessageQuickMatchAllEpisodes": "Brzo prepoznavanje svih nastavaka",
"MessageQuickMatchDescription": "Popuni pojedinosti i naslovnice koji nedostaju prvim pronađenim rezultatom za '{0}'. Ne prepisuje podatke osim ako ne uključite mogućnost 'Daj prednost meta-podatcima prepoznatih stavki'.", "MessageQuickMatchDescription": "Popuni pojedinosti i naslovnice koji nedostaju prvim pronađenim rezultatom za '{0}'. Ne prepisuje podatke osim ako ne uključite mogućnost 'Daj prednost meta-podatcima prepoznatih stavki'.",
"MessageRemoveChapter": "Ukloni poglavlje", "MessageRemoveChapter": "Ukloni poglavlje",
"MessageRemoveEpisodes": "Ukloni {0} nastavaka", "MessageRemoveEpisodes": "Ukloni {0} nastavaka",
@@ -775,6 +826,41 @@
"MessageShareExpiresIn": "Istječe za {0}", "MessageShareExpiresIn": "Istječe za {0}",
"MessageShareURLWillBe": "URL za dijeljenje bit će <strong>{0}</strong>", "MessageShareURLWillBe": "URL za dijeljenje bit će <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Pokreni reprodukciju za \"{0}\" na {1}?", "MessageStartPlaybackAtTime": "Pokreni reprodukciju za \"{0}\" na {1}?",
"MessageTaskAudioFileNotWritable": "U zvučnu datoteku \"{0}\" nije moguće pisati",
"MessageTaskCanceledByUser": "Korisnik je otkazao izvršavanje zadatka",
"MessageTaskDownloadingEpisodeDescription": "Preuzimanje nastavka \"{0}\"",
"MessageTaskEmbeddingMetadata": "Ugrađivanje meta-podataka",
"MessageTaskEmbeddingMetadataDescription": "Ugrađivanje meta-podataka u zvučnu knjigu \"{0}\"",
"MessageTaskEncodingM4b": "Kodiranje M4B datoteke",
"MessageTaskEncodingM4bDescription": "Kodiranje zvučne knjige \"{0}\" u jedinstvenu m4b datoteku",
"MessageTaskFailed": "Nije uspjelo",
"MessageTaskFailedToBackupAudioFile": "Izrada sigurnosne kopije zvučne datoteke \"{0}\" nije uspjela",
"MessageTaskFailedToCreateCacheDirectory": "Izrada mape predmemorije nije uspjela",
"MessageTaskFailedToEmbedMetadataInFile": "Ugradnja meta-podataka u datoteku \"{0}\" nije uspjela",
"MessageTaskFailedToMergeAudioFiles": "Spajanje zvučnih datoteka nije uspjelo",
"MessageTaskFailedToMoveM4bFile": "Premještanje m4b datoteke nije uspjelo",
"MessageTaskFailedToWriteMetadataFile": "Pisanje datoteke s meta-podatcima nije uspjelo",
"MessageTaskMatchingBooksInLibrary": "Prepoznavanje knjiga u knjižnici \"{0}\"",
"MessageTaskNoFilesToScan": "Nema datoteka za skeniranje",
"MessageTaskOpmlImport": "Uvoz OPML-a",
"MessageTaskOpmlImportDescription": "Stvaram podcaste od {0} RSS izvora",
"MessageTaskOpmlImportFeed": "Uvoz OPML izvora",
"MessageTaskOpmlImportFeedDescription": "Uvoz RSS izvora \"{0}\"",
"MessageTaskOpmlImportFeedFailed": "Izvor podcasta nije dohvaćen",
"MessageTaskOpmlImportFeedPodcastDescription": "Stvaranje podcasta \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast već postoji u putanji",
"MessageTaskOpmlImportFeedPodcastFailed": "Stvaranje podcasta nije uspjelo",
"MessageTaskOpmlImportFinished": "Dodano {0} podcasta",
"MessageTaskOpmlParseFailed": "Raščlanjivanje OPML datoteke nije uspjelo",
"MessageTaskOpmlParseFastFail": "Neispravna OPML datoteka, oznaka <opml> nije pronađena ILI oznaka <outline> nije pronađena",
"MessageTaskOpmlParseNoneFound": "U OPML datoteci nisu pronađeni izvori",
"MessageTaskScanItemsAdded": "{0} dodan(o)",
"MessageTaskScanItemsMissing": "{0} nedostaje",
"MessageTaskScanItemsUpdated": "{0} ažurirano",
"MessageTaskScanNoChangesNeeded": "Nisu potrebne izmjene",
"MessageTaskScanningFileChanges": "Skeniranje izmijenjenih datoteka u \"{0}\"",
"MessageTaskScanningLibrary": "Skeniranje knjižnice \"{0}\"",
"MessageTaskTargetDirectoryNotWritable": "U odredišnu mapu nije moguće pisati",
"MessageThinking": "Razmišljam...", "MessageThinking": "Razmišljam...",
"MessageUploaderItemFailed": "Učitavanje nije uspjelo", "MessageUploaderItemFailed": "Učitavanje nije uspjelo",
"MessageUploaderItemSuccess": "Uspješno učitano!", "MessageUploaderItemSuccess": "Uspješno učitano!",
@@ -792,6 +878,10 @@
"NoteUploaderFoldersWithMediaFiles": "Mape s medijskim datotekama smatrat će se zasebnim stavkama knjižnice.", "NoteUploaderFoldersWithMediaFiles": "Mape s medijskim datotekama smatrat će se zasebnim stavkama knjižnice.",
"NoteUploaderOnlyAudioFiles": "Ako učitavate samo zvučne datoteke svaka će se zvučna datoteka uvesti kao zasebna zvučna knjiga.", "NoteUploaderOnlyAudioFiles": "Ako učitavate samo zvučne datoteke svaka će se zvučna datoteka uvesti kao zasebna zvučna knjiga.",
"NoteUploaderUnsupportedFiles": "Nepodržane vrste datoteka zanemaruju se. Kada odabirete datoteke ili ispuštate mapu, sve datoteke koje nisu u mapi stavke zanemarit će se.", "NoteUploaderUnsupportedFiles": "Nepodržane vrste datoteka zanemaruju se. Kada odabirete datoteke ili ispuštate mapu, sve datoteke koje nisu u mapi stavke zanemarit će se.",
"NotificationOnBackupCompletedDescription": "Pokreće se po završetku sigurnosnog kopiranja",
"NotificationOnBackupFailedDescription": "Pokreće se kada sigurnosno kopiranje ne uspije",
"NotificationOnEpisodeDownloadedDescription": "Pokreće se kada se nastavak podcasta automatski preuzme",
"NotificationOnTestDescription": "Događaj za testiranje sustava obavijesti",
"PlaceholderNewCollection": "Ime nove zbirke", "PlaceholderNewCollection": "Ime nove zbirke",
"PlaceholderNewFolderPath": "Nova putanja mape", "PlaceholderNewFolderPath": "Nova putanja mape",
"PlaceholderNewPlaylist": "Naziv novog popisa za izvođenje", "PlaceholderNewPlaylist": "Naziv novog popisa za izvođenje",
@@ -815,14 +905,13 @@
"StatsTopNarrators": "NAJPOPULARNIJI PRIPOVJEDAČI", "StatsTopNarrators": "NAJPOPULARNIJI PRIPOVJEDAČI",
"StatsTotalDuration": "S ukupnim trajanjem od…", "StatsTotalDuration": "S ukupnim trajanjem od…",
"StatsYearInReview": "PREGLED GODINE", "StatsYearInReview": "PREGLED GODINE",
"ToastAccountUpdateFailed": "Ažuriranje računa nije uspjelo",
"ToastAccountUpdateSuccess": "Račun ažuriran", "ToastAccountUpdateSuccess": "Račun ažuriran",
"ToastAppriseUrlRequired": "Obavezno upisati Apprise URL", "ToastAppriseUrlRequired": "Obavezno upisati Apprise URL",
"ToastAsinRequired": "ASIN je obvezan",
"ToastAuthorImageRemoveSuccess": "Slika autora uklonjena", "ToastAuthorImageRemoveSuccess": "Slika autora uklonjena",
"ToastAuthorNotFound": "Autor \"{0}\" nije pronađen", "ToastAuthorNotFound": "Autor \"{0}\" nije pronađen",
"ToastAuthorRemoveSuccess": "Autor uklonjen", "ToastAuthorRemoveSuccess": "Autor uklonjen",
"ToastAuthorSearchNotFound": "Autor nije pronađen", "ToastAuthorSearchNotFound": "Autor nije pronađen",
"ToastAuthorUpdateFailed": "Ažuriranje autora nije uspjelo",
"ToastAuthorUpdateMerged": "Autor pripojen", "ToastAuthorUpdateMerged": "Autor pripojen",
"ToastAuthorUpdateSuccess": "Autor ažuriran", "ToastAuthorUpdateSuccess": "Autor ažuriran",
"ToastAuthorUpdateSuccessNoImageFound": "Autor ažuriran (slika nije pronađena)", "ToastAuthorUpdateSuccessNoImageFound": "Autor ažuriran (slika nije pronađena)",
@@ -833,29 +922,29 @@
"ToastBackupDeleteSuccess": "Sigurnosna kopija izbrisana", "ToastBackupDeleteSuccess": "Sigurnosna kopija izbrisana",
"ToastBackupInvalidMaxKeep": "Neispravan broj sigurnosnih kopija za čuvanje", "ToastBackupInvalidMaxKeep": "Neispravan broj sigurnosnih kopija za čuvanje",
"ToastBackupInvalidMaxSize": "Neispravna najveća veličina sigurnosne kopije", "ToastBackupInvalidMaxSize": "Neispravna najveća veličina sigurnosne kopije",
"ToastBackupPathUpdateFailed": "Ažuriranje putanje za sigurnosne kopije nije uspjelo",
"ToastBackupRestoreFailed": "Vraćanje sigurnosne kopije nije uspjelo", "ToastBackupRestoreFailed": "Vraćanje sigurnosne kopije nije uspjelo",
"ToastBackupUploadFailed": "Učitavanje sigurnosne kopije nije uspjelo", "ToastBackupUploadFailed": "Učitavanje sigurnosne kopije nije uspjelo",
"ToastBackupUploadSuccess": "Sigurnosna kopija učitana", "ToastBackupUploadSuccess": "Sigurnosna kopija učitana",
"ToastBatchDeleteFailed": "Grupno brisanje nije uspjelo", "ToastBatchDeleteFailed": "Grupno brisanje nije uspjelo",
"ToastBatchDeleteSuccess": "Grupno brisanje je uspješno dovršeno", "ToastBatchDeleteSuccess": "Grupno brisanje je uspješno dovršeno",
"ToastBatchQuickMatchFailed": "Grupno brzo prepoznavanje nije uspjelo!",
"ToastBatchQuickMatchStarted": "Započelo je brzo prepoznavanje {0} knjiga!",
"ToastBatchUpdateFailed": "Skupno ažuriranje nije uspjelo", "ToastBatchUpdateFailed": "Skupno ažuriranje nije uspjelo",
"ToastBatchUpdateSuccess": "Skupno ažuriranje uspješno dovršeno", "ToastBatchUpdateSuccess": "Skupno ažuriranje uspješno dovršeno",
"ToastBookmarkCreateFailed": "Izrada knjižne oznake nije uspjela", "ToastBookmarkCreateFailed": "Izrada knjižne oznake nije uspjela",
"ToastBookmarkCreateSuccess": "Knjižna oznaka dodana", "ToastBookmarkCreateSuccess": "Knjižna oznaka dodana",
"ToastBookmarkRemoveSuccess": "Knjižna oznaka uklonjena", "ToastBookmarkRemoveSuccess": "Knjižna oznaka uklonjena",
"ToastBookmarkUpdateFailed": "Ažuriranje knjižne oznake nije uspjelo",
"ToastBookmarkUpdateSuccess": "Knjižna oznaka ažurirana", "ToastBookmarkUpdateSuccess": "Knjižna oznaka ažurirana",
"ToastCachePurgeFailed": "Čišćenje predmemorije nije uspjelo", "ToastCachePurgeFailed": "Čišćenje predmemorije nije uspjelo",
"ToastCachePurgeSuccess": "Predmemorija uspješno očišćena", "ToastCachePurgeSuccess": "Predmemorija uspješno očišćena",
"ToastChaptersHaveErrors": "Poglavlja imaju pogreške", "ToastChaptersHaveErrors": "Poglavlja imaju pogreške",
"ToastChaptersMustHaveTitles": "Poglavlja moraju imati naslove", "ToastChaptersMustHaveTitles": "Poglavlja moraju imati naslove",
"ToastChaptersRemoved": "Poglavlja uklonjena", "ToastChaptersRemoved": "Poglavlja uklonjena",
"ToastChaptersUpdated": "Poglavlja su ažurirana",
"ToastCollectionItemsAddFailed": "Neuspješno dodavanje stavki u zbirku", "ToastCollectionItemsAddFailed": "Neuspješno dodavanje stavki u zbirku",
"ToastCollectionItemsAddSuccess": "Uspješno dodavanje stavki u zbirku", "ToastCollectionItemsAddSuccess": "Uspješno dodavanje stavki u zbirku",
"ToastCollectionItemsRemoveSuccess": "Stavke izbrisane iz zbirke", "ToastCollectionItemsRemoveSuccess": "Stavke izbrisane iz zbirke",
"ToastCollectionRemoveSuccess": "Zbirka izbrisana", "ToastCollectionRemoveSuccess": "Zbirka izbrisana",
"ToastCollectionUpdateFailed": "Ažuriranje zbirke nije uspjelo",
"ToastCollectionUpdateSuccess": "Zbirka ažurirana", "ToastCollectionUpdateSuccess": "Zbirka ažurirana",
"ToastCoverUpdateFailed": "Ažuriranje naslovnice nije uspjelo", "ToastCoverUpdateFailed": "Ažuriranje naslovnice nije uspjelo",
"ToastDeleteFileFailed": "Brisanje datoteke nije uspjelo", "ToastDeleteFileFailed": "Brisanje datoteke nije uspjelo",
@@ -864,31 +953,28 @@
"ToastDeviceNameAlreadyExists": "E-čitač s tim nazivom već postoji", "ToastDeviceNameAlreadyExists": "E-čitač s tim nazivom već postoji",
"ToastDeviceTestEmailFailed": "Slanje probne poruke e-pošte nije uspjelo", "ToastDeviceTestEmailFailed": "Slanje probne poruke e-pošte nije uspjelo",
"ToastDeviceTestEmailSuccess": "Probna poruka e-pošte poslana", "ToastDeviceTestEmailSuccess": "Probna poruka e-pošte poslana",
"ToastDeviceUpdateFailed": "Ažuriranje uređaja nije uspjelo",
"ToastEmailSettingsUpdateFailed": "Ažuriranje postavki e-pošte nije uspjelo",
"ToastEmailSettingsUpdateSuccess": "Postavke e-pošte ažurirane", "ToastEmailSettingsUpdateSuccess": "Postavke e-pošte ažurirane",
"ToastEncodeCancelFailed": "Kodiranje nije uspješno otkazano", "ToastEncodeCancelFailed": "Kodiranje nije uspješno otkazano",
"ToastEncodeCancelSucces": "Kodiranje otkazano", "ToastEncodeCancelSucces": "Kodiranje otkazano",
"ToastEpisodeDownloadQueueClearFailed": "Redoslijed izvođenja nije uspješno očišćen", "ToastEpisodeDownloadQueueClearFailed": "Redoslijed izvođenja nije uspješno očišćen",
"ToastEpisodeDownloadQueueClearSuccess": "Redoslijed preuzimanja nastavaka očišćen", "ToastEpisodeDownloadQueueClearSuccess": "Redoslijed preuzimanja nastavaka očišćen",
"ToastEpisodeUpdateSuccess": "{0} nastavak/a ažurirano",
"ToastErrorCannotShare": "Dijeljenje na ovaj uređaj nije moguće", "ToastErrorCannotShare": "Dijeljenje na ovaj uređaj nije moguće",
"ToastFailedToLoadData": "Učitavanje podataka nije uspjelo", "ToastFailedToLoadData": "Učitavanje podataka nije uspjelo",
"ToastFailedToMatch": "Nije prepoznato",
"ToastFailedToShare": "Dijeljenje nije uspjelo", "ToastFailedToShare": "Dijeljenje nije uspjelo",
"ToastFailedToUpdateAccount": "Ažuriranje računa nije uspjelo", "ToastFailedToUpdate": "Ažuriranje nije uspjelo",
"ToastFailedToUpdateUser": "Ažuriranje korisnika nije uspjelo",
"ToastInvalidImageUrl": "Neispravan URL slike", "ToastInvalidImageUrl": "Neispravan URL slike",
"ToastInvalidMaxEpisodesToDownload": "Neispravan unos maksimalnog broja nastavaka",
"ToastInvalidUrl": "Neispravan URL", "ToastInvalidUrl": "Neispravan URL",
"ToastItemCoverUpdateFailed": "Ažuriranje naslovnice stavke nije uspjelo",
"ToastItemCoverUpdateSuccess": "Naslovnica stavke ažurirana", "ToastItemCoverUpdateSuccess": "Naslovnica stavke ažurirana",
"ToastItemDeletedFailed": "Brisanje stavke nije uspjelo", "ToastItemDeletedFailed": "Brisanje stavke nije uspjelo",
"ToastItemDeletedSuccess": "Stavka je izbrisana", "ToastItemDeletedSuccess": "Stavka je izbrisana",
"ToastItemDetailsUpdateFailed": "Ažuriranje podataka stavke nije uspjelo",
"ToastItemDetailsUpdateSuccess": "Pojedinosti stavke su ažurirane", "ToastItemDetailsUpdateSuccess": "Pojedinosti stavke su ažurirane",
"ToastItemMarkedAsFinishedFailed": "Označavanje kao Dovršeno nije uspjelo", "ToastItemMarkedAsFinishedFailed": "Označavanje kao Dovršeno nije uspjelo",
"ToastItemMarkedAsFinishedSuccess": "Stavka označena kao dovršena", "ToastItemMarkedAsFinishedSuccess": "Stavka označena kao dovršena",
"ToastItemMarkedAsNotFinishedFailed": "Označavanje kao Nije dovršeno nije uspjelo", "ToastItemMarkedAsNotFinishedFailed": "Označavanje kao Nije dovršeno nije uspjelo",
"ToastItemMarkedAsNotFinishedSuccess": "Stavka označena kao nedovršena", "ToastItemMarkedAsNotFinishedSuccess": "Stavka označena kao nedovršena",
"ToastItemUpdateFailed": "Ažuriranje stavke nije uspjelo",
"ToastItemUpdateSuccess": "Stavka ažurirana", "ToastItemUpdateSuccess": "Stavka ažurirana",
"ToastLibraryCreateFailed": "Stvaranje knjižnice nije uspjelo", "ToastLibraryCreateFailed": "Stvaranje knjižnice nije uspjelo",
"ToastLibraryCreateSuccess": "Knjižnica \"{0}\" stvorena", "ToastLibraryCreateSuccess": "Knjižnica \"{0}\" stvorena",
@@ -896,37 +982,42 @@
"ToastLibraryDeleteSuccess": "Knjižnica izbrisana", "ToastLibraryDeleteSuccess": "Knjižnica izbrisana",
"ToastLibraryScanFailedToStart": "Skeniranje nije uspjelo", "ToastLibraryScanFailedToStart": "Skeniranje nije uspjelo",
"ToastLibraryScanStarted": "Skeniranje knjižnice započelo", "ToastLibraryScanStarted": "Skeniranje knjižnice započelo",
"ToastLibraryUpdateFailed": "Ažuriranje knjižnice nije uspjelo",
"ToastLibraryUpdateSuccess": "Knjižnica \"{0}\" ažurirana", "ToastLibraryUpdateSuccess": "Knjižnica \"{0}\" ažurirana",
"ToastMatchAllAuthorsFailed": "Nisu prepoznati svi autori",
"ToastMetadataFilesRemovedError": "Pogreška kod uklanjanja datoteka metadata.{0}",
"ToastMetadataFilesRemovedNoneFound": "U knjižnici nisu pronađene datoteke metadata.{0}",
"ToastMetadataFilesRemovedNoneRemoved": "Datoteke metadata.{0} nisu uklonjenje",
"ToastMetadataFilesRemovedSuccess": "uklonjeno {0} datoteka metadata.{1}",
"ToastMustHaveAtLeastOnePath": "Mora postojati barem jedna putanja",
"ToastNameEmailRequired": "Ime i adresa e-pošte su obavezni", "ToastNameEmailRequired": "Ime i adresa e-pošte su obavezni",
"ToastNameRequired": "Ime je obavezno", "ToastNameRequired": "Ime je obavezno",
"ToastNewEpisodesFound": "pronađeno {0} novih nastavaka",
"ToastNewUserCreatedFailed": "Račun \"{0}\" nije uspješno izrađen", "ToastNewUserCreatedFailed": "Račun \"{0}\" nije uspješno izrađen",
"ToastNewUserCreatedSuccess": "Novi račun izrađen", "ToastNewUserCreatedSuccess": "Novi račun izrađen",
"ToastNewUserLibraryError": "Treba odabrati barem jednu knjižnicu", "ToastNewUserLibraryError": "Treba odabrati barem jednu knjižnicu",
"ToastNewUserPasswordError": "Mora imati zaporku, samo korisnik root može imati praznu zaporku", "ToastNewUserPasswordError": "Mora imati zaporku, samo korisnik root može imati praznu zaporku",
"ToastNewUserTagError": "Potrebno je odabrati najmanje jednu oznaku", "ToastNewUserTagError": "Potrebno je odabrati najmanje jednu oznaku",
"ToastNewUserUsernameError": "Upišite korisničko ime", "ToastNewUserUsernameError": "Upišite korisničko ime",
"ToastNoNewEpisodesFound": "Nisu pronađeni novi nastavci",
"ToastNoUpdatesNecessary": "Ažuriranja nisu potrebna", "ToastNoUpdatesNecessary": "Ažuriranja nisu potrebna",
"ToastNotificationCreateFailed": "Stvaranje obavijesti nije uspjelo", "ToastNotificationCreateFailed": "Stvaranje obavijesti nije uspjelo",
"ToastNotificationDeleteFailed": "Brisanje obavijesti nije uspjelo", "ToastNotificationDeleteFailed": "Brisanje obavijesti nije uspjelo",
"ToastNotificationFailedMaximum": "Najveći broj neuspješnih pokušaja mora biti >= 0", "ToastNotificationFailedMaximum": "Najveći broj neuspješnih pokušaja mora biti >= 0",
"ToastNotificationQueueMaximum": "Najveći broj obavijesti u redu mora biti >= 0", "ToastNotificationQueueMaximum": "Najveći broj obavijesti u redu mora biti >= 0",
"ToastNotificationSettingsUpdateFailed": "Ažuriranje postavki obavijesti nije uspjelo",
"ToastNotificationSettingsUpdateSuccess": "Postavke obavijesti ažurirane", "ToastNotificationSettingsUpdateSuccess": "Postavke obavijesti ažurirane",
"ToastNotificationTestTriggerFailed": "Okidanje probne obavijesti nije uspjelo", "ToastNotificationTestTriggerFailed": "Okidanje probne obavijesti nije uspjelo",
"ToastNotificationTestTriggerSuccess": "Okinuta je probna obavijest", "ToastNotificationTestTriggerSuccess": "Okinuta je probna obavijest",
"ToastNotificationUpdateFailed": "Ažuriranje obavijesti nije uspjelo",
"ToastNotificationUpdateSuccess": "Obavijest ažurirana", "ToastNotificationUpdateSuccess": "Obavijest ažurirana",
"ToastPlaylistCreateFailed": "Popis za izvođenje nije izrađen", "ToastPlaylistCreateFailed": "Popis za izvođenje nije izrađen",
"ToastPlaylistCreateSuccess": "Popis za izvođenje izrađen", "ToastPlaylistCreateSuccess": "Popis za izvođenje izrađen",
"ToastPlaylistRemoveSuccess": "Popis za izvođenje uklonjen", "ToastPlaylistRemoveSuccess": "Popis za izvođenje uklonjen",
"ToastPlaylistUpdateFailed": "Ažuriranje popisa za izvođenje nije uspjelo",
"ToastPlaylistUpdateSuccess": "Popis za izvođenje ažuriran", "ToastPlaylistUpdateSuccess": "Popis za izvođenje ažuriran",
"ToastPodcastCreateFailed": "Podcast nije izrađen", "ToastPodcastCreateFailed": "Podcast nije izrađen",
"ToastPodcastCreateSuccess": "Podcast uspješno izrađen", "ToastPodcastCreateSuccess": "Podcast uspješno izrađen",
"ToastPodcastGetFeedFailed": "Dohvat izvora podcasta nije uspio", "ToastPodcastGetFeedFailed": "Dohvat izvora podcasta nije uspio",
"ToastPodcastNoEpisodesInFeed": "U RSS izvoru nisu pronađeni nastavci", "ToastPodcastNoEpisodesInFeed": "U RSS izvoru nisu pronađeni nastavci",
"ToastPodcastNoRssFeed": "Podcast nema RSS izvor", "ToastPodcastNoRssFeed": "Podcast nema RSS izvor",
"ToastProgressIsNotBeingSynced": "Napredak se ne sinkronizira, ponovno pokrenite reprodukciju",
"ToastProviderCreatedFailed": "Dodavanje pružatelja nije uspjelo", "ToastProviderCreatedFailed": "Dodavanje pružatelja nije uspjelo",
"ToastProviderCreatedSuccess": "Novi pružatelj dodan", "ToastProviderCreatedSuccess": "Novi pružatelj dodan",
"ToastProviderNameAndUrlRequired": "Ime i URL su obavezni", "ToastProviderNameAndUrlRequired": "Ime i URL su obavezni",
@@ -949,18 +1040,17 @@
"ToastSendEbookToDeviceSuccess": "E-knjiga poslana uređaju \"{0}\"", "ToastSendEbookToDeviceSuccess": "E-knjiga poslana uređaju \"{0}\"",
"ToastSeriesUpdateFailed": "Ažuriranje serijala nije uspjelo", "ToastSeriesUpdateFailed": "Ažuriranje serijala nije uspjelo",
"ToastSeriesUpdateSuccess": "Serijal uspješno ažuriran", "ToastSeriesUpdateSuccess": "Serijal uspješno ažuriran",
"ToastServerSettingsUpdateFailed": "Ažuriranje postavki poslužitelja nije uspjelo",
"ToastServerSettingsUpdateSuccess": "Postavke poslužitelja ažurirane", "ToastServerSettingsUpdateSuccess": "Postavke poslužitelja ažurirane",
"ToastSessionCloseFailed": "Zatvaranje sesije nije uspjelo", "ToastSessionCloseFailed": "Zatvaranje sesije nije uspjelo",
"ToastSessionDeleteFailed": "Neuspješno brisanje serije", "ToastSessionDeleteFailed": "Neuspješno brisanje serije",
"ToastSessionDeleteSuccess": "Sesija obrisana", "ToastSessionDeleteSuccess": "Sesija obrisana",
"ToastSleepTimerDone": "Timer za spavanje istječe... zZzzZz",
"ToastSlugMustChange": "Slug sadrži nedozvoljene znakove", "ToastSlugMustChange": "Slug sadrži nedozvoljene znakove",
"ToastSlugRequired": "Slug je obavezan", "ToastSlugRequired": "Slug je obavezan",
"ToastSocketConnected": "Socket priključen", "ToastSocketConnected": "Socket priključen",
"ToastSocketDisconnected": "Veza sa socketom je prekinuta", "ToastSocketDisconnected": "Veza sa socketom je prekinuta",
"ToastSocketFailedToConnect": "Priključivanje na socket nije uspjelo", "ToastSocketFailedToConnect": "Priključivanje na socket nije uspjelo",
"ToastSortingPrefixesEmptyError": "Mora imati najmanje jedan prefiks za sortiranje", "ToastSortingPrefixesEmptyError": "Mora imati najmanje jedan prefiks za sortiranje",
"ToastSortingPrefixesUpdateFailed": "Ažuriranje prefiksa za sortiranje nije uspjelo",
"ToastSortingPrefixesUpdateSuccess": "Prefiksi za sortiranje ažurirani ({0} stavki)", "ToastSortingPrefixesUpdateSuccess": "Prefiksi za sortiranje ažurirani ({0} stavki)",
"ToastTitleRequired": "Naslov je obavezan", "ToastTitleRequired": "Naslov je obavezan",
"ToastUnknownError": "Nepoznata pogreška", "ToastUnknownError": "Nepoznata pogreška",
+84 -22
View File
@@ -9,6 +9,7 @@
"ButtonApply": "Alkalmaz", "ButtonApply": "Alkalmaz",
"ButtonApplyChapters": "Fejezetek alkalmazása", "ButtonApplyChapters": "Fejezetek alkalmazása",
"ButtonAuthors": "Szerzők", "ButtonAuthors": "Szerzők",
"ButtonBack": "Vissza",
"ButtonBrowseForFolder": "Mappa keresése", "ButtonBrowseForFolder": "Mappa keresése",
"ButtonCancel": "Mégse", "ButtonCancel": "Mégse",
"ButtonCancelEncode": "Kódolás megszakítása", "ButtonCancelEncode": "Kódolás megszakítása",
@@ -18,7 +19,8 @@
"ButtonChooseFiles": "Fájlok kiválasztása", "ButtonChooseFiles": "Fájlok kiválasztása",
"ButtonClearFilter": "Szűrő törlése", "ButtonClearFilter": "Szűrő törlése",
"ButtonCloseFeed": "Hírcsatorna bezárása", "ButtonCloseFeed": "Hírcsatorna bezárása",
"ButtonCollections": "Gyűjtemény", "ButtonCloseSession": "Nyitott munkamenet bezárása",
"ButtonCollections": "Gyűjtemények",
"ButtonConfigureScanner": "Szkenner konfigurálása", "ButtonConfigureScanner": "Szkenner konfigurálása",
"ButtonCreate": "Létrehozás", "ButtonCreate": "Létrehozás",
"ButtonCreateBackup": "Biztonsági másolat készítése", "ButtonCreateBackup": "Biztonsági másolat készítése",
@@ -27,6 +29,9 @@
"ButtonEdit": "Szerkesztés", "ButtonEdit": "Szerkesztés",
"ButtonEditChapters": "Fejezetek szerkesztése", "ButtonEditChapters": "Fejezetek szerkesztése",
"ButtonEditPodcast": "Podcast szerkesztése", "ButtonEditPodcast": "Podcast szerkesztése",
"ButtonEnable": "Engedélyezés",
"ButtonFireAndFail": "Küldés és összeomlás",
"ButtonFireOnTest": "onTest esemény küldése",
"ButtonForceReScan": "Újraszkennelés kényszerítése", "ButtonForceReScan": "Újraszkennelés kényszerítése",
"ButtonFullPath": "Teljes útvonal", "ButtonFullPath": "Teljes útvonal",
"ButtonHide": "Elrejtés", "ButtonHide": "Elrejtés",
@@ -43,22 +48,31 @@
"ButtonMatchAllAuthors": "Minden szerző egyeztetése", "ButtonMatchAllAuthors": "Minden szerző egyeztetése",
"ButtonMatchBooks": "Könyvek egyeztetése", "ButtonMatchBooks": "Könyvek egyeztetése",
"ButtonNevermind": "Mindegy", "ButtonNevermind": "Mindegy",
"ButtonNext": "Következő",
"ButtonNextChapter": "Következő fejezet", "ButtonNextChapter": "Következő fejezet",
"ButtonNextItemInQueue": "Következő elem a sorban",
"ButtonOk": "Oké", "ButtonOk": "Oké",
"ButtonOpenFeed": "Hírcsatorna megnyitása", "ButtonOpenFeed": "Hírcsatorna megnyitása",
"ButtonOpenManager": "Kezelő megnyitása", "ButtonOpenManager": "Kezelő megnyitása",
"ButtonPause": "Szünet", "ButtonPause": "Szünet",
"ButtonPlay": "Lejátszás", "ButtonPlay": "Lejátszás",
"ButtonPlayAll": "Összes lejátszása",
"ButtonPlaying": "Lejátszás folyamatban", "ButtonPlaying": "Lejátszás folyamatban",
"ButtonPlaylists": "Lejátszási listák", "ButtonPlaylists": "Lejátszási listák",
"ButtonPrevious": "Előző",
"ButtonPreviousChapter": "Előző fejezet", "ButtonPreviousChapter": "Előző fejezet",
"ButtonProbeAudioFile": "Hangfájl vizsgálata",
"ButtonPurgeAllCache": "Összes gyorsítótár törlése", "ButtonPurgeAllCache": "Összes gyorsítótár törlése",
"ButtonPurgeItemsCache": "Elemek gyorsítótárának törlése", "ButtonPurgeItemsCache": "Elemek gyorsítótárának törlése",
"ButtonQueueAddItem": "Hozzáadás a sorhoz", "ButtonQueueAddItem": "Hozzáadás a sorhoz",
"ButtonQueueRemoveItem": "Eltávolítás a sorból", "ButtonQueueRemoveItem": "Eltávolítás a sorból",
"ButtonQuickEmbedMetadata": "Metaadat gyors beágyazása",
"ButtonQuickMatch": "Gyors egyeztetés", "ButtonQuickMatch": "Gyors egyeztetés",
"ButtonReScan": "Újraszkennelés", "ButtonReScan": "Újraszkennelés",
"ButtonRead": "Olvasás", "ButtonRead": "Olvasás",
"ButtonReadLess": "Kevesebb mutatása",
"ButtonReadMore": "Mutass többet",
"ButtonRefresh": "Frissítés",
"ButtonRemove": "Eltávolítás", "ButtonRemove": "Eltávolítás",
"ButtonRemoveAll": "Összes eltávolítása", "ButtonRemoveAll": "Összes eltávolítása",
"ButtonRemoveAllLibraryItems": "Összes könyvtárelem eltávolítása", "ButtonRemoveAllLibraryItems": "Összes könyvtárelem eltávolítása",
@@ -77,12 +91,15 @@
"ButtonSelectFolderPath": "Mappa útvonalának kiválasztása", "ButtonSelectFolderPath": "Mappa útvonalának kiválasztása",
"ButtonSeries": "Sorozatok", "ButtonSeries": "Sorozatok",
"ButtonSetChaptersFromTracks": "Fejezetek beállítása sávokból", "ButtonSetChaptersFromTracks": "Fejezetek beállítása sávokból",
"ButtonShare": "Megosztás",
"ButtonShiftTimes": "Idők eltolása", "ButtonShiftTimes": "Idők eltolása",
"ButtonShow": "Megjelenítés", "ButtonShow": "Megjelenítés",
"ButtonStartM4BEncode": "M4B kódolás indítása", "ButtonStartM4BEncode": "M4B kódolás indítása",
"ButtonStartMetadataEmbed": "Metaadatok beágyazásának indítása", "ButtonStartMetadataEmbed": "Metaadatok beágyazásának indítása",
"ButtonStats": "Statisztikák",
"ButtonSubmit": "Beküldés", "ButtonSubmit": "Beküldés",
"ButtonTest": "Teszt", "ButtonTest": "Teszt",
"ButtonUnlinkOpenId": "OpenID szétkapcsolása",
"ButtonUpload": "Feltöltés", "ButtonUpload": "Feltöltés",
"ButtonUploadBackup": "Biztonsági másolat feltöltése", "ButtonUploadBackup": "Biztonsági másolat feltöltése",
"ButtonUploadCover": "Borító feltöltése", "ButtonUploadCover": "Borító feltöltése",
@@ -95,6 +112,7 @@
"ErrorUploadFetchMetadataNoResults": "Nem sikerült a metaadatok lekérése - próbálja meg frissíteni a címet és/vagy a szerzőt", "ErrorUploadFetchMetadataNoResults": "Nem sikerült a metaadatok lekérése - próbálja meg frissíteni a címet és/vagy a szerzőt",
"ErrorUploadLacksTitle": "Cím szükséges", "ErrorUploadLacksTitle": "Cím szükséges",
"HeaderAccount": "Fiók", "HeaderAccount": "Fiók",
"HeaderAddCustomMetadataProvider": "Egyedi metaadat szolgáltató hozzáadása",
"HeaderAdvanced": "Haladó", "HeaderAdvanced": "Haladó",
"HeaderAppriseNotificationSettings": "Apprise értesítési beállítások", "HeaderAppriseNotificationSettings": "Apprise értesítési beállítások",
"HeaderAudioTracks": "Audiósávok", "HeaderAudioTracks": "Audiósávok",
@@ -108,6 +126,7 @@
"HeaderCollectionItems": "Gyűjtemény elemek", "HeaderCollectionItems": "Gyűjtemény elemek",
"HeaderCover": "Borító", "HeaderCover": "Borító",
"HeaderCurrentDownloads": "Jelenlegi letöltések", "HeaderCurrentDownloads": "Jelenlegi letöltések",
"HeaderCustomMessageOnLogin": "Egyedi üzenet bejelentkezéskor",
"HeaderCustomMetadataProviders": "Egyéni metaadat-szolgáltatók", "HeaderCustomMetadataProviders": "Egyéni metaadat-szolgáltatók",
"HeaderDetails": "Részletek", "HeaderDetails": "Részletek",
"HeaderDownloadQueue": "Letöltési sor", "HeaderDownloadQueue": "Letöltési sor",
@@ -139,6 +158,8 @@
"HeaderMetadataToEmbed": "Beágyazandó metaadatok", "HeaderMetadataToEmbed": "Beágyazandó metaadatok",
"HeaderNewAccount": "Új fiók", "HeaderNewAccount": "Új fiók",
"HeaderNewLibrary": "Új könyvtár", "HeaderNewLibrary": "Új könyvtár",
"HeaderNotificationCreate": "Értesítés készítése",
"HeaderNotificationUpdate": "Értesítés frissítése",
"HeaderNotifications": "Értesítések", "HeaderNotifications": "Értesítések",
"HeaderOpenIDConnectAuthentication": "OpenID Connect hitelesítés", "HeaderOpenIDConnectAuthentication": "OpenID Connect hitelesítés",
"HeaderOpenRSSFeed": "RSS hírcsatorna megnyitása", "HeaderOpenRSSFeed": "RSS hírcsatorna megnyitása",
@@ -146,12 +167,13 @@
"HeaderPasswordAuthentication": "Jelszó hitelesítés", "HeaderPasswordAuthentication": "Jelszó hitelesítés",
"HeaderPermissions": "Engedélyek", "HeaderPermissions": "Engedélyek",
"HeaderPlayerQueue": "Lejátszó sor", "HeaderPlayerQueue": "Lejátszó sor",
"HeaderPlayerSettings": "Lejátszó beállításai",
"HeaderPlaylist": "Lejátszási lista", "HeaderPlaylist": "Lejátszási lista",
"HeaderPlaylistItems": "Lejátszási lista elemek", "HeaderPlaylistItems": "Lejátszási lista elemek",
"HeaderPodcastsToAdd": "Hozzáadandó podcastok", "HeaderPodcastsToAdd": "Hozzáadandó podcastok",
"HeaderPreviewCover": "Borító előnézete", "HeaderPreviewCover": "Borító előnézete",
"HeaderRSSFeedGeneral": "RSS részletek", "HeaderRSSFeedGeneral": "RSS részletek",
"HeaderRSSFeedIsOpen": "RSS hírcsatorna nyitva", "HeaderRSSFeedIsOpen": "RSS hírcsatorna nyitva van",
"HeaderRSSFeeds": "RSS hírcsatornák", "HeaderRSSFeeds": "RSS hírcsatornák",
"HeaderRemoveEpisode": "Epizód eltávolítása", "HeaderRemoveEpisode": "Epizód eltávolítása",
"HeaderRemoveEpisodes": "{0} epizód eltávolítása", "HeaderRemoveEpisodes": "{0} epizód eltávolítása",
@@ -168,7 +190,7 @@
"HeaderSleepTimer": "Alvásidőzítő", "HeaderSleepTimer": "Alvásidőzítő",
"HeaderStatsLargestItems": "Legnagyobb elemek", "HeaderStatsLargestItems": "Legnagyobb elemek",
"HeaderStatsLongestItems": "Leghosszabb elemek (órákban)", "HeaderStatsLongestItems": "Leghosszabb elemek (órákban)",
"HeaderStatsMinutesListeningChart": "Hallgatási percek (az utolsó 7 napban)", "HeaderStatsMinutesListeningChart": "Hallgatási grafikon percekben (az elmúlt 7 napból)",
"HeaderStatsRecentSessions": "Legutóbbi munkamenetek", "HeaderStatsRecentSessions": "Legutóbbi munkamenetek",
"HeaderStatsTop10Authors": "Top 10 szerzők", "HeaderStatsTop10Authors": "Top 10 szerzők",
"HeaderStatsTop5Genres": "Top 5 műfajok", "HeaderStatsTop5Genres": "Top 5 műfajok",
@@ -179,9 +201,14 @@
"HeaderUpdateDetails": "Részletek frissítése", "HeaderUpdateDetails": "Részletek frissítése",
"HeaderUpdateLibrary": "Könyvtár frissítése", "HeaderUpdateLibrary": "Könyvtár frissítése",
"HeaderUsers": "Felhasználók", "HeaderUsers": "Felhasználók",
"HeaderYearReview": "{0} év áttekintése",
"HeaderYourStats": "Saját statisztikák", "HeaderYourStats": "Saját statisztikák",
"LabelAbridged": "Tömörített", "LabelAbridged": "Tömörített",
"LabelAbridgedChecked": "Rövidített (ellenőrizve)",
"LabelAbridgedUnchecked": "Teljes (nem ellenőrzött)",
"LabelAccessibleBy": "Hozzáférhető",
"LabelAccountType": "Fióktípus", "LabelAccountType": "Fióktípus",
"LabelAccountTypeAdmin": "Adminisztrátor",
"LabelAccountTypeGuest": "Vendég", "LabelAccountTypeGuest": "Vendég",
"LabelAccountTypeUser": "Felhasználó", "LabelAccountTypeUser": "Felhasználó",
"LabelActivity": "Tevékenység", "LabelActivity": "Tevékenység",
@@ -190,8 +217,9 @@
"LabelAddToPlaylist": "Hozzáadás a lejátszási listához", "LabelAddToPlaylist": "Hozzáadás a lejátszási listához",
"LabelAddToPlaylistBatch": "{0} elem hozzáadása a lejátszási listához", "LabelAddToPlaylistBatch": "{0} elem hozzáadása a lejátszási listához",
"LabelAddedAt": "Hozzáadás ideje", "LabelAddedAt": "Hozzáadás ideje",
"LabelAddedDate": "{0} Hozzáadva",
"LabelAdminUsersOnly": "Csak admin felhasználók", "LabelAdminUsersOnly": "Csak admin felhasználók",
"LabelAll": "Minden", "LabelAll": "Összes",
"LabelAllUsers": "Minden felhasználó", "LabelAllUsers": "Minden felhasználó",
"LabelAllUsersExcludingGuests": "Minden felhasználó, vendégek kivételével", "LabelAllUsersExcludingGuests": "Minden felhasználó, vendégek kivételével",
"LabelAllUsersIncludingGuests": "Minden felhasználó, beleértve a vendégeket is", "LabelAllUsersIncludingGuests": "Minden felhasználó, beleértve a vendégeket is",
@@ -212,13 +240,14 @@
"LabelBackupLocation": "Biztonsági másolat helye", "LabelBackupLocation": "Biztonsági másolat helye",
"LabelBackupsEnableAutomaticBackups": "Automatikus biztonsági másolatok engedélyezése", "LabelBackupsEnableAutomaticBackups": "Automatikus biztonsági másolatok engedélyezése",
"LabelBackupsEnableAutomaticBackupsHelp": "Biztonsági másolatok mentése a /metadata/backups mappába", "LabelBackupsEnableAutomaticBackupsHelp": "Biztonsági másolatok mentése a /metadata/backups mappába",
"LabelBackupsMaxBackupSize": "Maximális biztonsági másolat méret (GB-ban)", "LabelBackupsMaxBackupSize": "Maximális biztonsági másolat méret (GB-ban) (0-tól végtelenig)",
"LabelBackupsMaxBackupSizeHelp": "A rossz konfiguráció elleni védelem érdekében a biztonsági másolatok meghiúsulnak, ha meghaladják a beállított méretet.", "LabelBackupsMaxBackupSizeHelp": "A rossz konfiguráció elleni védelem érdekében a biztonsági másolatok meghiúsulnak, ha meghaladják a beállított méretet.",
"LabelBackupsNumberToKeep": "Megtartandó biztonsági másolatok száma", "LabelBackupsNumberToKeep": "Megtartandó biztonsági másolatok száma",
"LabelBackupsNumberToKeepHelp": "Egyszerre csak 1 biztonsági másolat kerül eltávolításra, tehát ha már több biztonsági másolat van, mint ez a szám, akkor manuálisan kell eltávolítani őket.", "LabelBackupsNumberToKeepHelp": "Egyszerre csak 1 biztonsági másolat kerül eltávolításra, tehát ha már több biztonsági másolat van, mint ez a szám, akkor manuálisan kell eltávolítani őket.",
"LabelBitrate": "Bitráta", "LabelBitrate": "Bitráta",
"LabelBooks": "Könyvek", "LabelBooks": "Könyvek",
"LabelButtonText": "Gomb szövege", "LabelButtonText": "Gomb szövege",
"LabelByAuthor": "{} által",
"LabelChangePassword": "Jelszó megváltoztatása", "LabelChangePassword": "Jelszó megváltoztatása",
"LabelChannels": "Csatornák", "LabelChannels": "Csatornák",
"LabelChapterTitle": "Fejezet címe", "LabelChapterTitle": "Fejezet címe",
@@ -228,9 +257,10 @@
"LabelClosePlayer": "Lejátszó bezárása", "LabelClosePlayer": "Lejátszó bezárása",
"LabelCodec": "Kodek", "LabelCodec": "Kodek",
"LabelCollapseSeries": "Sorozat összecsukása", "LabelCollapseSeries": "Sorozat összecsukása",
"LabelCollapseSubSeries": "Alszéria összecsukása",
"LabelCollection": "Gyűjtemény", "LabelCollection": "Gyűjtemény",
"LabelCollections": "Gyűjtemények", "LabelCollections": "Gyűjtemények",
"LabelComplete": "Teljes", "LabelComplete": "Kész",
"LabelConfirmPassword": "Jelszó megerősítése", "LabelConfirmPassword": "Jelszó megerősítése",
"LabelContinueListening": "Hallgatás folytatása", "LabelContinueListening": "Hallgatás folytatása",
"LabelContinueReading": "Olvasás folytatása", "LabelContinueReading": "Olvasás folytatása",
@@ -243,6 +273,7 @@
"LabelCurrently": "Jelenleg:", "LabelCurrently": "Jelenleg:",
"LabelCustomCronExpression": "Egyéni Cron kifejezés:", "LabelCustomCronExpression": "Egyéni Cron kifejezés:",
"LabelDatetime": "Dátumidő", "LabelDatetime": "Dátumidő",
"LabelDays": "Napok",
"LabelDeleteFromFileSystemCheckbox": "Törlés a fájlrendszerről (ne jelölje be, ha csak az adatbázisból szeretné eltávolítani)", "LabelDeleteFromFileSystemCheckbox": "Törlés a fájlrendszerről (ne jelölje be, ha csak az adatbázisból szeretné eltávolítani)",
"LabelDescription": "Leírás", "LabelDescription": "Leírás",
"LabelDeselectAll": "Minden kijelölés megszüntetése", "LabelDeselectAll": "Minden kijelölés megszüntetése",
@@ -256,27 +287,42 @@
"LabelDownload": "Letöltés", "LabelDownload": "Letöltés",
"LabelDownloadNEpisodes": "{0} epizód letöltése", "LabelDownloadNEpisodes": "{0} epizód letöltése",
"LabelDuration": "Időtartam", "LabelDuration": "Időtartam",
"LabelDurationComparisonExactMatch": "(pontos egyezés)",
"LabelDurationComparisonLonger": "({0}-val hosszabb)",
"LabelDurationComparisonShorter": "({0}-val rövidebb)",
"LabelDurationFound": "Megtalált időtartam:", "LabelDurationFound": "Megtalált időtartam:",
"LabelEbook": "E-könyv", "LabelEbook": "E-könyv",
"LabelEbooks": "E-könyvek", "LabelEbooks": "E-könyvek",
"LabelEdit": "Szerkesztés", "LabelEdit": "Szerkesztés",
"LabelEmail": "E-mail", "LabelEmail": "E-mail",
"LabelEmailSettingsFromAddress": "Feladó címe", "LabelEmailSettingsFromAddress": "Feladó címe",
"LabelEmailSettingsRejectUnauthorized": "Nem hitelesített tanúsítványok elutasítása",
"LabelEmailSettingsRejectUnauthorizedHelp": "Az SSL tanúsítványok érvényesítésének letiltása biztonsági kockázatoknak, például man-in-the-middle támadásoknak teheti ki a kapcsolatot. Csak akkor tiltsd le ezt az opciót, ha tisztában vagy a következményekkel, és megbízol az e-mail szerverben, amelyhez csatlakozol.",
"LabelEmailSettingsSecure": "Biztonságos", "LabelEmailSettingsSecure": "Biztonságos",
"LabelEmailSettingsSecureHelp": "Ha igaz, a kapcsolat TLS-t használ a szerverhez való csatlakozáskor. Ha hamis, akkor TLS-t használ, ha a szerver támogatja a STARTTLS kiterjesztést. A legtöbb esetben állítsa ezt az értéket igazra, ha a 465-ös portra csatlakozik. A 587-es vagy 25-ös port esetében tartsa hamis értéken. (a nodemailer.com/smtp/#authentication oldalról)", "LabelEmailSettingsSecureHelp": "Ha igaz, a kapcsolat TLS-t használ a szerverhez való csatlakozáskor. Ha hamis, akkor TLS-t használ, ha a szerver támogatja a STARTTLS kiterjesztést. A legtöbb esetben állítsa ezt az értéket igazra, ha a 465-ös portra csatlakozik. A 587-es vagy 25-ös port esetében tartsa hamis értéken. (a nodemailer.com/smtp/#authentication oldalról)",
"LabelEmailSettingsTestAddress": "Teszt cím", "LabelEmailSettingsTestAddress": "Teszt cím",
"LabelEmbeddedCover": "Beágyazott borító", "LabelEmbeddedCover": "Beágyazott borító",
"LabelEnable": "Engedélyezés", "LabelEnable": "Engedélyezés",
"LabelEnd": "Vége", "LabelEnd": "Vége",
"LabelEndOfChapter": "Fejezet vége",
"LabelEpisode": "Epizód", "LabelEpisode": "Epizód",
"LabelEpisodeTitle": "Epizód címe", "LabelEpisodeTitle": "Epizód címe",
"LabelEpisodeType": "Epizód típusa", "LabelEpisodeType": "Epizód típusa",
"LabelEpisodes": "Epizódok",
"LabelExample": "Példa", "LabelExample": "Példa",
"LabelExpandSeries": "Sorozat kinyitása",
"LabelExpandSubSeries": "Alsorozat kinyitása",
"LabelExplicit": "Explicit",
"LabelExplicitChecked": "Explicit (ellenőrizve)",
"LabelExplicitUnchecked": "Nem explicit (nem ellenőrzött)",
"LabelExportOPML": "OPML exportálása",
"LabelFeedURL": "Hírcsatorna URL", "LabelFeedURL": "Hírcsatorna URL",
"LabelFetchingMetadata": "Metaadatok lekérése", "LabelFetchingMetadata": "Metaadatok lekérése",
"LabelFile": "Fájl", "LabelFile": "Fájl",
"LabelFileBirthtime": "Fájl létrehozásának ideje", "LabelFileBirthtime": "Fájl létrehozásának ideje",
"LabelFileBornDate": "Született {0}",
"LabelFileModified": "Fájl módosításának ideje", "LabelFileModified": "Fájl módosításának ideje",
"LabelFileModifiedDate": "Módosítva {0}",
"LabelFilename": "Fájlnév", "LabelFilename": "Fájlnév",
"LabelFilterByUser": "Szűrés felhasználó szerint", "LabelFilterByUser": "Szűrés felhasználó szerint",
"LabelFindEpisodes": "Epizódok keresése", "LabelFindEpisodes": "Epizódok keresése",
@@ -284,6 +330,7 @@
"LabelFolder": "Mappa", "LabelFolder": "Mappa",
"LabelFolders": "Mappák", "LabelFolders": "Mappák",
"LabelFontBold": "Félkövér", "LabelFontBold": "Félkövér",
"LabelFontBoldness": "Betű vastagság",
"LabelFontFamily": "Betűtípus család", "LabelFontFamily": "Betűtípus család",
"LabelFontItalic": "Dőlt", "LabelFontItalic": "Dőlt",
"LabelFontScale": "Betűméret skála", "LabelFontScale": "Betűméret skála",
@@ -294,9 +341,11 @@
"LabelHardDeleteFile": "Fájl végleges törlése", "LabelHardDeleteFile": "Fájl végleges törlése",
"LabelHasEbook": "Van e-könyve", "LabelHasEbook": "Van e-könyve",
"LabelHasSupplementaryEbook": "Van kiegészítő e-könyve", "LabelHasSupplementaryEbook": "Van kiegészítő e-könyve",
"LabelHideSubtitles": "Alcím elrejtése",
"LabelHighestPriority": "Legmagasabb prioritás", "LabelHighestPriority": "Legmagasabb prioritás",
"LabelHost": "Hoszt", "LabelHost": "Házigazda",
"LabelHour": "Óra", "LabelHour": "Óra",
"LabelHours": "Órák",
"LabelIcon": "Ikon", "LabelIcon": "Ikon",
"LabelImageURLFromTheWeb": "Kép URL a weben", "LabelImageURLFromTheWeb": "Kép URL a weben",
"LabelInProgress": "Folyamatban", "LabelInProgress": "Folyamatban",
@@ -313,8 +362,11 @@
"LabelIntervalEveryHour": "Minden órában", "LabelIntervalEveryHour": "Minden órában",
"LabelInvert": "Megfordítás", "LabelInvert": "Megfordítás",
"LabelItem": "Elem", "LabelItem": "Elem",
"LabelJumpBackwardAmount": "Visszafelé ugrás mennyisége",
"LabelJumpForwardAmount": "Előre ugrás mennyisége",
"LabelLanguage": "Nyelv", "LabelLanguage": "Nyelv",
"LabelLanguageDefaultServer": "Szerver alapértelmezett nyelve", "LabelLanguageDefaultServer": "Szerver alapértelmezett nyelve",
"LabelLanguages": "Nyelvek",
"LabelLastBookAdded": "Utolsó hozzáadott könyv", "LabelLastBookAdded": "Utolsó hozzáadott könyv",
"LabelLastBookUpdated": "Utolsó frissített könyv", "LabelLastBookUpdated": "Utolsó frissített könyv",
"LabelLastSeen": "Utolsó látogatás", "LabelLastSeen": "Utolsó látogatás",
@@ -326,11 +378,13 @@
"LabelLess": "Kevesebb", "LabelLess": "Kevesebb",
"LabelLibrariesAccessibleToUser": "A felhasználó számára elérhető könyvtárak", "LabelLibrariesAccessibleToUser": "A felhasználó számára elérhető könyvtárak",
"LabelLibrary": "Könyvtár", "LabelLibrary": "Könyvtár",
"LabelLibraryFilterSublistEmpty": "Nem {0}",
"LabelLibraryItem": "Könyvtári elem", "LabelLibraryItem": "Könyvtári elem",
"LabelLibraryName": "Könyvtár neve", "LabelLibraryName": "Könyvtár neve",
"LabelLimit": "Korlát", "LabelLimit": "Korlát",
"LabelLineSpacing": "Sorköz", "LabelLineSpacing": "Sorköz",
"LabelListenAgain": "Újrahallgatás", "LabelListenAgain": "Újrahallgatás",
"LabelLogLevelDebug": "Hibakeresés",
"LabelLogLevelInfo": "Információ", "LabelLogLevelInfo": "Információ",
"LabelLogLevelWarn": "Figyelmeztetés", "LabelLogLevelWarn": "Figyelmeztetés",
"LabelLookForNewEpisodesAfterDate": "Új epizódok keresése ezen a dátum után", "LabelLookForNewEpisodesAfterDate": "Új epizódok keresése ezen a dátum után",
@@ -344,7 +398,10 @@
"LabelMetadataOrderOfPrecedenceDescription": "A magasabb prioritású metaadat-források felülírják az alacsonyabb prioritásúakat", "LabelMetadataOrderOfPrecedenceDescription": "A magasabb prioritású metaadat-források felülírják az alacsonyabb prioritásúakat",
"LabelMetadataProvider": "Metaadat-szolgáltató", "LabelMetadataProvider": "Metaadat-szolgáltató",
"LabelMinute": "Perc", "LabelMinute": "Perc",
"LabelMinutes": "Percek",
"LabelMissing": "Hiányzó", "LabelMissing": "Hiányzó",
"LabelMissingEbook": "Nincs e-könyve",
"LabelMissingSupplementaryEbook": "Nincs kiegészítő e-könyve",
"LabelMobileRedirectURIs": "Engedélyezett mobil átirányítási URI-k", "LabelMobileRedirectURIs": "Engedélyezett mobil átirányítási URI-k",
"LabelMobileRedirectURIsDescription": "Ez egy fehérlista az érvényes mobilalkalmazás-átirányítási URI-k számára. Az alapértelmezett <code>audiobookshelf://oauth</code>, amely eltávolítható vagy kiegészíthető további URI-kkal harmadik féltől származó alkalmazásintegráció érdekében. Ha az egyetlen bejegyzés egy csillag (<code>*</code>), akkor bármely URI engedélyezett.", "LabelMobileRedirectURIsDescription": "Ez egy fehérlista az érvényes mobilalkalmazás-átirányítási URI-k számára. Az alapértelmezett <code>audiobookshelf://oauth</code>, amely eltávolítható vagy kiegészíthető további URI-kkal harmadik féltől származó alkalmazásintegráció érdekében. Ha az egyetlen bejegyzés egy csillag (<code>*</code>), akkor bármely URI engedélyezett.",
"LabelMore": "Több", "LabelMore": "Több",
@@ -358,6 +415,7 @@
"LabelNewestEpisodes": "Legújabb epizódok", "LabelNewestEpisodes": "Legújabb epizódok",
"LabelNextBackupDate": "Következő biztonsági másolat dátuma", "LabelNextBackupDate": "Következő biztonsági másolat dátuma",
"LabelNextScheduledRun": "Következő ütemezett futtatás", "LabelNextScheduledRun": "Következő ütemezett futtatás",
"LabelNoCustomMetadataProviders": "Nincsenek egyedi metaadat szolgáltatók",
"LabelNoEpisodesSelected": "Nincsenek kiválasztott epizódok", "LabelNoEpisodesSelected": "Nincsenek kiválasztott epizódok",
"LabelNotFinished": "Nem befejezett", "LabelNotFinished": "Nem befejezett",
"LabelNotStarted": "Nem indult el", "LabelNotStarted": "Nem indult el",
@@ -373,10 +431,14 @@
"LabelNotificationsMaxQueueSizeHelp": "Az események korlátozva vannak, hogy másodpercenként 1-szer történjenek. Ha a sor maximális méretű, akkor az események figyelmen kívül lesznek hagyva. Ez megakadályozza az értesítések spamelését.", "LabelNotificationsMaxQueueSizeHelp": "Az események korlátozva vannak, hogy másodpercenként 1-szer történjenek. Ha a sor maximális méretű, akkor az események figyelmen kívül lesznek hagyva. Ez megakadályozza az értesítések spamelését.",
"LabelNumberOfBooks": "Könyvek száma", "LabelNumberOfBooks": "Könyvek száma",
"LabelNumberOfEpisodes": "Epizódok száma", "LabelNumberOfEpisodes": "Epizódok száma",
"LabelOpenIDAdvancedPermsClaimDescription": "Az OpenID-igény neve, amely a felhasználói műveletekre vonatkozó haladó jogosultságokat tartalmazza az alkalmazáson belül, és amely a nem adminisztrátori szerepkörökre vonatkozik (<b>ha konfigurálva van</b>). Ha az igény hiányzik a válaszból, az ABS-hez való hozzáférés megtagadásra kerül. Ha egyetlen opció hiányzik, azt <code>false</code>-ként fogja kezelni. Győződj meg arról, hogy az identitásszolgáltató igénye megfelel a várt struktúrának:",
"LabelOpenIDClaims": "Hagyd üresen a következő opciókat, hogy letiltsd a haladó csoport- és jogosultság-hozzárendelést, ekkor automatikusan a Felhasználó’ csoport kerül hozzárendelésre.",
"LabelOpenIDGroupClaimDescription": "Az OpenID-igény neve, amely a felhasználó csoportjainak listáját tartalmazza. Általában groups néven hivatkoznak rá. Ha konfigurálva van, az alkalmazás automatikusan hozzárendeli a szerepköröket a felhasználó csoporttagságai alapján, feltéve, hogy ezek a csoportok az igényben kis- és nagybetűkre érzéketlenül admin, user vagy guest néven szerepelnek. Az igénynek egy listát kell tartalmaznia, és ha egy felhasználó több csoport tagja, az alkalmazás a legmagasabb szintű hozzáféréssel rendelkező szerepkört rendeli hozzá. Ha egyetlen csoport sem felel meg, a hozzáférés megtagadásra kerül.",
"LabelOpenRSSFeed": "RSS hírcsatorna megnyitása", "LabelOpenRSSFeed": "RSS hírcsatorna megnyitása",
"LabelOverwrite": "Felülírás", "LabelOverwrite": "Felülírás",
"LabelPassword": "Jelszó", "LabelPassword": "Jelszó",
"LabelPath": "Útvonal", "LabelPath": "Útvonal",
"LabelPermanent": "Végleges",
"LabelPermissionsAccessAllLibraries": "Hozzáférhet az összes könyvtárhoz", "LabelPermissionsAccessAllLibraries": "Hozzáférhet az összes könyvtárhoz",
"LabelPermissionsAccessAllTags": "Hozzáférhet az összes címkéhez", "LabelPermissionsAccessAllTags": "Hozzáférhet az összes címkéhez",
"LabelPermissionsAccessExplicitContent": "Hozzáférhet explicit tartalomhoz", "LabelPermissionsAccessExplicitContent": "Hozzáférhet explicit tartalomhoz",
@@ -384,26 +446,34 @@
"LabelPermissionsDownload": "Letölthet", "LabelPermissionsDownload": "Letölthet",
"LabelPermissionsUpdate": "Frissíthet", "LabelPermissionsUpdate": "Frissíthet",
"LabelPermissionsUpload": "Feltölthet", "LabelPermissionsUpload": "Feltölthet",
"LabelPersonalYearReview": "Az éved áttekintése ({0})",
"LabelPhotoPathURL": "Fénykép útvonal/URL", "LabelPhotoPathURL": "Fénykép útvonal/URL",
"LabelPlayMethod": "Lejátszási módszer", "LabelPlayMethod": "Lejátszási módszer",
"LabelPlayerChapterNumberMarker": "{0} a {1} -ből",
"LabelPlaylists": "Lejátszási listák", "LabelPlaylists": "Lejátszási listák",
"LabelPodcast": "Podcast",
"LabelPodcastSearchRegion": "Podcast keresési régió", "LabelPodcastSearchRegion": "Podcast keresési régió",
"LabelPodcastType": "Podcast típus", "LabelPodcastType": "Podcast típus",
"LabelPodcasts": "Podcastok", "LabelPodcasts": "Podcastok",
"LabelPort": "Port",
"LabelPrefixesToIgnore": "Figyelmen kívül hagyandó előtagok (nem érzékeny a kis- és nagybetűkre)", "LabelPrefixesToIgnore": "Figyelmen kívül hagyandó előtagok (nem érzékeny a kis- és nagybetűkre)",
"LabelPreventIndexing": "A hírcsatorna indexelésének megakadályozása az iTunes és a Google podcast könyvtáraiban", "LabelPreventIndexing": "Megakadályozza a hírcsatornájának indexelését az iTunes és a Google podcast könyvtárakban",
"LabelPrimaryEbook": "Elsődleges e-könyv", "LabelPrimaryEbook": "Elsődleges e-könyv",
"LabelProgress": "Haladás", "LabelProgress": "Haladás",
"LabelProvider": "Szolgáltató", "LabelProvider": "Szolgáltató",
"LabelProviderAuthorizationValue": "Authorization fejléc értéke",
"LabelPubDate": "Kiadás dátuma", "LabelPubDate": "Kiadás dátuma",
"LabelPublishYear": "Kiadás éve", "LabelPublishYear": "Kiadás éve",
"LabelPublishedDate": "Kiadva {0}",
"LabelPublisher": "Kiadó", "LabelPublisher": "Kiadó",
"LabelPublishers": "Kiadók",
"LabelRSSFeedCustomOwnerEmail": "Egyéni tulajdonos e-mail", "LabelRSSFeedCustomOwnerEmail": "Egyéni tulajdonos e-mail",
"LabelRSSFeedCustomOwnerName": "Egyéni tulajdonos neve", "LabelRSSFeedCustomOwnerName": "Egyéni tulajdonos neve",
"LabelRSSFeedOpen": "RSS hírcsatorna nyitva", "LabelRSSFeedOpen": "RSS hírcsatorna nyitva",
"LabelRSSFeedPreventIndexing": "Indexelés megakadályozása", "LabelRSSFeedPreventIndexing": "Indexelés megakadályozása",
"LabelRSSFeedSlug": "RSS hírcsatorna slug", "LabelRSSFeedSlug": "RSS hírcsatorna slug",
"LabelRSSFeedURL": "RSS hírcsatorna URL", "LabelRSSFeedURL": "RSS hírcsatorna URL",
"LabelRandomly": "Véletlenszerűen",
"LabelRead": "Olvasás", "LabelRead": "Olvasás",
"LabelReadAgain": "Újraolvasás", "LabelReadAgain": "Újraolvasás",
"LabelReadEbookWithoutProgress": "E-könyv olvasása haladás nélkül", "LabelReadEbookWithoutProgress": "E-könyv olvasása haladás nélkül",
@@ -592,9 +662,9 @@
"MessageDownloadingEpisode": "Epizód letöltése", "MessageDownloadingEpisode": "Epizód letöltése",
"MessageDragFilesIntoTrackOrder": "Húzza a fájlokat a helyes sávrendbe", "MessageDragFilesIntoTrackOrder": "Húzza a fájlokat a helyes sávrendbe",
"MessageEmbedFinished": "Beágyazás befejeződött!", "MessageEmbedFinished": "Beágyazás befejeződött!",
"MessageEpisodesQueuedForDownload": "{0} Epizód letöltésre várakozik", "MessageEpisodesQueuedForDownload": "{0} epizód letöltésre vár",
"MessageFeedURLWillBe": "A hírcsatorna URL-je {0} lesz", "MessageFeedURLWillBe": "A hírcsatorna URL-je {0} lesz",
"MessageFetching": "Lekérés...", "MessageFetching": "Lekérdezés...",
"MessageForceReScanDescription": "minden fájlt újra szkennel, mint egy friss szkennelés. Az audiofájlok ID3 címkéi, OPF fájlok és szövegfájlok újként lesznek szkennelve.", "MessageForceReScanDescription": "minden fájlt újra szkennel, mint egy friss szkennelés. Az audiofájlok ID3 címkéi, OPF fájlok és szövegfájlok újként lesznek szkennelve.",
"MessageImportantNotice": "Fontos közlemény!", "MessageImportantNotice": "Fontos közlemény!",
"MessageInsertChapterBelow": "Fejezet beszúrása alulra", "MessageInsertChapterBelow": "Fejezet beszúrása alulra",
@@ -628,7 +698,7 @@
"MessageNoGenres": "Nincsenek műfajok", "MessageNoGenres": "Nincsenek műfajok",
"MessageNoIssues": "Nincsenek problémák", "MessageNoIssues": "Nincsenek problémák",
"MessageNoItems": "Nincsenek elemek", "MessageNoItems": "Nincsenek elemek",
"MessageNoItemsFound": "Nem találhatóak elemek", "MessageNoItemsFound": "Nincs találat",
"MessageNoListeningSessions": "Nincsenek hallgatási munkamenetek", "MessageNoListeningSessions": "Nincsenek hallgatási munkamenetek",
"MessageNoLogs": "Nincsenek naplók", "MessageNoLogs": "Nincsenek naplók",
"MessageNoMediaProgress": "Nincs előrehaladás a médialejátszásban", "MessageNoMediaProgress": "Nincs előrehaladás a médialejátszásban",
@@ -683,10 +753,8 @@
"PlaceholderNewPlaylist": "Új lejátszási lista neve", "PlaceholderNewPlaylist": "Új lejátszási lista neve",
"PlaceholderSearch": "Keresés..", "PlaceholderSearch": "Keresés..",
"PlaceholderSearchEpisode": "Epizód keresése..", "PlaceholderSearchEpisode": "Epizód keresése..",
"ToastAccountUpdateFailed": "A fiók frissítése sikertelen",
"ToastAccountUpdateSuccess": "Fiók frissítve", "ToastAccountUpdateSuccess": "Fiók frissítve",
"ToastAuthorImageRemoveSuccess": "Szerző képe eltávolítva", "ToastAuthorImageRemoveSuccess": "Szerző képe eltávolítva",
"ToastAuthorUpdateFailed": "A szerző frissítése sikertelen",
"ToastAuthorUpdateMerged": "Szerző összevonva", "ToastAuthorUpdateMerged": "Szerző összevonva",
"ToastAuthorUpdateSuccess": "Szerző frissítve", "ToastAuthorUpdateSuccess": "Szerző frissítve",
"ToastAuthorUpdateSuccessNoImageFound": "Szerző frissítve (nem található kép)", "ToastAuthorUpdateSuccessNoImageFound": "Szerző frissítve (nem található kép)",
@@ -702,21 +770,17 @@
"ToastBookmarkCreateFailed": "Könyvjelző létrehozása sikertelen", "ToastBookmarkCreateFailed": "Könyvjelző létrehozása sikertelen",
"ToastBookmarkCreateSuccess": "Könyvjelző hozzáadva", "ToastBookmarkCreateSuccess": "Könyvjelző hozzáadva",
"ToastBookmarkRemoveSuccess": "Könyvjelző eltávolítva", "ToastBookmarkRemoveSuccess": "Könyvjelző eltávolítva",
"ToastBookmarkUpdateFailed": "Könyvjelző frissítése sikertelen",
"ToastBookmarkUpdateSuccess": "Könyvjelző frissítve", "ToastBookmarkUpdateSuccess": "Könyvjelző frissítve",
"ToastChaptersHaveErrors": "A fejezetek hibákat tartalmaznak", "ToastChaptersHaveErrors": "A fejezetek hibákat tartalmaznak",
"ToastChaptersMustHaveTitles": "A fejezeteknek címekkel kell rendelkezniük", "ToastChaptersMustHaveTitles": "A fejezeteknek címekkel kell rendelkezniük",
"ToastCollectionItemsRemoveSuccess": "Elem(ek) eltávolítva a gyűjteményből", "ToastCollectionItemsRemoveSuccess": "Elem(ek) eltávolítva a gyűjteményből",
"ToastCollectionRemoveSuccess": "Gyűjtemény eltávolítva", "ToastCollectionRemoveSuccess": "Gyűjtemény eltávolítva",
"ToastCollectionUpdateFailed": "Gyűjtemény frissítése sikertelen",
"ToastCollectionUpdateSuccess": "Gyűjtemény frissítve", "ToastCollectionUpdateSuccess": "Gyűjtemény frissítve",
"ToastItemCoverUpdateFailed": "Elem borítójának frissítése sikertelen",
"ToastItemCoverUpdateSuccess": "Elem borítója frissítve", "ToastItemCoverUpdateSuccess": "Elem borítója frissítve",
"ToastItemDetailsUpdateFailed": "Elem részleteinek frissítése sikertelen",
"ToastItemDetailsUpdateSuccess": "Elem részletei frissítve", "ToastItemDetailsUpdateSuccess": "Elem részletei frissítve",
"ToastItemMarkedAsFinishedFailed": "Megjelölés Befejezettként sikertelen", "ToastItemMarkedAsFinishedFailed": "Megjelölés Befejezettként sikertelen",
"ToastItemMarkedAsFinishedSuccess": "Elem megjelölve Befejezettként", "ToastItemMarkedAsFinishedSuccess": "Elem megjelölve Befejezettként",
"ToastItemMarkedAsNotFinishedFailed": "Nem sikerült Nem Befejezettként megjelölni az elemet", "ToastItemMarkedAsNotFinishedFailed": "Az elem befejezetlennek jelölése sikertelen",
"ToastItemMarkedAsNotFinishedSuccess": "Elem megjelölve Nem Befejezettként", "ToastItemMarkedAsNotFinishedSuccess": "Elem megjelölve Nem Befejezettként",
"ToastLibraryCreateFailed": "Könyvtár létrehozása sikertelen", "ToastLibraryCreateFailed": "Könyvtár létrehozása sikertelen",
"ToastLibraryCreateSuccess": "\"{0}\" könyvtár létrehozva", "ToastLibraryCreateSuccess": "\"{0}\" könyvtár létrehozva",
@@ -724,16 +788,14 @@
"ToastLibraryDeleteSuccess": "Könyvtár törölve", "ToastLibraryDeleteSuccess": "Könyvtár törölve",
"ToastLibraryScanFailedToStart": "A beolvasás elindítása sikertelen", "ToastLibraryScanFailedToStart": "A beolvasás elindítása sikertelen",
"ToastLibraryScanStarted": "Könyvtár beolvasása elindítva", "ToastLibraryScanStarted": "Könyvtár beolvasása elindítva",
"ToastLibraryUpdateFailed": "Könyvtár frissítése sikertelen",
"ToastLibraryUpdateSuccess": "\"{0}\" könyvtár frissítve", "ToastLibraryUpdateSuccess": "\"{0}\" könyvtár frissítve",
"ToastPlaylistCreateFailed": "Lejátszási lista létrehozása sikertelen", "ToastPlaylistCreateFailed": "Lejátszási lista létrehozása sikertelen",
"ToastPlaylistCreateSuccess": "Lejátszási lista létrehozva", "ToastPlaylistCreateSuccess": "Lejátszási lista létrehozva",
"ToastPlaylistRemoveSuccess": "Lejátszási lista eltávolítva", "ToastPlaylistRemoveSuccess": "Lejátszási lista eltávolítva",
"ToastPlaylistUpdateFailed": "Lejátszási lista frissítése sikertelen",
"ToastPlaylistUpdateSuccess": "Lejátszási lista frissítve", "ToastPlaylistUpdateSuccess": "Lejátszási lista frissítve",
"ToastPodcastCreateFailed": "Podcast létrehozása sikertelen", "ToastPodcastCreateFailed": "Podcast létrehozása sikertelen",
"ToastPodcastCreateSuccess": "Podcast sikeresen létrehozva", "ToastPodcastCreateSuccess": "A podcast sikeresen létrehozva",
"ToastRSSFeedCloseFailed": "RSS feed bezárása sikertelen", "ToastRSSFeedCloseFailed": "Az RSS hírcsatorna bezárása sikertelen",
"ToastRSSFeedCloseSuccess": "RSS feed bezárva", "ToastRSSFeedCloseSuccess": "RSS feed bezárva",
"ToastRemoveItemFromCollectionFailed": "Tétel eltávolítása a gyűjteményből sikertelen", "ToastRemoveItemFromCollectionFailed": "Tétel eltávolítása a gyűjteményből sikertelen",
"ToastRemoveItemFromCollectionSuccess": "Tétel eltávolítva a gyűjteményből", "ToastRemoveItemFromCollectionSuccess": "Tétel eltávolítva a gyűjteményből",
+256 -55
View File
@@ -19,6 +19,7 @@
"ButtonChooseFiles": "Seleziona i File", "ButtonChooseFiles": "Seleziona i File",
"ButtonClearFilter": "Elimina filtri", "ButtonClearFilter": "Elimina filtri",
"ButtonCloseFeed": "Chiudi flusso", "ButtonCloseFeed": "Chiudi flusso",
"ButtonCloseSession": "Chiudi la sessione aperta",
"ButtonCollections": "Raccolte", "ButtonCollections": "Raccolte",
"ButtonConfigureScanner": "Configura Scanner", "ButtonConfigureScanner": "Configura Scanner",
"ButtonCreate": "Crea", "ButtonCreate": "Crea",
@@ -28,6 +29,9 @@
"ButtonEdit": "Modifica", "ButtonEdit": "Modifica",
"ButtonEditChapters": "Modifica Capitoli", "ButtonEditChapters": "Modifica Capitoli",
"ButtonEditPodcast": "Modifica Podcast", "ButtonEditPodcast": "Modifica Podcast",
"ButtonEnable": "Abilita",
"ButtonFireAndFail": "Fire and Fail",
"ButtonFireOnTest": "Fire onTest event",
"ButtonForceReScan": "Forza Re-Scan", "ButtonForceReScan": "Forza Re-Scan",
"ButtonFullPath": "Percorso Completo", "ButtonFullPath": "Percorso Completo",
"ButtonHide": "Nascondi", "ButtonHide": "Nascondi",
@@ -46,18 +50,23 @@
"ButtonNevermind": "Ingora", "ButtonNevermind": "Ingora",
"ButtonNext": "Prossimo", "ButtonNext": "Prossimo",
"ButtonNextChapter": "Prossimo Capitolo", "ButtonNextChapter": "Prossimo Capitolo",
"ButtonNextItemInQueue": "Elemento successivo in coda",
"ButtonOk": "Daccordo",
"ButtonOpenFeed": "Apri il flusso", "ButtonOpenFeed": "Apri il flusso",
"ButtonOpenManager": "Apri Manager", "ButtonOpenManager": "Apri Manager",
"ButtonPause": "Pausa", "ButtonPause": "Pausa",
"ButtonPlay": "Riproduci", "ButtonPlay": "Riproduci",
"ButtonPlayAll": "Riproduci tutto",
"ButtonPlaying": "In riproduzione", "ButtonPlaying": "In riproduzione",
"ButtonPlaylists": "Playlist", "ButtonPlaylists": "Playlist",
"ButtonPrevious": "Precendente", "ButtonPrevious": "Precendente",
"ButtonPreviousChapter": "Capitolo Precendente", "ButtonPreviousChapter": "Capitolo Precendente",
"ButtonProbeAudioFile": "Analizza il file audio",
"ButtonPurgeAllCache": "Elimina tutta la Cache", "ButtonPurgeAllCache": "Elimina tutta la Cache",
"ButtonPurgeItemsCache": "Elimina la Cache selezionata", "ButtonPurgeItemsCache": "Elimina la Cache selezionata",
"ButtonQueueAddItem": "Aggiungi alla Coda", "ButtonQueueAddItem": "Aggiungi alla Coda",
"ButtonQueueRemoveItem": "Rimuovi dalla Coda", "ButtonQueueRemoveItem": "Rimuovi dalla Coda",
"ButtonQuickEmbed": "Quick Embed",
"ButtonQuickEmbedMetadata": "Incorporamento rapido Metadati", "ButtonQuickEmbedMetadata": "Incorporamento rapido Metadati",
"ButtonQuickMatch": "Controlla Metadata Auto", "ButtonQuickMatch": "Controlla Metadata Auto",
"ButtonReScan": "Ri-scansiona", "ButtonReScan": "Ri-scansiona",
@@ -71,6 +80,7 @@
"ButtonRemoveFromContinueListening": "Rimuovi per proseguire l'ascolto", "ButtonRemoveFromContinueListening": "Rimuovi per proseguire l'ascolto",
"ButtonRemoveFromContinueReading": "Rimuovi per proseguire la lettura", "ButtonRemoveFromContinueReading": "Rimuovi per proseguire la lettura",
"ButtonRemoveSeriesFromContinueSeries": "Rimuovi la Serie per Continuarla", "ButtonRemoveSeriesFromContinueSeries": "Rimuovi la Serie per Continuarla",
"ButtonReset": "Ripristina",
"ButtonResetToDefault": "Ripristino di default", "ButtonResetToDefault": "Ripristino di default",
"ButtonRestore": "Ripristina", "ButtonRestore": "Ripristina",
"ButtonSave": "Salva", "ButtonSave": "Salva",
@@ -85,42 +95,49 @@
"ButtonShare": "Condividi", "ButtonShare": "Condividi",
"ButtonShiftTimes": "Ricerca veloce", "ButtonShiftTimes": "Ricerca veloce",
"ButtonShow": "Mostra", "ButtonShow": "Mostra",
"ButtonStartM4BEncode": "Inizia L'Encode del M4B", "ButtonStartM4BEncode": "Inizia la codifica del M4B",
"ButtonStartMetadataEmbed": "Inizia Incorporo Metadata", "ButtonStartMetadataEmbed": "Inizia i metadati incorporati",
"ButtonStats": "Statistische", "ButtonStats": "Statistische",
"ButtonSubmit": "Invia", "ButtonSubmit": "Invia",
"ButtonTest": "Test",
"ButtonUnlinkOpenId": "Disattiva OpenID",
"ButtonUpload": "Carica", "ButtonUpload": "Carica",
"ButtonUploadBackup": "Carica Backup", "ButtonUploadBackup": "Carica il backup",
"ButtonUploadCover": "Carica Cover", "ButtonUploadCover": "Carica una copertina",
"ButtonUploadOPMLFile": "Carica File OPML", "ButtonUploadOPMLFile": "Carica file OPML",
"ButtonUserDelete": "Cancella Utente {0}", "ButtonUserDelete": "Elimina l'utente {0}",
"ButtonUserEdit": "Modifica Utente {0}", "ButtonUserEdit": "Modifica l'utente {0}",
"ButtonViewAll": "Mostra Tutto", "ButtonViewAll": "Mostra tutto",
"ButtonYes": "Sì", "ButtonYes": "Sì",
"ErrorUploadFetchMetadataAPI": "Errore Recupero metadati", "ErrorUploadFetchMetadataAPI": "Errore durante il recupero metadati",
"ErrorUploadFetchMetadataNoResults": "Impossibile recuperare i metadati: prova a modificate il titolo e/o l'autore", "ErrorUploadFetchMetadataNoResults": "Impossibile recuperare i metadati: prova a modificate il titolo e/o l'autore",
"ErrorUploadLacksTitle": "Deve avere un titolo", "ErrorUploadLacksTitle": "Deve avere un titolo",
"HeaderAccount": "Account",
"HeaderAddCustomMetadataProvider": "Aggiungi fornitori di metadati personalizzati",
"HeaderAdvanced": "Avanzate", "HeaderAdvanced": "Avanzate",
"HeaderAppriseNotificationSettings": "Apprendi le impostazioni di Notifica", "HeaderAppriseNotificationSettings": "Apprendi le impostazioni di Notifica",
"HeaderAudioTracks": "Tracce audio", "HeaderAudioTracks": "Tracce audio",
"HeaderAudiobookTools": "Utilità Audiobook File Management", "HeaderAudiobookTools": "Strumenti di gestione file audiolibri",
"HeaderAuthentication": "Authenticazione", "HeaderAuthentication": "Authenticazione",
"HeaderBackups": "Backup", "HeaderBackups": "Backup",
"HeaderChangePassword": "Cambia Password", "HeaderChangePassword": "Cambia la password",
"HeaderChapters": "Capitoli", "HeaderChapters": "Capitoli",
"HeaderChooseAFolder": "Seleziona la cartella", "HeaderChooseAFolder": "Seleziona la cartella",
"HeaderCollection": "Raccolta", "HeaderCollection": "Raccolta",
"HeaderCollectionItems": "Elementi della raccolta", "HeaderCollectionItems": "Elementi della raccolta",
"HeaderCurrentDownloads": "Download Correnti", "HeaderCover": "Copertina",
"HeaderCurrentDownloads": "Scaricamenti correnti",
"HeaderCustomMessageOnLogin": "Messaggio personalizzato all'accesso", "HeaderCustomMessageOnLogin": "Messaggio personalizzato all'accesso",
"HeaderCustomMetadataProviders": "Metadata Providers Personalizzato", "HeaderCustomMetadataProviders": "Metadata Providers Personalizzato",
"HeaderDetails": "Dettagli", "HeaderDetails": "Dettagli",
"HeaderDownloadQueue": "Download coda", "HeaderDownloadQueue": "Download coda",
"HeaderEbookFiles": "File dei libri", "HeaderEbookFiles": "File dei libri",
"HeaderEmailSettings": "Impostazioni Email", "HeaderEmail": "E-mail",
"HeaderEmailSettings": "Impostazioni e-mail",
"HeaderEpisodes": "Episodi", "HeaderEpisodes": "Episodi",
"HeaderEreaderDevices": "Dispositivo Ereader", "HeaderEreaderDevices": "Dispositivo Ereader",
"HeaderEreaderSettings": "Impostazioni lettore", "HeaderEreaderSettings": "Impostazioni lettore",
"HeaderFiles": "File",
"HeaderFindChapters": "Trova Capitoli", "HeaderFindChapters": "Trova Capitoli",
"HeaderIgnoredFiles": "File Ignorati", "HeaderIgnoredFiles": "File Ignorati",
"HeaderItemFiles": "Files", "HeaderItemFiles": "Files",
@@ -132,6 +149,8 @@
"HeaderLibraryStats": "Statistiche Libreria", "HeaderLibraryStats": "Statistiche Libreria",
"HeaderListeningSessions": "Sessioni di Ascolto", "HeaderListeningSessions": "Sessioni di Ascolto",
"HeaderListeningStats": "Statistiche di Ascolto", "HeaderListeningStats": "Statistiche di Ascolto",
"HeaderLogin": "Accesso",
"HeaderLogs": "Registri",
"HeaderManageGenres": "Gestisci Generi", "HeaderManageGenres": "Gestisci Generi",
"HeaderManageTags": "Gestisci Tags", "HeaderManageTags": "Gestisci Tags",
"HeaderMapDetails": "Mappa Dettagli", "HeaderMapDetails": "Mappa Dettagli",
@@ -140,17 +159,23 @@
"HeaderMetadataToEmbed": "Metadata da incorporare", "HeaderMetadataToEmbed": "Metadata da incorporare",
"HeaderNewAccount": "Nuovo Account", "HeaderNewAccount": "Nuovo Account",
"HeaderNewLibrary": "Nuova Libreria", "HeaderNewLibrary": "Nuova Libreria",
"HeaderNotificationCreate": "Crea una notifica",
"HeaderNotificationUpdate": "Aggiornamento della notifica",
"HeaderNotifications": "Notifiche", "HeaderNotifications": "Notifiche",
"HeaderOpenIDConnectAuthentication": "Autenticazione OpenID Connect", "HeaderOpenIDConnectAuthentication": "Autenticazione OpenID Connect",
"HeaderOpenRSSFeed": "Apri il flusso RSS", "HeaderOpenRSSFeed": "Apri il flusso RSS",
"HeaderOtherFiles": "Altri File", "HeaderOtherFiles": "Altri File",
"HeaderPasswordAuthentication": "Autenticazione della password",
"HeaderPermissions": "Permessi", "HeaderPermissions": "Permessi",
"HeaderPlayerQueue": "Coda Riproduzione", "HeaderPlayerQueue": "Coda Riproduzione",
"HeaderPlayerSettings": "Impostazioni Player", "HeaderPlayerSettings": "Impostazioni Player",
"HeaderPlaylist": "Playlist",
"HeaderPlaylistItems": "Elementi della playlist", "HeaderPlaylistItems": "Elementi della playlist",
"HeaderPodcastsToAdd": "Podcasts da Aggiungere", "HeaderPodcastsToAdd": "Podcasts da Aggiungere",
"HeaderPreviewCover": "Anteprima Cover", "HeaderPreviewCover": "Anteprima Cover",
"HeaderRSSFeedGeneral": "Dettagli RSS",
"HeaderRSSFeedIsOpen": "RSS Feed è aperto", "HeaderRSSFeedIsOpen": "RSS Feed è aperto",
"HeaderRSSFeeds": "Flussi RSS",
"HeaderRemoveEpisode": "Rimuovi Episodi", "HeaderRemoveEpisode": "Rimuovi Episodi",
"HeaderRemoveEpisodes": "Rimuovi {0} Episodi", "HeaderRemoveEpisodes": "Rimuovi {0} Episodi",
"HeaderSavedMediaProgress": "Progressi salvati", "HeaderSavedMediaProgress": "Progressi salvati",
@@ -159,10 +184,12 @@
"HeaderSession": "Sessione", "HeaderSession": "Sessione",
"HeaderSetBackupSchedule": "Imposta programmazione Backup", "HeaderSetBackupSchedule": "Imposta programmazione Backup",
"HeaderSettings": "Impostazioni", "HeaderSettings": "Impostazioni",
"HeaderSettingsDisplay": "Visualizzazione",
"HeaderSettingsExperimental": "Opzioni Sperimentali", "HeaderSettingsExperimental": "Opzioni Sperimentali",
"HeaderSettingsGeneral": "Generale", "HeaderSettingsGeneral": "Generale",
"HeaderSettingsScanner": "Scanner",
"HeaderSleepTimer": "Sveglia", "HeaderSleepTimer": "Sveglia",
"HeaderStatsLargestItems": "Oggetti Grandi", "HeaderStatsLargestItems": "File pesanti",
"HeaderStatsLongestItems": "libri più lunghi (ore)", "HeaderStatsLongestItems": "libri più lunghi (ore)",
"HeaderStatsMinutesListeningChart": "Minuti ascoltati (Ultimi 7 Giorni)", "HeaderStatsMinutesListeningChart": "Minuti ascoltati (Ultimi 7 Giorni)",
"HeaderStatsRecentSessions": "Sessioni Recenti", "HeaderStatsRecentSessions": "Sessioni Recenti",
@@ -182,6 +209,7 @@
"LabelAbridgedUnchecked": "Integrale (non selezionato)", "LabelAbridgedUnchecked": "Integrale (non selezionato)",
"LabelAccessibleBy": "Accessibile da", "LabelAccessibleBy": "Accessibile da",
"LabelAccountType": "Tipo di Account", "LabelAccountType": "Tipo di Account",
"LabelAccountTypeAdmin": "Amministratore",
"LabelAccountTypeGuest": "Ospite", "LabelAccountTypeGuest": "Ospite",
"LabelAccountTypeUser": "Utente", "LabelAccountTypeUser": "Utente",
"LabelActivity": "Attività", "LabelActivity": "Attività",
@@ -190,6 +218,7 @@
"LabelAddToPlaylist": "Aggiungi alla playlist", "LabelAddToPlaylist": "Aggiungi alla playlist",
"LabelAddToPlaylistBatch": "Aggiungi {0} file alla Playlist", "LabelAddToPlaylistBatch": "Aggiungi {0} file alla Playlist",
"LabelAddedAt": "Aggiunto il", "LabelAddedAt": "Aggiunto il",
"LabelAddedDate": "{0} aggiunti",
"LabelAdminUsersOnly": "Solo utenti Amministratori", "LabelAdminUsersOnly": "Solo utenti Amministratori",
"LabelAll": "Tutti", "LabelAll": "Tutti",
"LabelAllUsers": "Tutti gli Utenti", "LabelAllUsers": "Tutti gli Utenti",
@@ -197,6 +226,9 @@
"LabelAllUsersIncludingGuests": "Tutti gli Utenti Inclusi gli ospiti", "LabelAllUsersIncludingGuests": "Tutti gli Utenti Inclusi gli ospiti",
"LabelAlreadyInYourLibrary": "Già esistente nella libreria", "LabelAlreadyInYourLibrary": "Già esistente nella libreria",
"LabelAppend": "Appese", "LabelAppend": "Appese",
"LabelAudioBitrate": "Audio Bitrate (es. 128k)",
"LabelAudioChannels": "Canali Audio (1 o 2)",
"LabelAudioCodec": "Codec Audio",
"LabelAuthor": "Autore", "LabelAuthor": "Autore",
"LabelAuthorFirstLast": "Autore (Per Nome)", "LabelAuthorFirstLast": "Autore (Per Nome)",
"LabelAuthorLastFirst": "Autori (Per Cognome)", "LabelAuthorLastFirst": "Autori (Per Cognome)",
@@ -209,6 +241,7 @@
"LabelAutoRegister": "Auto Registrazione", "LabelAutoRegister": "Auto Registrazione",
"LabelAutoRegisterDescription": "Crea automaticamente nuovi utenti dopo aver effettuato l'accesso", "LabelAutoRegisterDescription": "Crea automaticamente nuovi utenti dopo aver effettuato l'accesso",
"LabelBackToUser": "Torna a Utenti", "LabelBackToUser": "Torna a Utenti",
"LabelBackupAudioFiles": "Backup file Audio",
"LabelBackupLocation": "Percorso del Backup", "LabelBackupLocation": "Percorso del Backup",
"LabelBackupsEnableAutomaticBackups": "Abilita backup Automatico", "LabelBackupsEnableAutomaticBackups": "Abilita backup Automatico",
"LabelBackupsEnableAutomaticBackupsHelp": "I Backup saranno salvati in /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "I Backup saranno salvati in /metadata/backups",
@@ -216,8 +249,10 @@
"LabelBackupsMaxBackupSizeHelp": "Come protezione contro gli errori di config, i backup falliranno se superano la dimensione configurata.", "LabelBackupsMaxBackupSizeHelp": "Come protezione contro gli errori di config, i backup falliranno se superano la dimensione configurata.",
"LabelBackupsNumberToKeep": "Numero di backup da mantenere", "LabelBackupsNumberToKeep": "Numero di backup da mantenere",
"LabelBackupsNumberToKeepHelp": "Verrà rimosso solo 1 backup alla volta, quindi se hai più backup, dovrai rimuoverli manualmente.", "LabelBackupsNumberToKeepHelp": "Verrà rimosso solo 1 backup alla volta, quindi se hai più backup, dovrai rimuoverli manualmente.",
"LabelBitrate": "Velocità di trasmissione",
"LabelBooks": "Libri", "LabelBooks": "Libri",
"LabelButtonText": "Buttone Testo", "LabelButtonText": "Buttone Testo",
"LabelByAuthor": "da {0}",
"LabelChangePassword": "Cambia Password", "LabelChangePassword": "Cambia Password",
"LabelChannels": "Canali", "LabelChannels": "Canali",
"LabelChapterTitle": "Titoli dei Capitoli", "LabelChapterTitle": "Titoli dei Capitoli",
@@ -225,7 +260,9 @@
"LabelChaptersFound": "Capitoli Trovati", "LabelChaptersFound": "Capitoli Trovati",
"LabelClickForMoreInfo": "Click per altre Info", "LabelClickForMoreInfo": "Click per altre Info",
"LabelClosePlayer": "Chiudi player", "LabelClosePlayer": "Chiudi player",
"LabelCodec": "Codec",
"LabelCollapseSeries": "Comprimi Serie", "LabelCollapseSeries": "Comprimi Serie",
"LabelCollapseSubSeries": "Comprimi subserie",
"LabelCollection": "Raccolta", "LabelCollection": "Raccolta",
"LabelCollections": "Raccolte", "LabelCollections": "Raccolte",
"LabelComplete": "Completo", "LabelComplete": "Completo",
@@ -233,6 +270,7 @@
"LabelContinueListening": "Continua ad Ascoltare", "LabelContinueListening": "Continua ad Ascoltare",
"LabelContinueReading": "Continua la Lettura", "LabelContinueReading": "Continua la Lettura",
"LabelContinueSeries": "Continua serie", "LabelContinueSeries": "Continua serie",
"LabelCover": "Copertina",
"LabelCoverImageURL": "Indirizzo della cover URL", "LabelCoverImageURL": "Indirizzo della cover URL",
"LabelCreatedAt": "Creato A", "LabelCreatedAt": "Creato A",
"LabelCronExpression": "Espressione Cron", "LabelCronExpression": "Espressione Cron",
@@ -261,29 +299,44 @@
"LabelEbook": "Libro digitale", "LabelEbook": "Libro digitale",
"LabelEbooks": "Libri digitali", "LabelEbooks": "Libri digitali",
"LabelEdit": "Modifica", "LabelEdit": "Modifica",
"LabelEmail": "E-mail",
"LabelEmailSettingsFromAddress": "Da Indirizzo", "LabelEmailSettingsFromAddress": "Da Indirizzo",
"LabelEmailSettingsRejectUnauthorized": "Rifiuta i certificati non autorizzati", "LabelEmailSettingsRejectUnauthorized": "Rifiuta i certificati non autorizzati",
"LabelEmailSettingsRejectUnauthorizedHelp": "La disattivazione della convalida del certificato SSL può esporre la tua connessione a rischi per la sicurezza, come attacchi man-in-the-middle. Disattiva questa opzione solo se ne comprendi le implicazioni e ti fidi del server di posta a cui ti stai connettendo.", "LabelEmailSettingsRejectUnauthorizedHelp": "La disattivazione della convalida del certificato SSL può esporre la tua connessione a rischi per la sicurezza, come attacchi man-in-the-middle. Disattiva questa opzione solo se ne comprendi le implicazioni e ti fidi del server di posta a cui ti stai connettendo.",
"LabelEmailSettingsSecure": "Sicuro", "LabelEmailSettingsSecure": "SSL",
"LabelEmailSettingsSecureHelp": "Se vero, la connessione utilizzerà TLS durante la connessione al server. Se false, viene utilizzato TLS se il server supporta l'estensione STARTTLS. Nella maggior parte dei casi impostare questo valore su true se ci si connette alla porta 465. Per la porta 587 o 25 mantenerlo false. (da nodemailer.com/smtp/#authentication)", "LabelEmailSettingsSecureHelp": "Se vero, la connessione utilizzerà TLS durante la connessione al server. Se false, viene utilizzato TLS se il server supporta l'estensione STARTTLS. Nella maggior parte dei casi impostare questo valore su true se ci si connette alla porta 465. Per la porta 587 o 25 mantenerlo false. (da nodemailer.com/smtp/#authentication)",
"LabelEmailSettingsTestAddress": "Test Indirizzo", "LabelEmailSettingsTestAddress": "Indirizzo di test",
"LabelEmbeddedCover": "Cover Integrata", "LabelEmbeddedCover": "Cover Integrata",
"LabelEnable": "Abilita", "LabelEnable": "Abilita",
"LabelEncodingBackupLocation": "il backup dei file audio verrà archiviato in:",
"LabelEncodingChaptersNotEmbedded": "Negli audiolibri multitraccia i capitoli non sono incorporati.",
"LabelEncodingClearItemCache": "Assicurati di svuotare periodicamente la cache degli oggetti.",
"LabelEncodingFinishedM4B": "L'M4B completato verrà inserito nella cartella:",
"LabelEncodingInfoEmbedded": "I metadati verranno incorporati nelle tracce audio all'interno della cartella dell'audiolibro.",
"LabelEncodingStartedNavigation": "Una volta avviata l'attività, è possibile uscire da questa pagina.",
"LabelEncodingTimeWarning": "La codifica può richiedere fino a 30 minuti.",
"LabelEncodingWarningAdvancedSettings": "Attenzione: non aggiornare queste impostazioni se non hai familiarità con le opzioni di codifica ffmpeg.",
"LabelEncodingWatcherDisabled": "Se hai disabilitato l'opzione Watcher, dovrai eseguire nuovamente la scansione dell'audiolibro in seguito.",
"LabelEnd": "Fine", "LabelEnd": "Fine",
"LabelEndOfChapter": "Fine Capitolo", "LabelEndOfChapter": "Fine Capitolo",
"LabelEpisode": "Episodio", "LabelEpisode": "Episodio",
"LabelEpisodeTitle": "Titolo Episodio", "LabelEpisodeTitle": "Titolo Episodio",
"LabelEpisodeType": "Tipo Episodio", "LabelEpisodeType": "Tipo Episodio",
"LabelEpisodes": "Episodi",
"LabelExample": "Esempio", "LabelExample": "Esempio",
"LabelExpandSeries": "Espandi Serie", "LabelExpandSeries": "Espandi Serie",
"LabelExpandSubSeries": "Espandi Sub Serie",
"LabelExplicit": "Esplicito", "LabelExplicit": "Esplicito",
"LabelExplicitChecked": "Esplicito (selezionato)", "LabelExplicitChecked": "Esplicito (selezionato)",
"LabelExplicitUnchecked": "Non Esplicito (selezionato)", "LabelExplicitUnchecked": "Non Esplicito (selezionato)",
"LabelExportOPML": "Esposta OPML", "LabelExportOPML": "Esposta OPML",
"LabelFeedURL": "URL del flusso", "LabelFeedURL": "URL del flusso",
"LabelFetchingMetadata": "Recupero dei metadati", "LabelFetchingMetadata": "Recupero dei metadati",
"LabelFile": "File",
"LabelFileBirthtime": "Data di creazione", "LabelFileBirthtime": "Data di creazione",
"LabelFileBornDate": "Creato {0}",
"LabelFileModified": "Ultima modifica", "LabelFileModified": "Ultima modifica",
"LabelFileModifiedDate": "Modificato {0}",
"LabelFilename": "Nome del file", "LabelFilename": "Nome del file",
"LabelFilterByUser": "Filtro per Utente", "LabelFilterByUser": "Filtro per Utente",
"LabelFindEpisodes": "Trova Episodi", "LabelFindEpisodes": "Trova Episodi",
@@ -292,6 +345,8 @@
"LabelFolders": "Cartelle", "LabelFolders": "Cartelle",
"LabelFontBold": "Grassetto", "LabelFontBold": "Grassetto",
"LabelFontBoldness": "Grassetto", "LabelFontBoldness": "Grassetto",
"LabelFontFamily": "Famiglia di caratteri",
"LabelFontItalic": "Corsivo",
"LabelFontScale": "Dimensione font", "LabelFontScale": "Dimensione font",
"LabelFontStrikethrough": "Barrato", "LabelFontStrikethrough": "Barrato",
"LabelFormat": "Formato", "LabelFormat": "Formato",
@@ -302,6 +357,7 @@
"LabelHasSupplementaryEbook": "Ha un libro supplementale", "LabelHasSupplementaryEbook": "Ha un libro supplementale",
"LabelHideSubtitles": "Nascondi Sottotitoli", "LabelHideSubtitles": "Nascondi Sottotitoli",
"LabelHighestPriority": "Priorità Massima", "LabelHighestPriority": "Priorità Massima",
"LabelHost": "Host",
"LabelHour": "Ora", "LabelHour": "Ora",
"LabelHours": "Ore", "LabelHours": "Ore",
"LabelIcon": "Icona", "LabelIcon": "Icona",
@@ -332,27 +388,34 @@
"LabelLastUpdate": "Ultimo Aggiornamento", "LabelLastUpdate": "Ultimo Aggiornamento",
"LabelLayout": "Disposizione", "LabelLayout": "Disposizione",
"LabelLayoutSinglePage": "Pagina singola", "LabelLayoutSinglePage": "Pagina singola",
"LabelLayoutSplitPage": "Dividi Pagina", "LabelLayoutSplitPage": "Pagina divisa",
"LabelLess": "Poco", "LabelLess": "Meno",
"LabelLibrariesAccessibleToUser": "Librerie Accessibili agli Utenti", "LabelLibrariesAccessibleToUser": "Biblioteche accessibili all'utente",
"LabelLibrary": "Libreria", "LabelLibrary": "Biblioteca",
"LabelLibraryItem": "Elementi della Library", "LabelLibraryFilterSublistEmpty": "Nessuno {0}",
"LabelLibraryName": "Nome Libreria", "LabelLibraryItem": "Elementi della biblioteca",
"LabelLibraryName": "Nome della biblioteca",
"LabelLimit": "Limiti", "LabelLimit": "Limiti",
"LabelLineSpacing": "Interlinea", "LabelLineSpacing": "Interlinea",
"LabelListenAgain": "Ascolta ancora", "LabelListenAgain": "Ascolta ancora",
"LabelLogLevelDebug": "Debug",
"LabelLogLevelInfo": "Info",
"LabelLogLevelWarn": "Allarme", "LabelLogLevelWarn": "Allarme",
"LabelLookForNewEpisodesAfterDate": "Cerca nuovi episodi dopo questa data", "LabelLookForNewEpisodesAfterDate": "Cerca nuovi episodi dopo questa data",
"LabelLowestPriority": "Priorità Minima", "LabelLowestPriority": "Priorità Minima",
"LabelMatchExistingUsersBy": "Abbina gli utenti esistenti per", "LabelMatchExistingUsersBy": "Abbina gli utenti esistenti per",
"LabelMatchExistingUsersByDescription": "Utilizzato per connettere gli utenti esistenti. Una volta connessi, gli utenti verranno abbinati a un ID univoco dal tuo provider SSO", "LabelMatchExistingUsersByDescription": "Utilizzato per connettere gli utenti esistenti. Una volta connessi, gli utenti verranno abbinati a un ID univoco dal tuo provider SSO",
"LabelMediaPlayer": "Media Player",
"LabelMediaType": "Tipo Media", "LabelMediaType": "Tipo Media",
"LabelMetaTag": "Meta Tag",
"LabelMetaTags": "Meta Tags",
"LabelMetadataOrderOfPrecedenceDescription": "Le origini di metadati con priorità più alta sovrascriveranno le origini di metadati con priorità inferiore", "LabelMetadataOrderOfPrecedenceDescription": "Le origini di metadati con priorità più alta sovrascriveranno le origini di metadati con priorità inferiore",
"LabelMetadataProvider": "Metadata Provider",
"LabelMinute": "Minuto", "LabelMinute": "Minuto",
"LabelMinutes": "Minuti", "LabelMinutes": "Minuti",
"LabelMissing": "Altro", "LabelMissing": "Altro",
"LabelMissingEbook": "Non ha ebook", "LabelMissingEbook": "Non ha libri digitali",
"LabelMissingSupplementaryEbook": "Non ha ebook supplementare", "LabelMissingSupplementaryEbook": "Non ha un libro digitale supplementare",
"LabelMobileRedirectURIs": "URI di reindirizzamento mobile consentiti", "LabelMobileRedirectURIs": "URI di reindirizzamento mobile consentiti",
"LabelMobileRedirectURIsDescription": "Questa è una lista bianca di URI di reindirizzamento validi per le app mobili. Quello predefinito è <code>audiobookshelf://oauth</code>, che puoi rimuovere o integrare con URI aggiuntivi per l'integrazione di app di terze parti. Utilizzando un asterisco (<code>*</code>) poiché l'unica voce consente qualsiasi URI.", "LabelMobileRedirectURIsDescription": "Questa è una lista bianca di URI di reindirizzamento validi per le app mobili. Quello predefinito è <code>audiobookshelf://oauth</code>, che puoi rimuovere o integrare con URI aggiuntivi per l'integrazione di app di terze parti. Utilizzando un asterisco (<code>*</code>) poiché l'unica voce consente qualsiasi URI.",
"LabelMore": "Molto", "LabelMore": "Molto",
@@ -387,6 +450,7 @@
"LabelOpenIDGroupClaimDescription": "Nome dell'attestazione OpenID che contiene un elenco dei gruppi dell'utente. Comunemente indicato come <code>gruppo</code>. <b>se configurato</b>, l'applicazione assegnerà automaticamente i ruoli in base alle appartenenze ai gruppi dell'utente, a condizione che tali gruppi siano denominati \"admin\", \"utente\" o \"ospite\" senza distinzione tra maiuscole e minuscole nell'attestazione. L'attestazione deve contenere un elenco e, se un utente appartiene a più gruppi, l'applicazione assegnerà il ruolo corrispondente al livello di accesso più alto. Se nessun gruppo corrisponde, l'accesso verrà negato.", "LabelOpenIDGroupClaimDescription": "Nome dell'attestazione OpenID che contiene un elenco dei gruppi dell'utente. Comunemente indicato come <code>gruppo</code>. <b>se configurato</b>, l'applicazione assegnerà automaticamente i ruoli in base alle appartenenze ai gruppi dell'utente, a condizione che tali gruppi siano denominati \"admin\", \"utente\" o \"ospite\" senza distinzione tra maiuscole e minuscole nell'attestazione. L'attestazione deve contenere un elenco e, se un utente appartiene a più gruppi, l'applicazione assegnerà il ruolo corrispondente al livello di accesso più alto. Se nessun gruppo corrisponde, l'accesso verrà negato.",
"LabelOpenRSSFeed": "Apri RSS Feed", "LabelOpenRSSFeed": "Apri RSS Feed",
"LabelOverwrite": "Sovrascrivi", "LabelOverwrite": "Sovrascrivi",
"LabelPassword": "Password",
"LabelPath": "Percorso", "LabelPath": "Percorso",
"LabelPermanent": "Permanente", "LabelPermanent": "Permanente",
"LabelPermissionsAccessAllLibraries": "Può accedere a tutte le librerie", "LabelPermissionsAccessAllLibraries": "Può accedere a tutte le librerie",
@@ -399,26 +463,37 @@
"LabelPersonalYearReview": "Il tuo anno in rassegna ({0})", "LabelPersonalYearReview": "Il tuo anno in rassegna ({0})",
"LabelPhotoPathURL": "foto Path/URL", "LabelPhotoPathURL": "foto Path/URL",
"LabelPlayMethod": "Metodo di riproduzione", "LabelPlayMethod": "Metodo di riproduzione",
"LabelPlayerChapterNumberMarker": "{0} di {1}",
"LabelPlaylists": "Playlist",
"LabelPodcast": "Podcast",
"LabelPodcastSearchRegion": "Area di ricerca podcast", "LabelPodcastSearchRegion": "Area di ricerca podcast",
"LabelPodcastType": "Tipo di Podcast", "LabelPodcastType": "Tipo di Podcast",
"LabelPodcasts": "Podcast",
"LabelPort": "Porta",
"LabelPrefixesToIgnore": "Suffissi da ignorare (specificando maiuscole e minuscole)", "LabelPrefixesToIgnore": "Suffissi da ignorare (specificando maiuscole e minuscole)",
"LabelPreventIndexing": "Impedisci che il tuo feed venga indicizzato da iTunes e dalle directory dei podcast di Google", "LabelPreventIndexing": "Impedisci che il tuo feed venga indicizzato da iTunes e dalle directory dei podcast di Google",
"LabelPrimaryEbook": "Libri Principlae", "LabelPrimaryEbook": "Libro principale",
"LabelProgress": "Cominciati", "LabelProgress": "Cominciati",
"LabelProvider": "Fornitore",
"LabelProviderAuthorizationValue": "Authorization Header Value",
"LabelPubDate": "Data di pubblicazione", "LabelPubDate": "Data di pubblicazione",
"LabelPublishYear": "Anno di pubblicazione", "LabelPublishYear": "Anno di pubblicazione",
"LabelPublishedDate": "{0} pubblicati",
"LabelPublishedDecade": "Decennio di pubblicazione",
"LabelPublishedDecades": "Decenni di pubblicazione",
"LabelPublisher": "Editore", "LabelPublisher": "Editore",
"LabelPublishers": "Editori", "LabelPublishers": "Editori",
"LabelRSSFeedCustomOwnerEmail": "E-mail del proprietario personalizzato", "LabelRSSFeedCustomOwnerEmail": "E-mail del proprietario personalizzato",
"LabelRSSFeedCustomOwnerName": "Nome del proprietario personalizzato", "LabelRSSFeedCustomOwnerName": "Nome del proprietario personalizzato",
"LabelRSSFeedOpen": "RSS Feed Aperto", "LabelRSSFeedOpen": "Flusso RSS aperto",
"LabelRSSFeedPreventIndexing": "Impedisci l'indicizzazione", "LabelRSSFeedPreventIndexing": "Impedisci l'indicizzazione",
"LabelRSSFeedSlug": "Parole chiave del flusso RSS", "LabelRSSFeedSlug": "Parole chiave del flusso RSS",
"LabelRSSFeedURL": "URL del flusso RSS",
"LabelRandomly": "Casualmente", "LabelRandomly": "Casualmente",
"LabelReAddSeriesToContinueListening": "Aggiungi di nuovo la serie per continuare ad ascoltare", "LabelReAddSeriesToContinueListening": "Aggiungi di nuovo la serie per continuare ad ascoltare",
"LabelRead": "Leggi", "LabelRead": "Leggi",
"LabelReadAgain": "Leggi ancora", "LabelReadAgain": "Leggi ancora",
"LabelReadEbookWithoutProgress": "Leggi l'ebook senza mantenere i progressi", "LabelReadEbookWithoutProgress": "Leggi il libro senza mantenere i progressi",
"LabelRecentSeries": "Serie recenti", "LabelRecentSeries": "Serie recenti",
"LabelRecentlyAdded": "Aggiunti recentemente", "LabelRecentlyAdded": "Aggiunti recentemente",
"LabelRecommended": "Raccomandati", "LabelRecommended": "Raccomandati",
@@ -435,16 +510,17 @@
"LabelSelectAllEpisodes": "Seleziona tutti gli Episodi", "LabelSelectAllEpisodes": "Seleziona tutti gli Episodi",
"LabelSelectEpisodesShowing": "Selezionati {0} episodi da visualizzare", "LabelSelectEpisodesShowing": "Selezionati {0} episodi da visualizzare",
"LabelSelectUsers": "Selezione Utenti", "LabelSelectUsers": "Selezione Utenti",
"LabelSendEbookToDevice": "Invia ebook a...", "LabelSendEbookToDevice": "Invia il libro a...",
"LabelSequence": "Sequenza", "LabelSequence": "Sequenza",
"LabelSeries": "Serie", "LabelSeries": "Serie",
"LabelSeriesName": "Nome Serie", "LabelSeriesName": "Nome Serie",
"LabelSeriesProgress": "Cominciato", "LabelSeriesProgress": "Cominciato",
"LabelServerLogLevel": "Server Log Level",
"LabelServerYearReview": "Anno del server in sintesi({0})", "LabelServerYearReview": "Anno del server in sintesi({0})",
"LabelSetEbookAsPrimary": "Imposta come primario", "LabelSetEbookAsPrimary": "Imposta come primario",
"LabelSetEbookAsSupplementary": "Imposta come suplementare", "LabelSetEbookAsSupplementary": "Imposta come suplementare",
"LabelSettingsAudiobooksOnly": "Solo Audiolibri", "LabelSettingsAudiobooksOnly": "Solo Audiolibri",
"LabelSettingsAudiobooksOnlyHelp": "L'abilitazione di questa impostazione ignorerà i file di ebook a meno che non si trovino all'interno di una cartella di audiolibri, nel qual caso verranno impostati come ebook supplementari", "LabelSettingsAudiobooksOnlyHelp": "L'abilitazione di questa impostazione ignorerà i file di libro digitale a meno che non si trovino all'interno di una cartella di audiolibri, nel qual caso verranno impostati come libri digitali supplementari",
"LabelSettingsBookshelfViewHelp": "Design con scaffali in legno", "LabelSettingsBookshelfViewHelp": "Design con scaffali in legno",
"LabelSettingsChromecastSupport": "Supporto a Chromecast", "LabelSettingsChromecastSupport": "Supporto a Chromecast",
"LabelSettingsDateFormat": "Formato Data", "LabelSettingsDateFormat": "Formato Data",
@@ -517,6 +593,7 @@
"LabelTagsNotAccessibleToUser": "Tags non accessibile agli Utenti", "LabelTagsNotAccessibleToUser": "Tags non accessibile agli Utenti",
"LabelTasks": "Processi in esecuzione", "LabelTasks": "Processi in esecuzione",
"LabelTextEditorBulletedList": "Elenco puntato", "LabelTextEditorBulletedList": "Elenco puntato",
"LabelTextEditorLink": "Collegamento",
"LabelTextEditorNumberedList": "Elenco Numerato", "LabelTextEditorNumberedList": "Elenco Numerato",
"LabelTextEditorUnlink": "Scollega", "LabelTextEditorUnlink": "Scollega",
"LabelTheme": "Tema", "LabelTheme": "Tema",
@@ -534,9 +611,10 @@
"LabelTitle": "Titolo", "LabelTitle": "Titolo",
"LabelToolsEmbedMetadata": "Incorpora Metadata", "LabelToolsEmbedMetadata": "Incorpora Metadata",
"LabelToolsEmbedMetadataDescription": "Incorpora i metadati nei file audio, inclusi l'immagine di copertina e i capitoli.", "LabelToolsEmbedMetadataDescription": "Incorpora i metadati nei file audio, inclusi l'immagine di copertina e i capitoli.",
"LabelToolsM4bEncoder": "M4B Encoder",
"LabelToolsMakeM4b": "Crea un file M4B", "LabelToolsMakeM4b": "Crea un file M4B",
"LabelToolsMakeM4bDescription": "Genera un file audiolibro M4B con metadati incorporati, immagine di copertina e capitoli.", "LabelToolsMakeM4bDescription": "Genera un file audiolibro M4B con metadati incorporati, immagine di copertina e capitoli.",
"LabelToolsSplitM4b": "Converti M4B in MP3's", "LabelToolsSplitM4b": "Converti M4B in MP3",
"LabelToolsSplitM4bDescription": "Crea MP3 da un M4B diviso per capitoli con metadati incorporati, immagine di copertina e capitoli.", "LabelToolsSplitM4bDescription": "Crea MP3 da un M4B diviso per capitoli con metadati incorporati, immagine di copertina e capitoli.",
"LabelTotalDuration": "Durata Totale", "LabelTotalDuration": "Durata Totale",
"LabelTotalTimeListened": "Tempo totale di Ascolto", "LabelTotalTimeListened": "Tempo totale di Ascolto",
@@ -550,6 +628,7 @@
"LabelUnabridged": "Integrale", "LabelUnabridged": "Integrale",
"LabelUndo": "Annulla", "LabelUndo": "Annulla",
"LabelUnknown": "Sconosciuto", "LabelUnknown": "Sconosciuto",
"LabelUnknownPublishDate": "Data di pubblicazione sconosciuta",
"LabelUpdateCover": "Aggiornamento Cover", "LabelUpdateCover": "Aggiornamento Cover",
"LabelUpdateCoverHelp": "Consenti la sovrascrittura delle copertine esistenti per i libri selezionati quando viene trovata una corrispondenza", "LabelUpdateCoverHelp": "Consenti la sovrascrittura delle copertine esistenti per i libri selezionati quando viene trovata una corrispondenza",
"LabelUpdateDetails": "Dettagli Aggiornamento", "LabelUpdateDetails": "Dettagli Aggiornamento",
@@ -558,6 +637,7 @@
"LabelUploaderDragAndDrop": "Drag & drop file o Cartelle", "LabelUploaderDragAndDrop": "Drag & drop file o Cartelle",
"LabelUploaderDropFiles": "Elimina file", "LabelUploaderDropFiles": "Elimina file",
"LabelUploaderItemFetchMetadataHelp": "Recupera automaticamente titolo, autore e serie", "LabelUploaderItemFetchMetadataHelp": "Recupera automaticamente titolo, autore e serie",
"LabelUseAdvancedOptions": "Usa le opzioni avanzate",
"LabelUseChapterTrack": "Usa il Capitolo della Traccia", "LabelUseChapterTrack": "Usa il Capitolo della Traccia",
"LabelUseFullTrack": "Usa la traccia totale", "LabelUseFullTrack": "Usa la traccia totale",
"LabelUser": "Utente", "LabelUser": "Utente",
@@ -568,6 +648,7 @@
"LabelViewChapters": "Visualizza i Capitoli", "LabelViewChapters": "Visualizza i Capitoli",
"LabelViewPlayerSettings": "Mostra Impostazioni player", "LabelViewPlayerSettings": "Mostra Impostazioni player",
"LabelViewQueue": "Visualizza coda", "LabelViewQueue": "Visualizza coda",
"LabelVolume": "Volume",
"LabelWeekdaysToRun": "Giorni feriali da eseguire", "LabelWeekdaysToRun": "Giorni feriali da eseguire",
"LabelXBooks": "{0} libri", "LabelXBooks": "{0} libri",
"LabelXItems": "{0} oggetti", "LabelXItems": "{0} oggetti",
@@ -597,16 +678,23 @@
"MessageCheckingCron": "Controllo cron...", "MessageCheckingCron": "Controllo cron...",
"MessageConfirmCloseFeed": "Sei sicuro di voler chiudere questo feed?", "MessageConfirmCloseFeed": "Sei sicuro di voler chiudere questo feed?",
"MessageConfirmDeleteBackup": "Sei sicuro di voler eliminare il backup {0}?", "MessageConfirmDeleteBackup": "Sei sicuro di voler eliminare il backup {0}?",
"MessageConfirmDeleteDevice": "Sei sicuro/sicura di voler eliminare il lettore di libri {0}?",
"MessageConfirmDeleteFile": "Questo eliminerà il file dal tuo file system. Sei sicuro?", "MessageConfirmDeleteFile": "Questo eliminerà il file dal tuo file system. Sei sicuro?",
"MessageConfirmDeleteLibrary": "Sei sicuro di voler eliminare definitivamente la libreria \"{0}\"?", "MessageConfirmDeleteLibrary": "Sei sicuro di voler eliminare definitivamente la libreria \"{0}\"?",
"MessageConfirmDeleteLibraryItem": "l'elemento della libreria dal database e dal file system. Sei sicuro?", "MessageConfirmDeleteLibraryItem": "l'elemento della libreria dal database e dal file system. Sei sicuro?",
"MessageConfirmDeleteLibraryItems": "Ciò eliminerà {0} elementi della libreria dal database e dal file system. Sei sicuro?", "MessageConfirmDeleteLibraryItems": "Ciò eliminerà {0} elementi della libreria dal database e dal file system. Sei sicuro?",
"MessageConfirmDeleteMetadataProvider": "Sei sicuro/sicura di voler eliminare il fornitore di metadati personalizzato {0}?",
"MessageConfirmDeleteNotification": "Sei sicuro/sicura di voler eliminare questa notifica?",
"MessageConfirmDeleteSession": "Sei sicuro di voler eliminare questa sessione?", "MessageConfirmDeleteSession": "Sei sicuro di voler eliminare questa sessione?",
"MessageConfirmEmbedMetadataInAudioFiles": "Sei sicuro di voler incorporare i metadati nei file audio {0}?",
"MessageConfirmForceReScan": "Sei sicuro di voler forzare una nuova scansione?", "MessageConfirmForceReScan": "Sei sicuro di voler forzare una nuova scansione?",
"MessageConfirmMarkAllEpisodesFinished": "Sei sicuro di voler contrassegnare tutti gli episodi come finiti?", "MessageConfirmMarkAllEpisodesFinished": "Sei sicuro di voler contrassegnare tutti gli episodi come finiti?",
"MessageConfirmMarkAllEpisodesNotFinished": "Sei sicuro di voler contrassegnare tutti gli episodi come non completati?", "MessageConfirmMarkAllEpisodesNotFinished": "Sei sicuro di voler contrassegnare tutti gli episodi come non completati?",
"MessageConfirmMarkItemFinished": "Sei sicuro/sicura di voler segnare {0} come finito?",
"MessageConfirmMarkItemNotFinished": "Vuoi davvero segnare \"{0}\" come non finito?",
"MessageConfirmMarkSeriesFinished": "Sei sicuro di voler contrassegnare tutti i libri di questa serie come completati?", "MessageConfirmMarkSeriesFinished": "Sei sicuro di voler contrassegnare tutti i libri di questa serie come completati?",
"MessageConfirmMarkSeriesNotFinished": "Sei sicuro di voler contrassegnare tutti i libri di questa serie come non completati?", "MessageConfirmMarkSeriesNotFinished": "Sei sicuro di voler contrassegnare tutti i libri di questa serie come non completati?",
"MessageConfirmNotificationTestTrigger": "Attivare questa notifica con dati di prova?",
"MessageConfirmPurgeCache": "L'eliminazione della cache eliminerà l'intera directory dei <code>/metadata/cache</code>. <br /><br />Sei sicuro di voler rimuovere la directory della cache?", "MessageConfirmPurgeCache": "L'eliminazione della cache eliminerà l'intera directory dei <code>/metadata/cache</code>. <br /><br />Sei sicuro di voler rimuovere la directory della cache?",
"MessageConfirmPurgeItemsCache": "L'eliminazione della cache degli elementi eliminerà l'intera directory <code>/metadata/cache/oggetti</code>.<br />Sei sicuro?", "MessageConfirmPurgeItemsCache": "L'eliminazione della cache degli elementi eliminerà l'intera directory <code>/metadata/cache/oggetti</code>.<br />Sei sicuro?",
"MessageConfirmQuickEmbed": "Attenzione! L'incorporamento rapido non eseguirà il backup dei file audio. Assicurati di avere un backup dei tuoi file audio. <br><br>Vuoi Continuare?", "MessageConfirmQuickEmbed": "Attenzione! L'incorporamento rapido non eseguirà il backup dei file audio. Assicurati di avere un backup dei tuoi file audio. <br><br>Vuoi Continuare?",
@@ -622,16 +710,19 @@
"MessageConfirmRenameGenre": "Sei sicuro di voler rinominare il genere \"{0}\" in \"{1}\" per tutti gli oggetti?", "MessageConfirmRenameGenre": "Sei sicuro di voler rinominare il genere \"{0}\" in \"{1}\" per tutti gli oggetti?",
"MessageConfirmRenameGenreMergeNote": "Note: Questo genere esiste già quindi verra unito.", "MessageConfirmRenameGenreMergeNote": "Note: Questo genere esiste già quindi verra unito.",
"MessageConfirmRenameGenreWarning": "Avvertimento! Esiste già un genere simile con un nome simile \"{0}\".", "MessageConfirmRenameGenreWarning": "Avvertimento! Esiste già un genere simile con un nome simile \"{0}\".",
"MessageConfirmRenameTag": "Sei sicuro di voler rinominare il tag \"{0}\" in \"{1}\" per tutti gli oggetti?", "MessageConfirmRenameTag": "Sei sicuro/sicura di voler rinominare l'etichetta \"{0}\" in \"{1}\" per tutti gli oggetti?",
"MessageConfirmRenameTagMergeNote": "Nota: Questo tag esiste già e verrà unito nel vecchio.", "MessageConfirmRenameTagMergeNote": "Nota: Questa etichetta esiste già e verrà unito nella vecchia.",
"MessageConfirmRenameTagWarning": "Avvertimento! Esiste già un tag simile con un nome simile \"{0}\".", "MessageConfirmRenameTagWarning": "Avvertimento! Esiste già un tag simile con un nome simile \"{0}\".",
"MessageConfirmSendEbookToDevice": "Sei sicuro di voler inviare {0} ebook \"{1}\" al Device \"{2}\"?", "MessageConfirmResetProgress": "Vuoi davvero azzerare i tuoi progressi?",
"MessageConfirmSendEbookToDevice": "Sei sicuro/sicura di voler inviare {0} libro «{1}» al dispositivo «{2}»?",
"MessageConfirmUnlinkOpenId": "Vuoi davvero scollegare questo utente da OpenID?",
"MessageDownloadingEpisode": "Scaricamento dellepisodio in corso", "MessageDownloadingEpisode": "Scaricamento dellepisodio in corso",
"MessageDragFilesIntoTrackOrder": "Trascina i file nell'ordine di traccia corretto", "MessageDragFilesIntoTrackOrder": "Trascina i file nell'ordine di traccia corretto",
"MessageEmbedFailed": "Incorporamento non riuscito!", "MessageEmbedFailed": "Incorporamento non riuscito!",
"MessageEmbedFinished": "Incorporamento finito!", "MessageEmbedFinished": "Incorporamento finito!",
"MessageEmbedQueue": "In coda per l'incorporamento dei metadati ({0} in coda)",
"MessageEpisodesQueuedForDownload": "{0} episodio(i) in coda per lo scaricamento", "MessageEpisodesQueuedForDownload": "{0} episodio(i) in coda per lo scaricamento",
"MessageEreaderDevices": "Per garantire la consegna degli ebook, potrebbe essere necessario aggiungere l'indirizzo e-mail sopra indicato come mittente valido per ciascun dispositivo elencato di seguito.", "MessageEreaderDevices": "Per garantire la consegna dei libri digitali, potrebbe essere necessario aggiungere l'indirizzo e-mail sopra indicato come mittente valido per ciascun dispositivo elencato di seguito.",
"MessageFeedURLWillBe": "lURL del flusso sarà {0}", "MessageFeedURLWillBe": "lURL del flusso sarà {0}",
"MessageFetching": "Recupero info…", "MessageFetching": "Recupero info…",
"MessageForceReScanDescription": "eseguirà nuovamente la scansione di tutti i file come una nuova scansione. I tag ID3 dei file audio, i file OPF e i file di testo verranno scansionati come nuovi.", "MessageForceReScanDescription": "eseguirà nuovamente la scansione di tutti i file come una nuova scansione. I tag ID3 dei file audio, i file OPF e i file di testo verranno scansionati come nuovi.",
@@ -660,6 +751,7 @@
"MessageNoCollections": "Nessuna Raccolta", "MessageNoCollections": "Nessuna Raccolta",
"MessageNoCoversFound": "Nessuna Cover Trovata", "MessageNoCoversFound": "Nessuna Cover Trovata",
"MessageNoDescription": "Nessuna descrizione", "MessageNoDescription": "Nessuna descrizione",
"MessageNoDevices": "nessun dispositivo",
"MessageNoDownloadsInProgress": "Nessun download attualmente in corso", "MessageNoDownloadsInProgress": "Nessun download attualmente in corso",
"MessageNoDownloadsQueued": "Nessuna coda di download", "MessageNoDownloadsQueued": "Nessuna coda di download",
"MessageNoEpisodeMatchesFound": "Nessun episodio corrispondente trovato", "MessageNoEpisodeMatchesFound": "Nessun episodio corrispondente trovato",
@@ -673,6 +765,7 @@
"MessageNoLogs": "Nessun Logs", "MessageNoLogs": "Nessun Logs",
"MessageNoMediaProgress": "Nessun progresso multimediale", "MessageNoMediaProgress": "Nessun progresso multimediale",
"MessageNoNotifications": "Nessuna notifica", "MessageNoNotifications": "Nessuna notifica",
"MessageNoPodcastFeed": "Podcast non valido: nessun feed",
"MessageNoPodcastsFound": "Nessun podcast trovato", "MessageNoPodcastsFound": "Nessun podcast trovato",
"MessageNoResults": "Nessun Risultato", "MessageNoResults": "Nessun Risultato",
"MessageNoSearchResultsFor": "Nessun risultato per \"{0}\"", "MessageNoSearchResultsFor": "Nessun risultato per \"{0}\"",
@@ -687,7 +780,11 @@
"MessagePauseChapter": "Metti in Pausa Capitolo", "MessagePauseChapter": "Metti in Pausa Capitolo",
"MessagePlayChapter": "Ascolta dall'inizio del capitolo", "MessagePlayChapter": "Ascolta dall'inizio del capitolo",
"MessagePlaylistCreateFromCollection": "Crea playlist da una Raccolta", "MessagePlaylistCreateFromCollection": "Crea playlist da una Raccolta",
"MessagePleaseWait": "Attendi...",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast non ha l'URL del feed RSS da utilizzare per il match", "MessagePodcastHasNoRSSFeedForMatching": "Podcast non ha l'URL del feed RSS da utilizzare per il match",
"MessagePodcastSearchField": "Inserisci il termine di ricerca o l'URL del feed RSS",
"MessageQuickEmbedInProgress": "Incorporamento rapido in corso",
"MessageQuickEmbedQueue": "In coda per incorporamento rapido ({0} in coda)",
"MessageQuickMatchDescription": "Compila i dettagli dell'articolo vuoto e copri con il risultato della prima corrispondenza di '{0}'. Non sovrascrive i dettagli a meno che non sia abilitata l'impostazione del server \"Preferisci metadati corrispondenti\".", "MessageQuickMatchDescription": "Compila i dettagli dell'articolo vuoto e copri con il risultato della prima corrispondenza di '{0}'. Non sovrascrive i dettagli a meno che non sia abilitata l'impostazione del server \"Preferisci metadati corrispondenti\".",
"MessageRemoveChapter": "Rimuovi Capitolo", "MessageRemoveChapter": "Rimuovi Capitolo",
"MessageRemoveEpisodes": "rimuovi {0} episodio(i)", "MessageRemoveEpisodes": "rimuovi {0} episodio(i)",
@@ -705,6 +802,41 @@
"MessageShareExpiresIn": "Scade in {0}", "MessageShareExpiresIn": "Scade in {0}",
"MessageShareURLWillBe": "L'indirizzo sarà: <strong>{0}</strong>", "MessageShareURLWillBe": "L'indirizzo sarà: <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Avvia la riproduzione per \"{0}\" a {1}?", "MessageStartPlaybackAtTime": "Avvia la riproduzione per \"{0}\" a {1}?",
"MessageTaskAudioFileNotWritable": "Il file audio «{0}» non è scrivibile",
"MessageTaskCanceledByUser": "Attività annullata dall'utente",
"MessageTaskDownloadingEpisodeDescription": "Scaricamento dell'episodio «{0}»",
"MessageTaskEmbeddingMetadata": "Metadati integrati",
"MessageTaskEmbeddingMetadataDescription": "Integrazione dei metadati nell'audiolibro «{0}»",
"MessageTaskEncodingM4b": "Codifica M4B",
"MessageTaskEncodingM4bDescription": "Codifica dell'audiolibro «{0}» in un singolo file m4b",
"MessageTaskFailed": "Fallimento",
"MessageTaskFailedToBackupAudioFile": "Non riuscita a eseguire il backup del file audio «{0}»",
"MessageTaskFailedToCreateCacheDirectory": "Non riuscita a creare la cartella della cache",
"MessageTaskFailedToEmbedMetadataInFile": "Non ha inserito i metadati nel file «{0}»",
"MessageTaskFailedToMergeAudioFiles": "Non è riuscito a fondere i file audio",
"MessageTaskFailedToMoveM4bFile": "Non è riuscito a spostare il file m4b",
"MessageTaskFailedToWriteMetadataFile": "Non è riuscito a scrivere file di metadati",
"MessageTaskMatchingBooksInLibrary": "Libri di corrispondenza in biblioteca «{0}»",
"MessageTaskNoFilesToScan": "Nessun file per la scansione",
"MessageTaskOpmlImport": "Importazione OPML",
"MessageTaskOpmlImportDescription": "Creazione di podcast da {0} flusso RSS",
"MessageTaskOpmlImportFeed": "Flusso di importazione OPML",
"MessageTaskOpmlImportFeedDescription": "Importazione del flusso RSS «{0}»",
"MessageTaskOpmlImportFeedFailed": "Impossibile ottenere il flusso del podcast",
"MessageTaskOpmlImportFeedPodcastDescription": "Creazione di podcast «{0}»",
"MessageTaskOpmlImportFeedPodcastExists": "Il podcast esiste già nel percorso",
"MessageTaskOpmlImportFeedPodcastFailed": "Errore durante la creazione del podcast",
"MessageTaskOpmlImportFinished": "{0} podcast aggiunti",
"MessageTaskOpmlParseFailed": "Impossibile analizzare il file OPML",
"MessageTaskOpmlParseFastFail": "File OPML non valido. Tag <opml> non trovato OPPURE non è stato trovato un tag <outline>",
"MessageTaskOpmlParseNoneFound": "Nessun feed trovato nel file OPML",
"MessageTaskScanItemsAdded": "{0} aggiunti",
"MessageTaskScanItemsMissing": "{0} mancanti",
"MessageTaskScanItemsUpdated": "{0} aggiornati",
"MessageTaskScanNoChangesNeeded": "Nessuna modifica necessaria",
"MessageTaskScanningFileChanges": "Cambiamenti di file di scansione in «{0}»",
"MessageTaskScanningLibrary": "Scansione della biblioteca «{0}»",
"MessageTaskTargetDirectoryNotWritable": "La cartella di destinazione non è scrivibile",
"MessageThinking": "Elaborazione...", "MessageThinking": "Elaborazione...",
"MessageUploaderItemFailed": "Caricamento Fallito", "MessageUploaderItemFailed": "Caricamento Fallito",
"MessageUploaderItemSuccess": "Caricato con successo!", "MessageUploaderItemSuccess": "Caricato con successo!",
@@ -722,6 +854,10 @@
"NoteUploaderFoldersWithMediaFiles": "Le cartelle con file multimediali verranno gestite come elementi della libreria separati.", "NoteUploaderFoldersWithMediaFiles": "Le cartelle con file multimediali verranno gestite come elementi della libreria separati.",
"NoteUploaderOnlyAudioFiles": "Se carichi solo file audio, ogni file audio verrà gestito come un audiolibro separato.", "NoteUploaderOnlyAudioFiles": "Se carichi solo file audio, ogni file audio verrà gestito come un audiolibro separato.",
"NoteUploaderUnsupportedFiles": "I file non supportati vengono ignorati. Quando si sceglie o si elimina una cartella, gli altri file che non si trovano in una cartella di elementi vengono ignorati.", "NoteUploaderUnsupportedFiles": "I file non supportati vengono ignorati. Quando si sceglie o si elimina una cartella, gli altri file che non si trovano in una cartella di elementi vengono ignorati.",
"NotificationOnBackupCompletedDescription": "Attivato al completamento di un backup",
"NotificationOnBackupFailedDescription": "Attivato quando un backup fallisce",
"NotificationOnEpisodeDownloadedDescription": "Attivato quando un episodio di podcast viene scaricato automaticamente",
"NotificationOnTestDescription": "test il sistema di notifica",
"PlaceholderNewCollection": "Nome Nuova Raccolta", "PlaceholderNewCollection": "Nome Nuova Raccolta",
"PlaceholderNewFolderPath": "Nuovo Percorso Cartella", "PlaceholderNewFolderPath": "Nuovo Percorso Cartella",
"PlaceholderNewPlaylist": "Nome nuova playlist", "PlaceholderNewPlaylist": "Nome nuova playlist",
@@ -732,93 +868,158 @@
"StatsBooksAdditional": "Alcune aggiunte includono…", "StatsBooksAdditional": "Alcune aggiunte includono…",
"StatsBooksFinished": "Libri Finiti", "StatsBooksFinished": "Libri Finiti",
"StatsBooksFinishedThisYear": "Alcuni libri terminati quest'anno…", "StatsBooksFinishedThisYear": "Alcuni libri terminati quest'anno…",
"StatsBooksListenedTo": "libri ascoltati", "StatsBooksListenedTo": "Libri ascoltati",
"StatsCollectionGrewTo": "La tua collezione di libri è cresciuta fino a…", "StatsCollectionGrewTo": "La tua collezione è aumentata di…",
"StatsSessions": "sessioni", "StatsSessions": "Sessioni",
"StatsSpentListening": "trascorso ad ascoltare", "StatsSpentListening": "Tempo di Ascolto",
"StatsTopAuthor": "MIGLIOR AUTORE", "StatsTopAuthor": "MIGLIOR AUTORE",
"StatsTopAuthors": "MIGLIORI AUTORI", "StatsTopAuthors": "AUTORI MIGLIORI",
"StatsTopGenre": "MIGLIOR GENERE", "StatsTopGenre": "MIGLIOR GENERE",
"StatsTopGenres": "MIGLIORI GENERI", "StatsTopGenres": "GENERI MIGLIORI",
"StatsTopMonth": "MIGLIOR MESE", "StatsTopMonth": "MIGLIOR MESE",
"StatsTopNarrator": "MIGLIOR NARRATORE", "StatsTopNarrator": "MIGLIOR NARRATORE",
"StatsTopNarrators": "MIGLIORI NARRATORI", "StatsTopNarrators": "NARRATORI MIGLIORI",
"StatsTotalDuration": "Con una durata totale di…", "StatsTotalDuration": "Per una durata totale di…",
"StatsYearInReview": "ANNO IN RASSEGNA", "StatsYearInReview": "ANNO IN RASSEGNA",
"ToastAccountUpdateFailed": "Aggiornamento Account Fallito",
"ToastAccountUpdateSuccess": "Account Aggiornato", "ToastAccountUpdateSuccess": "Account Aggiornato",
"ToastAppriseUrlRequired": "È necessario immettere un indirizzo Apprise",
"ToastAuthorImageRemoveSuccess": "Immagine Autore Rimossa", "ToastAuthorImageRemoveSuccess": "Immagine Autore Rimossa",
"ToastAuthorUpdateFailed": "Aggiornamento Autore Fallito", "ToastAuthorNotFound": "Autore\"{0}\" non trovato",
"ToastAuthorRemoveSuccess": "Autore rimosso",
"ToastAuthorSearchNotFound": "Autore non trovato",
"ToastAuthorUpdateMerged": "Autore unito", "ToastAuthorUpdateMerged": "Autore unito",
"ToastAuthorUpdateSuccess": "Autore aggiornato", "ToastAuthorUpdateSuccess": "Autore aggiornato",
"ToastAuthorUpdateSuccessNoImageFound": "Autore aggiornato (nessuna immagine trovata)", "ToastAuthorUpdateSuccessNoImageFound": "Autore aggiornato (nessuna immagine trovata)",
"ToastBackupAppliedSuccess": "Backup applicato",
"ToastBackupCreateFailed": "creazione backup fallita", "ToastBackupCreateFailed": "creazione backup fallita",
"ToastBackupCreateSuccess": "Backup creato", "ToastBackupCreateSuccess": "Backup creato",
"ToastBackupDeleteFailed": "Eliminazione backup fallita", "ToastBackupDeleteFailed": "Eliminazione backup fallita",
"ToastBackupDeleteSuccess": "backup Eliminato", "ToastBackupDeleteSuccess": "backup Eliminato",
"ToastBackupInvalidMaxKeep": "Numero non valido di backup da conservare",
"ToastBackupInvalidMaxSize": "Dimensione massima del backup non valida",
"ToastBackupRestoreFailed": "Ripristino fallito", "ToastBackupRestoreFailed": "Ripristino fallito",
"ToastBackupUploadFailed": "Caricamento backup fallito", "ToastBackupUploadFailed": "Caricamento backup fallito",
"ToastBackupUploadSuccess": "Backup caricato", "ToastBackupUploadSuccess": "Backup caricato",
"ToastBatchDeleteFailed": "Eliminazione batch non riuscita",
"ToastBatchDeleteSuccess": "Eliminazione batch riuscita",
"ToastBatchUpdateFailed": "Batch di aggiornamento fallito", "ToastBatchUpdateFailed": "Batch di aggiornamento fallito",
"ToastBatchUpdateSuccess": "Batch di aggiornamento finito", "ToastBatchUpdateSuccess": "Batch di aggiornamento finito",
"ToastBookmarkCreateFailed": "Creazione segnalibro fallita", "ToastBookmarkCreateFailed": "Creazione segnalibro fallita",
"ToastBookmarkCreateSuccess": "Segnalibro creato", "ToastBookmarkCreateSuccess": "Segnalibro creato",
"ToastBookmarkRemoveSuccess": "Segnalibro Rimosso", "ToastBookmarkRemoveSuccess": "Segnalibro Rimosso",
"ToastBookmarkUpdateFailed": "Aggiornamento segnalibro fallito",
"ToastBookmarkUpdateSuccess": "Segnalibro aggiornato", "ToastBookmarkUpdateSuccess": "Segnalibro aggiornato",
"ToastCachePurgeFailed": "Impossibile eliminare la cache", "ToastCachePurgeFailed": "Impossibile eliminare la cache",
"ToastCachePurgeSuccess": "Cache eliminata correttamente", "ToastCachePurgeSuccess": "Cache eliminata correttamente",
"ToastChaptersHaveErrors": "I capitoli contengono errori", "ToastChaptersHaveErrors": "I capitoli contengono errori",
"ToastChaptersMustHaveTitles": "I capitoli devono avere titoli", "ToastChaptersMustHaveTitles": "I capitoli devono avere titoli",
"ToastChaptersRemoved": "Capitoli rimossi",
"ToastCollectionItemsAddFailed": "l'aggiunta dell'elemento(i) alla raccolta non è riuscito",
"ToastCollectionItemsAddSuccess": "L'aggiunta dell'elemento(i) alla raccolta è riuscito",
"ToastCollectionItemsRemoveSuccess": "Oggetto(i) rimossi dalla Raccolta", "ToastCollectionItemsRemoveSuccess": "Oggetto(i) rimossi dalla Raccolta",
"ToastCollectionRemoveSuccess": "Collezione rimossa", "ToastCollectionRemoveSuccess": "Collezione rimossa",
"ToastCollectionUpdateFailed": "Errore aggiornamento Raccolta",
"ToastCollectionUpdateSuccess": "Raccolta aggiornata", "ToastCollectionUpdateSuccess": "Raccolta aggiornata",
"ToastCoverUpdateFailed": "Aggiornamento cover fallito",
"ToastDeleteFileFailed": "Impossibile eliminare il file", "ToastDeleteFileFailed": "Impossibile eliminare il file",
"ToastDeleteFileSuccess": "File eliminato", "ToastDeleteFileSuccess": "File eliminato",
"ToastDeviceAddFailed": "Aggiunta dispositivo fallita",
"ToastDeviceNameAlreadyExists": "Esiste già un dispositivo e-reader con quel nome",
"ToastDeviceTestEmailFailed": "Impossibile inviare l'e-mail di prova",
"ToastDeviceTestEmailSuccess": "Test invio mail completato",
"ToastEmailSettingsUpdateSuccess": "Impostazioni e-mail aggiornate",
"ToastEncodeCancelFailed": "Impossibile annullare la codifica",
"ToastEncodeCancelSucces": "Codifica annullata",
"ToastEpisodeDownloadQueueClearFailed": "Impossibile cancellare la coda",
"ToastEpisodeDownloadQueueClearSuccess": "Coda di download degli episodi cancellata",
"ToastErrorCannotShare": "Impossibile condividere in modo nativo su questo dispositivo", "ToastErrorCannotShare": "Impossibile condividere in modo nativo su questo dispositivo",
"ToastFailedToLoadData": "Impossibile caricare i dati", "ToastFailedToLoadData": "Impossibile caricare i dati",
"ToastItemCoverUpdateFailed": "Errore Aggiornamento cover", "ToastFailedToShare": "Impossibile condividere",
"ToastFailedToUpdate": "Non aggiornato",
"ToastInvalidImageUrl": "URL dell'immagine non valido",
"ToastInvalidUrl": "URL non valido",
"ToastItemCoverUpdateSuccess": "Cover aggiornata", "ToastItemCoverUpdateSuccess": "Cover aggiornata",
"ToastItemDetailsUpdateFailed": "Errore Aggiornamento dettagli file", "ToastItemDeletedFailed": "Impossibile eliminare l'elemento",
"ToastItemDeletedSuccess": "Elemento eliminato",
"ToastItemDetailsUpdateSuccess": "Dettagli file Aggiornata", "ToastItemDetailsUpdateSuccess": "Dettagli file Aggiornata",
"ToastItemMarkedAsFinishedFailed": "Errore nel segnare il file come finito", "ToastItemMarkedAsFinishedFailed": "Errore nel segnare il file come finito",
"ToastItemMarkedAsFinishedSuccess": "File segnato come finito", "ToastItemMarkedAsFinishedSuccess": "File segnato come finito",
"ToastItemMarkedAsNotFinishedFailed": "Errore nel segnare il file come non completo", "ToastItemMarkedAsNotFinishedFailed": "Errore nel segnare il file come non completo",
"ToastItemMarkedAsNotFinishedSuccess": "File segnato come non completo", "ToastItemMarkedAsNotFinishedSuccess": "File segnato come non completo",
"ToastItemUpdateSuccess": "Articolo aggiornato",
"ToastLibraryCreateFailed": "Errore creazione libreria", "ToastLibraryCreateFailed": "Errore creazione libreria",
"ToastLibraryCreateSuccess": "Libreria \"{0}\" creata", "ToastLibraryCreateSuccess": "Libreria \"{0}\" creata",
"ToastLibraryDeleteFailed": "Errore cancellazione libreria", "ToastLibraryDeleteFailed": "Errore cancellazione libreria",
"ToastLibraryDeleteSuccess": "Libreria Cancellata", "ToastLibraryDeleteSuccess": "Libreria Cancellata",
"ToastLibraryScanFailedToStart": "Errore inizio scansione", "ToastLibraryScanFailedToStart": "Errore inizio scansione",
"ToastLibraryScanStarted": "Scansione Libreria iniziata", "ToastLibraryScanStarted": "Scansione Libreria iniziata",
"ToastLibraryUpdateFailed": "Errore Aggiornamento libreria",
"ToastLibraryUpdateSuccess": "Libreria \"{0}\" aggiornata", "ToastLibraryUpdateSuccess": "Libreria \"{0}\" aggiornata",
"ToastMatchAllAuthorsFailed": "Tutti gli autori non sono potuti essere classificati",
"ToastNameEmailRequired": "Nome ed email sono obbligatori",
"ToastNameRequired": "Il nome è obbligatorio",
"ToastNewUserCreatedFailed": "Impossibile creare l'account: \"{0}\"",
"ToastNewUserCreatedSuccess": "Nuovo account creato",
"ToastNewUserLibraryError": "È necessario selezionare almeno una libreria",
"ToastNewUserPasswordError": "Deve avere una password, solo l'utente root può avere una password vuota",
"ToastNewUserTagError": "Devi selezionare almeno un tag",
"ToastNewUserUsernameError": "Inserisci un nome utente",
"ToastNoUpdatesNecessary": "Nessun aggiornamento necessario",
"ToastNotificationCreateFailed": "Impossibile creare la notifica",
"ToastNotificationDeleteFailed": "Impossibile eliminare la notifica",
"ToastNotificationFailedMaximum": "Il numero massimo di tentativi falliti deve essere >= 0",
"ToastNotificationQueueMaximum": "La coda di notifica massima deve essere >= 0",
"ToastNotificationSettingsUpdateSuccess": "Impostazioni di notifica aggiornate",
"ToastNotificationTestTriggerFailed": "Impossibile attivare la notifica del test",
"ToastNotificationTestTriggerSuccess": "Notifica di test attivata",
"ToastNotificationUpdateSuccess": "Notifica aggiornata",
"ToastPlaylistCreateFailed": "Errore creazione playlist", "ToastPlaylistCreateFailed": "Errore creazione playlist",
"ToastPlaylistCreateSuccess": "Playlist creata", "ToastPlaylistCreateSuccess": "Playlist creata",
"ToastPlaylistRemoveSuccess": "Playlist rimossa", "ToastPlaylistRemoveSuccess": "Playlist rimossa",
"ToastPlaylistUpdateFailed": "Aggiornamento Playlist Fallita",
"ToastPlaylistUpdateSuccess": "Playlist Aggiornata", "ToastPlaylistUpdateSuccess": "Playlist Aggiornata",
"ToastPodcastCreateFailed": "Errore creazione podcast", "ToastPodcastCreateFailed": "Errore creazione podcast",
"ToastPodcastCreateSuccess": "Podcast creato correttamente", "ToastPodcastCreateSuccess": "Podcast creato correttamente",
"ToastPodcastGetFeedFailed": "Impossibile ottenere il feed del podcast",
"ToastPodcastNoEpisodesInFeed": "Nessun episodio trovato nel feed RSS",
"ToastPodcastNoRssFeed": "Il podcast non ha un feed RSS",
"ToastProviderCreatedFailed": "Impossibile aggiungere il provider",
"ToastProviderCreatedSuccess": "Aggiunto nuovo provider",
"ToastProviderNameAndUrlRequired": "Nome e URL richiesti",
"ToastProviderRemoveSuccess": "Provider rimosso",
"ToastRSSFeedCloseFailed": "Errore chiusura flusso RSS", "ToastRSSFeedCloseFailed": "Errore chiusura flusso RSS",
"ToastRSSFeedCloseSuccess": "Flusso RSS chiuso", "ToastRSSFeedCloseSuccess": "Flusso RSS chiuso",
"ToastRemoveFailed": "Impossibile rimuovere",
"ToastRemoveItemFromCollectionFailed": "Errore rimozione file dalla Raccolta", "ToastRemoveItemFromCollectionFailed": "Errore rimozione file dalla Raccolta",
"ToastRemoveItemFromCollectionSuccess": "Oggetto rimosso dalla Raccolta", "ToastRemoveItemFromCollectionSuccess": "Oggetto rimosso dalla Raccolta",
"ToastSendEbookToDeviceFailed": "Impossibile inviare l'ebook al dispositivo", "ToastRemoveItemsWithIssuesFailed": "Impossibile rimuovere gli elementi della libreria con problemi",
"ToastSendEbookToDeviceSuccess": "Ebook inviato al dispositivo \"{0}\"", "ToastRemoveItemsWithIssuesSuccess": "Rimossi gli elementi della libreria con problemi",
"ToastRenameFailed": "Impossibile rinominare",
"ToastRescanFailed": "Nuova scansione non riuscita per {0}",
"ToastRescanRemoved": "L'articolo completo di Re-Scan è stato rimosso",
"ToastRescanUpToDate": "La nuova scansione dell'articolo completo è stata aggiornata",
"ToastRescanUpdated": "L'articolo completo di Re-Scan è stato aggiornato",
"ToastScanFailed": "Impossibile eseguire la scansione dell'elemento della libreria",
"ToastSelectAtLeastOneUser": "Seleziona almeno un utente",
"ToastSendEbookToDeviceFailed": "Impossibile inviare il libro al dispositivo",
"ToastSendEbookToDeviceSuccess": "Libro inviato al dispositivo «{0}»",
"ToastSeriesUpdateFailed": "Aggiornamento Serie Fallito", "ToastSeriesUpdateFailed": "Aggiornamento Serie Fallito",
"ToastSeriesUpdateSuccess": "Serie Aggiornate", "ToastSeriesUpdateSuccess": "Serie Aggiornate",
"ToastServerSettingsUpdateFailed": "Impossibile aggiornare le impostazioni del server",
"ToastServerSettingsUpdateSuccess": "Impostazioni del server aggiornate", "ToastServerSettingsUpdateSuccess": "Impostazioni del server aggiornate",
"ToastSessionCloseFailed": "Disconnessione Fallita",
"ToastSessionDeleteFailed": "Errore eliminazione sessione", "ToastSessionDeleteFailed": "Errore eliminazione sessione",
"ToastSessionDeleteSuccess": "Sessione cancellata", "ToastSessionDeleteSuccess": "Sessione cancellata",
"ToastSlugMustChange": "Lo slug contiene caratteri non validi",
"ToastSlugRequired": "È richiesto lo slug",
"ToastSocketConnected": "Socket connesso", "ToastSocketConnected": "Socket connesso",
"ToastSocketDisconnected": "Socket disconnesso", "ToastSocketDisconnected": "Socket disconnesso",
"ToastSocketFailedToConnect": "Socket non riesce a connettersi", "ToastSocketFailedToConnect": "Socket non riesce a connettersi",
"ToastSortingPrefixesEmptyError": "Deve avere almeno 1 prefisso di ordinamento", "ToastSortingPrefixesEmptyError": "Deve avere almeno 1 prefisso di ordinamento",
"ToastSortingPrefixesUpdateFailed": "Impossibile aggiornare i prefissi di ordinamento",
"ToastSortingPrefixesUpdateSuccess": "Prefissi di ordinamento aggiornati ({0} items)", "ToastSortingPrefixesUpdateSuccess": "Prefissi di ordinamento aggiornati ({0} items)",
"ToastTitleRequired": "Il titolo è obbligatorio",
"ToastUnknownError": "Errore sconosciuto",
"ToastUnlinkOpenIdFailed": "Impossibile scollegare l'utente da OpenID",
"ToastUnlinkOpenIdSuccess": "Utente scollegato da OpenID",
"ToastUserDeleteFailed": "Errore eliminazione utente", "ToastUserDeleteFailed": "Errore eliminazione utente",
"ToastUserDeleteSuccess": "Utente eliminato" "ToastUserDeleteSuccess": "Utente eliminato",
"ToastUserPasswordChangeSuccess": "Password modificata con successo",
"ToastUserPasswordMismatch": "Le password non corrispondono",
"ToastUserPasswordMustChange": "La nuova password non può corrispondere alla vecchia password",
"ToastUserRootRequireName": "È necessario immettere un nome utente root"
} }
+32 -11
View File
@@ -19,6 +19,7 @@
"ButtonChooseFiles": "Pasirinkite failus", "ButtonChooseFiles": "Pasirinkite failus",
"ButtonClearFilter": "Valyti filtrą", "ButtonClearFilter": "Valyti filtrą",
"ButtonCloseFeed": "Uždaryti srautą", "ButtonCloseFeed": "Uždaryti srautą",
"ButtonCloseSession": "Uždaryti Atidarytą sesiją",
"ButtonCollections": "Kolekcijos", "ButtonCollections": "Kolekcijos",
"ButtonConfigureScanner": "Konfigūruoti skenerį", "ButtonConfigureScanner": "Konfigūruoti skenerį",
"ButtonCreate": "Kurti", "ButtonCreate": "Kurti",
@@ -28,11 +29,14 @@
"ButtonEdit": "Redaguoti", "ButtonEdit": "Redaguoti",
"ButtonEditChapters": "Redaguoti skyrius", "ButtonEditChapters": "Redaguoti skyrius",
"ButtonEditPodcast": "Redaguoti tinklalaidę", "ButtonEditPodcast": "Redaguoti tinklalaidę",
"ButtonEnable": "Įjungti",
"ButtonForceReScan": "Priverstinai nuskaityti iš naujo", "ButtonForceReScan": "Priverstinai nuskaityti iš naujo",
"ButtonFullPath": "Visas kelias", "ButtonFullPath": "Visas kelias",
"ButtonHide": "Slėpti", "ButtonHide": "Slėpti",
"ButtonHome": "Pradžia", "ButtonHome": "Pradžia",
"ButtonIssues": "Problemos", "ButtonIssues": "Problemos",
"ButtonJumpBackward": "Peršokti atgal",
"ButtonJumpForward": "Peršokti į priekį",
"ButtonLatest": "Naujausias", "ButtonLatest": "Naujausias",
"ButtonLibrary": "Biblioteka", "ButtonLibrary": "Biblioteka",
"ButtonLogout": "Atsijungti", "ButtonLogout": "Atsijungti",
@@ -42,12 +46,19 @@
"ButtonMatchAllAuthors": "Pritaikyti visus autorius", "ButtonMatchAllAuthors": "Pritaikyti visus autorius",
"ButtonMatchBooks": "Pritaikyti knygas", "ButtonMatchBooks": "Pritaikyti knygas",
"ButtonNevermind": "Nesvarbu", "ButtonNevermind": "Nesvarbu",
"ButtonNext": "Kitas",
"ButtonNextChapter": "Kitas Skyrius", "ButtonNextChapter": "Kitas Skyrius",
"ButtonNextItemInQueue": "Kitas eilėje",
"ButtonOk": "Ok",
"ButtonOpenFeed": "Atidaryti srautą", "ButtonOpenFeed": "Atidaryti srautą",
"ButtonOpenManager": "Atidaryti tvarkyklę", "ButtonOpenManager": "Atidaryti tvarkyklę",
"ButtonPause": "Pauzė",
"ButtonPlay": "Groti", "ButtonPlay": "Groti",
"ButtonPlayAll": "Groti Visus",
"ButtonPlaying": "Grojama", "ButtonPlaying": "Grojama",
"ButtonPlaylists": "Grojaraščiai", "ButtonPlaylists": "Grojaraščiai",
"ButtonPrevious": "Praeitas",
"ButtonPreviousChapter": "Praeitas Skyrius",
"ButtonPurgeAllCache": "Valyti visą saugyklą", "ButtonPurgeAllCache": "Valyti visą saugyklą",
"ButtonPurgeItemsCache": "Valyti elementų saugyklą", "ButtonPurgeItemsCache": "Valyti elementų saugyklą",
"ButtonQueueAddItem": "Pridėti į eilę", "ButtonQueueAddItem": "Pridėti į eilę",
@@ -55,6 +66,9 @@
"ButtonQuickMatch": "Greitas pritaikymas", "ButtonQuickMatch": "Greitas pritaikymas",
"ButtonReScan": "Iš naujo nuskaityti", "ButtonReScan": "Iš naujo nuskaityti",
"ButtonRead": "Skaityti", "ButtonRead": "Skaityti",
"ButtonReadLess": "Mažiau",
"ButtonReadMore": "Daugiau",
"ButtonRefresh": "Atnaujinti",
"ButtonRemove": "Pašalinti", "ButtonRemove": "Pašalinti",
"ButtonRemoveAll": "Pašalinti viską", "ButtonRemoveAll": "Pašalinti viską",
"ButtonRemoveAllLibraryItems": "Pašalinti visus bibliotekos elementus", "ButtonRemoveAllLibraryItems": "Pašalinti visus bibliotekos elementus",
@@ -72,12 +86,15 @@
"ButtonSelectFolderPath": "Pasirinkti aplanko kelią", "ButtonSelectFolderPath": "Pasirinkti aplanko kelią",
"ButtonSeries": "Serijos", "ButtonSeries": "Serijos",
"ButtonSetChaptersFromTracks": "Nustatyti skyrius iš takelių", "ButtonSetChaptersFromTracks": "Nustatyti skyrius iš takelių",
"ButtonShare": "Dalintis",
"ButtonShiftTimes": "Perstumti laikus", "ButtonShiftTimes": "Perstumti laikus",
"ButtonShow": "Rodyti", "ButtonShow": "Rodyti",
"ButtonStartM4BEncode": "Pradėti M4B kodavimą", "ButtonStartM4BEncode": "Pradėti M4B kodavimą",
"ButtonStartMetadataEmbed": "Pradėti metaduomenų įterpimą", "ButtonStartMetadataEmbed": "Pradėti metaduomenų įterpimą",
"ButtonStats": "Statistika",
"ButtonSubmit": "Pateikti", "ButtonSubmit": "Pateikti",
"ButtonTest": "Testuoti", "ButtonTest": "Testuoti",
"ButtonUnlinkOpenId": "Atsieti OpenID",
"ButtonUpload": "Įkelti", "ButtonUpload": "Įkelti",
"ButtonUploadBackup": "Įkelti atsarginę kopiją", "ButtonUploadBackup": "Įkelti atsarginę kopiją",
"ButtonUploadCover": "Įkelti viršelį", "ButtonUploadCover": "Įkelti viršelį",
@@ -86,11 +103,15 @@
"ButtonUserEdit": "Redaguoti naudotoją {0}", "ButtonUserEdit": "Redaguoti naudotoją {0}",
"ButtonViewAll": "Peržiūrėti visus", "ButtonViewAll": "Peržiūrėti visus",
"ButtonYes": "Taip", "ButtonYes": "Taip",
"ErrorUploadFetchMetadataAPI": "Klaida gaunant metaduomenis",
"ErrorUploadFetchMetadataNoResults": "Nepavyko gauti metaduomenų - pabandykite atnaujinti pavadinimą ir/ar autorių.",
"ErrorUploadLacksTitle": "Pavadinimas yra privalomas",
"HeaderAccount": "Paskyra", "HeaderAccount": "Paskyra",
"HeaderAdvanced": "Papildomi", "HeaderAdvanced": "Papildomi",
"HeaderAppriseNotificationSettings": "Apprise pranešimo nustatymai", "HeaderAppriseNotificationSettings": "Apprise pranešimo nustatymai",
"HeaderAudioTracks": "Garso takeliai", "HeaderAudioTracks": "Garso takeliai",
"HeaderAudiobookTools": "Audioknygų failų valdymo įrankiai", "HeaderAudiobookTools": "Audioknygų failų valdymo įrankiai",
"HeaderAuthentication": "Autentifikacija",
"HeaderBackups": "Atsarginės kopijos", "HeaderBackups": "Atsarginės kopijos",
"HeaderChangePassword": "Pakeisti slaptažodį", "HeaderChangePassword": "Pakeisti slaptažodį",
"HeaderChapters": "Skyriai", "HeaderChapters": "Skyriai",
@@ -99,6 +120,7 @@
"HeaderCollectionItems": "Kolekcijos elementai", "HeaderCollectionItems": "Kolekcijos elementai",
"HeaderCover": "Viršelis", "HeaderCover": "Viršelis",
"HeaderCurrentDownloads": "Dabartiniai parsisiuntimai", "HeaderCurrentDownloads": "Dabartiniai parsisiuntimai",
"HeaderCustomMessageOnLogin": "Pritaikyta prisijungimo žinutė",
"HeaderDetails": "Detalės", "HeaderDetails": "Detalės",
"HeaderDownloadQueue": "Parsisiuntimo eilė", "HeaderDownloadQueue": "Parsisiuntimo eilė",
"HeaderEbookFiles": "Eknygos failai", "HeaderEbookFiles": "Eknygos failai",
@@ -189,7 +211,7 @@
"LabelBackToUser": "Grįžti į naudotoją", "LabelBackToUser": "Grįžti į naudotoją",
"LabelBackupsEnableAutomaticBackups": "Įjungti automatinį atsarginių kopijų kūrimą", "LabelBackupsEnableAutomaticBackups": "Įjungti automatinį atsarginių kopijų kūrimą",
"LabelBackupsEnableAutomaticBackupsHelp": "Atsarginės kopijos bus išsaugotos /metadata/backups aplanke", "LabelBackupsEnableAutomaticBackupsHelp": "Atsarginės kopijos bus išsaugotos /metadata/backups aplanke",
"LabelBackupsMaxBackupSize": "Maksimalus atsarginių kopijų dydis (GB)", "LabelBackupsMaxBackupSize": "Maksimalus atsarginių kopijų dydis (GB) (0 - neribotai)",
"LabelBackupsMaxBackupSizeHelp": "Jei konfigūruotas dydis viršijamas, atsarginės kopijos nebus sukurtos, kad būtų išvengta klaidingų konfigūracijų.", "LabelBackupsMaxBackupSizeHelp": "Jei konfigūruotas dydis viršijamas, atsarginės kopijos nebus sukurtos, kad būtų išvengta klaidingų konfigūracijų.",
"LabelBackupsNumberToKeep": "Laikytinų atsarginių kopijų skaičius", "LabelBackupsNumberToKeep": "Laikytinų atsarginių kopijų skaičius",
"LabelBackupsNumberToKeepHelp": "Tik viena atsarginė kopija bus pašalinta vienu metu, todėl jei jau turite daugiau atsarginių kopijų nei nurodyta, turite jas pašalinti rankiniu būdu.", "LabelBackupsNumberToKeepHelp": "Tik viena atsarginė kopija bus pašalinta vienu metu, todėl jei jau turite daugiau atsarginių kopijų nei nurodyta, turite jas pašalinti rankiniu būdu.",
@@ -397,7 +419,7 @@
"LabelSettingsExperimentalFeatures": "Eksperimentiniai funkcionalumai", "LabelSettingsExperimentalFeatures": "Eksperimentiniai funkcionalumai",
"LabelSettingsExperimentalFeaturesHelp": "Funkcijos, kurios yra kuriamos ir laukiami jūsų komentarai. Spustelėkite, kad atidarytumėte „GitHub“ diskusiją.", "LabelSettingsExperimentalFeaturesHelp": "Funkcijos, kurios yra kuriamos ir laukiami jūsų komentarai. Spustelėkite, kad atidarytumėte „GitHub“ diskusiją.",
"LabelSettingsFindCovers": "Rasti viršelius", "LabelSettingsFindCovers": "Rasti viršelius",
"LabelSettingsFindCoversHelp": "Jei jūsų audioknyga neturi įterpto viršelio arba viršelio paveikslėlio aplanko, skeneris bandys rasti viršelį.<br>Pastaba: Tai padidins skenavimo trukmę.", "LabelSettingsFindCoversHelp": "Jei jūsų audioknyga neturi įterpto viršelio arba viršelio paveikslėlio aplanke, bandyti rasti viršelį.<br>Pastaba: Tai padidins skenavimo trukmę.",
"LabelSettingsHideSingleBookSeries": "Slėpti serijas, turinčias tik vieną knygą", "LabelSettingsHideSingleBookSeries": "Slėpti serijas, turinčias tik vieną knygą",
"LabelSettingsHideSingleBookSeriesHelp": "Serijos, turinčios tik vieną knygą, bus paslėptos nuo serijų puslapio ir pagrindinio puslapio lentynų.", "LabelSettingsHideSingleBookSeriesHelp": "Serijos, turinčios tik vieną knygą, bus paslėptos nuo serijų puslapio ir pagrindinio puslapio lentynų.",
"LabelSettingsHomePageBookshelfView": "Naudoti pagrindinio puslapio knygų lentynų vaizdą", "LabelSettingsHomePageBookshelfView": "Naudoti pagrindinio puslapio knygų lentynų vaizdą",
@@ -413,7 +435,7 @@
"LabelSettingsSquareBookCovers": "Naudoti kvadratinius knygos viršelius", "LabelSettingsSquareBookCovers": "Naudoti kvadratinius knygos viršelius",
"LabelSettingsSquareBookCoversHelp": "Naudoti kvadratinius viršelius vietoj standartinių 1.6:1 knygų viršelių", "LabelSettingsSquareBookCoversHelp": "Naudoti kvadratinius viršelius vietoj standartinių 1.6:1 knygų viršelių",
"LabelSettingsStoreCoversWithItem": "Saugoti viršelius su elementu", "LabelSettingsStoreCoversWithItem": "Saugoti viršelius su elementu",
"LabelSettingsStoreCoversWithItemHelp": "Pagal nutylėjimą viršeliai saugomi /metadata/items aplanke, įjungus šią parinktį viršeliai bus saugomi jūsų bibliotekos elemento aplanke. Bus išsaugotas tik vienas cover pavadinimo failas.", "LabelSettingsStoreCoversWithItemHelp": "Pagal nutylėjimą viršeliai saugomi /metadata/items aplanke, įjungus šią parinktį viršeliai bus saugomi jūsų bibliotekos elemento aplanke. Bus išsaugotas tik vienas failas su \"cover\" pavadinimu.",
"LabelSettingsStoreMetadataWithItem": "Saugoti metaduomenis su elementu", "LabelSettingsStoreMetadataWithItem": "Saugoti metaduomenis su elementu",
"LabelSettingsStoreMetadataWithItemHelp": "Pagal nutylėjimą metaduomenų failai saugomi /metadata/items aplanke, įjungus šią parinktį metaduomenų failai bus saugomi jūsų bibliotekos elemento aplanke", "LabelSettingsStoreMetadataWithItemHelp": "Pagal nutylėjimą metaduomenų failai saugomi /metadata/items aplanke, įjungus šią parinktį metaduomenų failai bus saugomi jūsų bibliotekos elemento aplanke",
"LabelSettingsTimeFormat": "Laiko formatas", "LabelSettingsTimeFormat": "Laiko formatas",
@@ -622,10 +644,8 @@
"PlaceholderNewPlaylist": "Naujas grojaraščio pavadinimas", "PlaceholderNewPlaylist": "Naujas grojaraščio pavadinimas",
"PlaceholderSearch": "Ieškoti..", "PlaceholderSearch": "Ieškoti..",
"PlaceholderSearchEpisode": "Ieškoti epizodo..", "PlaceholderSearchEpisode": "Ieškoti epizodo..",
"ToastAccountUpdateFailed": "Paskyros atnaujinimas nepavyko",
"ToastAccountUpdateSuccess": "Paskyra atnaujinta", "ToastAccountUpdateSuccess": "Paskyra atnaujinta",
"ToastAuthorImageRemoveSuccess": "Autoriaus paveiksliukas pašalintas", "ToastAuthorImageRemoveSuccess": "Autoriaus paveiksliukas pašalintas",
"ToastAuthorUpdateFailed": "Nepavyko atnaujinti autoriaus",
"ToastAuthorUpdateMerged": "Autorius sujungtas", "ToastAuthorUpdateMerged": "Autorius sujungtas",
"ToastAuthorUpdateSuccess": "Autorius atnaujintas", "ToastAuthorUpdateSuccess": "Autorius atnaujintas",
"ToastAuthorUpdateSuccessNoImageFound": "Autorius atnaujintas (paveiksliukas nerastas)", "ToastAuthorUpdateSuccessNoImageFound": "Autorius atnaujintas (paveiksliukas nerastas)",
@@ -641,17 +661,20 @@
"ToastBookmarkCreateFailed": "Žymos sukurti nepavyko", "ToastBookmarkCreateFailed": "Žymos sukurti nepavyko",
"ToastBookmarkCreateSuccess": "Žyma pridėta", "ToastBookmarkCreateSuccess": "Žyma pridėta",
"ToastBookmarkRemoveSuccess": "Žyma pašalinta", "ToastBookmarkRemoveSuccess": "Žyma pašalinta",
"ToastBookmarkUpdateFailed": "Žymos atnaujinti nepavyko",
"ToastBookmarkUpdateSuccess": "Žyma atnaujinta", "ToastBookmarkUpdateSuccess": "Žyma atnaujinta",
"ToastChaptersHaveErrors": "Skyriai turi klaidų", "ToastChaptersHaveErrors": "Skyriai turi klaidų",
"ToastChaptersMustHaveTitles": "Skyriai turi turėti pavadinimus", "ToastChaptersMustHaveTitles": "Skyriai turi turėti pavadinimus",
"ToastChaptersRemoved": "Skyriai pašalinti",
"ToastCollectionItemsAddFailed": "Nepavyko pridėti į kolekciją",
"ToastCollectionItemsAddSuccess": "Pridėta į kolekciją",
"ToastCollectionItemsRemoveSuccess": "Elementai pašalinti iš kolekcijos", "ToastCollectionItemsRemoveSuccess": "Elementai pašalinti iš kolekcijos",
"ToastCollectionRemoveSuccess": "Kolekcija pašalinta", "ToastCollectionRemoveSuccess": "Kolekcija pašalinta",
"ToastCollectionUpdateFailed": "Kolekcijos atnaujinti nepavyko",
"ToastCollectionUpdateSuccess": "Kolekcija atnaujinta", "ToastCollectionUpdateSuccess": "Kolekcija atnaujinta",
"ToastItemCoverUpdateFailed": "Elemento viršelio atnaujinti nepavyko", "ToastCoverUpdateFailed": "Viršelio atnaujinimas nepavyko",
"ToastDeviceTestEmailSuccess": "Bandomasis el. laiškas išsiųstas",
"ToastItemCoverUpdateSuccess": "Elemento viršelis atnaujintas", "ToastItemCoverUpdateSuccess": "Elemento viršelis atnaujintas",
"ToastItemDetailsUpdateFailed": "Elemento detalių atnaujinti nepavyko", "ToastItemDeletedFailed": "Nepavyko ištrinti",
"ToastItemDeletedSuccess": "Ištrinta",
"ToastItemDetailsUpdateSuccess": "Elemento detalės atnaujintos", "ToastItemDetailsUpdateSuccess": "Elemento detalės atnaujintos",
"ToastItemMarkedAsFinishedFailed": "Pažymėti kaip Baigta nepavyko", "ToastItemMarkedAsFinishedFailed": "Pažymėti kaip Baigta nepavyko",
"ToastItemMarkedAsFinishedSuccess": "Elementas pažymėtas kaip Baigta", "ToastItemMarkedAsFinishedSuccess": "Elementas pažymėtas kaip Baigta",
@@ -663,12 +686,10 @@
"ToastLibraryDeleteSuccess": "Biblioteka ištrinta", "ToastLibraryDeleteSuccess": "Biblioteka ištrinta",
"ToastLibraryScanFailedToStart": "Nepavyko pradėti bibliotekos skenavimo", "ToastLibraryScanFailedToStart": "Nepavyko pradėti bibliotekos skenavimo",
"ToastLibraryScanStarted": "Bibliotekos skenavimas pradėtas", "ToastLibraryScanStarted": "Bibliotekos skenavimas pradėtas",
"ToastLibraryUpdateFailed": "Bibliotekos atnaujinti nepavyko",
"ToastLibraryUpdateSuccess": "Biblioteka \"{0}\" atnaujinta", "ToastLibraryUpdateSuccess": "Biblioteka \"{0}\" atnaujinta",
"ToastPlaylistCreateFailed": "Grojaraščio sukurti nepavyko", "ToastPlaylistCreateFailed": "Grojaraščio sukurti nepavyko",
"ToastPlaylistCreateSuccess": "Grojaraštis sukurtas", "ToastPlaylistCreateSuccess": "Grojaraštis sukurtas",
"ToastPlaylistRemoveSuccess": "Grojaraštis pašalintas", "ToastPlaylistRemoveSuccess": "Grojaraštis pašalintas",
"ToastPlaylistUpdateFailed": "Grojaraščio atnaujinti nepavyko",
"ToastPlaylistUpdateSuccess": "Grojaraštis atnaujintas", "ToastPlaylistUpdateSuccess": "Grojaraštis atnaujintas",
"ToastPodcastCreateFailed": "Tinklalaidės sukurti nepavyko", "ToastPodcastCreateFailed": "Tinklalaidės sukurti nepavyko",
"ToastPodcastCreateSuccess": "Tinklalaidė sėkmingai sukurta", "ToastPodcastCreateSuccess": "Tinklalaidė sėkmingai sukurta",
+45 -20
View File
@@ -19,6 +19,7 @@
"ButtonChooseFiles": "Bestanden kiezen", "ButtonChooseFiles": "Bestanden kiezen",
"ButtonClearFilter": "Filter verwijderen", "ButtonClearFilter": "Filter verwijderen",
"ButtonCloseFeed": "Feed sluiten", "ButtonCloseFeed": "Feed sluiten",
"ButtonCloseSession": "Sluit Sessie",
"ButtonCollections": "Collecties", "ButtonCollections": "Collecties",
"ButtonConfigureScanner": "Configureer scanner", "ButtonConfigureScanner": "Configureer scanner",
"ButtonCreate": "Creëer", "ButtonCreate": "Creëer",
@@ -28,9 +29,11 @@
"ButtonEdit": "Wijzig", "ButtonEdit": "Wijzig",
"ButtonEditChapters": "Hoofdstukken wijzigen", "ButtonEditChapters": "Hoofdstukken wijzigen",
"ButtonEditPodcast": "Podcast wijzigen", "ButtonEditPodcast": "Podcast wijzigen",
"ButtonEnable": "Aanzetten",
"ButtonForceReScan": "Forceer nieuwe scan", "ButtonForceReScan": "Forceer nieuwe scan",
"ButtonFullPath": "Volledig pad", "ButtonFullPath": "Volledig pad",
"ButtonHide": "Verberg", "ButtonHide": "Verberg",
"ButtonHome": "Thuis",
"ButtonIssues": "Problemen", "ButtonIssues": "Problemen",
"ButtonJumpBackward": "Spring achteruit", "ButtonJumpBackward": "Spring achteruit",
"ButtonJumpForward": "Spring vooruit", "ButtonJumpForward": "Spring vooruit",
@@ -45,18 +48,23 @@
"ButtonNevermind": "Laat maar", "ButtonNevermind": "Laat maar",
"ButtonNext": "Volgende", "ButtonNext": "Volgende",
"ButtonNextChapter": "Volgend hoofdstuk", "ButtonNextChapter": "Volgend hoofdstuk",
"ButtonNextItemInQueue": "Volgend Item in Wachtrij",
"ButtonOk": "Ok",
"ButtonOpenFeed": "Feed openen", "ButtonOpenFeed": "Feed openen",
"ButtonOpenManager": "Manager openen", "ButtonOpenManager": "Manager openen",
"ButtonPause": "Pauze", "ButtonPause": "Pauze",
"ButtonPlay": "Afspelen", "ButtonPlay": "Afspelen",
"ButtonPlayAll": "Alles Afspelen",
"ButtonPlaying": "Speelt", "ButtonPlaying": "Speelt",
"ButtonPlaylists": "Afspeellijsten", "ButtonPlaylists": "Afspeellijsten",
"ButtonPrevious": "Vorige", "ButtonPrevious": "Vorige",
"ButtonPreviousChapter": "Vorig hoofdstuk", "ButtonPreviousChapter": "Vorig hoofdstuk",
"ButtonProbeAudioFile": "Onderzoek Audio Bestand",
"ButtonPurgeAllCache": "Volledige cache legen", "ButtonPurgeAllCache": "Volledige cache legen",
"ButtonPurgeItemsCache": "Onderdelen-cache legen", "ButtonPurgeItemsCache": "Onderdelen-cache legen",
"ButtonQueueAddItem": "In wachtrij zetten", "ButtonQueueAddItem": "In wachtrij zetten",
"ButtonQueueRemoveItem": "Uit wachtrij verwijderen", "ButtonQueueRemoveItem": "Uit wachtrij verwijderen",
"ButtonQuickEmbed": "Snel Embedden",
"ButtonQuickMatch": "Snelle match", "ButtonQuickMatch": "Snelle match",
"ButtonReScan": "Nieuwe scan", "ButtonReScan": "Nieuwe scan",
"ButtonRead": "Lees", "ButtonRead": "Lees",
@@ -69,20 +77,26 @@
"ButtonRemoveFromContinueListening": "Vewijder uit Verder luisteren", "ButtonRemoveFromContinueListening": "Vewijder uit Verder luisteren",
"ButtonRemoveFromContinueReading": "Verwijder van Verder luisteren", "ButtonRemoveFromContinueReading": "Verwijder van Verder luisteren",
"ButtonRemoveSeriesFromContinueSeries": "Verwijder serie uit Serie vervolgen", "ButtonRemoveSeriesFromContinueSeries": "Verwijder serie uit Serie vervolgen",
"ButtonReset": "Opnieuw Instellen",
"ButtonResetToDefault": "Standaardwaarden Terugzetten",
"ButtonRestore": "Herstel", "ButtonRestore": "Herstel",
"ButtonSave": "Opslaan", "ButtonSave": "Opslaan",
"ButtonSaveAndClose": "Opslaan & sluiten", "ButtonSaveAndClose": "Opslaan & sluiten",
"ButtonSaveTracklist": "Afspeellijst opslaan", "ButtonSaveTracklist": "Afspeellijst opslaan",
"ButtonScan": "Scannen",
"ButtonScanLibrary": "Scan bibliotheek", "ButtonScanLibrary": "Scan bibliotheek",
"ButtonSearch": "Zoeken", "ButtonSearch": "Zoeken",
"ButtonSelectFolderPath": "Maplocatie selecteren", "ButtonSelectFolderPath": "Maplocatie selecteren",
"ButtonSeries": "Series",
"ButtonSetChaptersFromTracks": "Maak hoofdstukken op basis van tracks", "ButtonSetChaptersFromTracks": "Maak hoofdstukken op basis van tracks",
"ButtonShare": "Deel", "ButtonShare": "Deel",
"ButtonShiftTimes": "Tijden verschuiven", "ButtonShiftTimes": "Tijden verschuiven",
"ButtonShow": "Toon", "ButtonShow": "Toon",
"ButtonStartM4BEncode": "Start M4B-encoding", "ButtonStartM4BEncode": "Start M4B-encoding",
"ButtonStartMetadataEmbed": "Start insluiten metadata", "ButtonStartMetadataEmbed": "Start insluiten metadata",
"ButtonStats": "Statistieken",
"ButtonSubmit": "Indienen", "ButtonSubmit": "Indienen",
"ButtonTest": "Testen",
"ButtonUploadBackup": "Upload back-up", "ButtonUploadBackup": "Upload back-up",
"ButtonUploadCover": "Upload cover", "ButtonUploadCover": "Upload cover",
"ButtonUploadOPMLFile": "Upload OPML-bestand", "ButtonUploadOPMLFile": "Upload OPML-bestand",
@@ -93,6 +107,7 @@
"ErrorUploadFetchMetadataAPI": "Error metadata ophalen", "ErrorUploadFetchMetadataAPI": "Error metadata ophalen",
"ErrorUploadFetchMetadataNoResults": "Kan metadata niet ophalen - probeer de titel en/of auteur te updaten", "ErrorUploadFetchMetadataNoResults": "Kan metadata niet ophalen - probeer de titel en/of auteur te updaten",
"ErrorUploadLacksTitle": "Moet een titel hebben", "ErrorUploadLacksTitle": "Moet een titel hebben",
"HeaderAccount": "Account",
"HeaderAdvanced": "Geavanceerd", "HeaderAdvanced": "Geavanceerd",
"HeaderAppriseNotificationSettings": "Apprise-notificatie instellingen", "HeaderAppriseNotificationSettings": "Apprise-notificatie instellingen",
"HeaderAudioTracks": "Audiotracks", "HeaderAudioTracks": "Audiotracks",
@@ -105,6 +120,7 @@
"HeaderCollectionItems": "Collectie-objecten", "HeaderCollectionItems": "Collectie-objecten",
"HeaderCover": "Omslag", "HeaderCover": "Omslag",
"HeaderCurrentDownloads": "Huidige downloads", "HeaderCurrentDownloads": "Huidige downloads",
"HeaderDetails": "Details",
"HeaderDownloadQueue": "Download-wachtrij", "HeaderDownloadQueue": "Download-wachtrij",
"HeaderEbookFiles": "Ebook bestanden", "HeaderEbookFiles": "Ebook bestanden",
"HeaderEmail": "E-mail", "HeaderEmail": "E-mail",
@@ -207,9 +223,9 @@
"LabelCollections": "Collecties", "LabelCollections": "Collecties",
"LabelComplete": "Compleet", "LabelComplete": "Compleet",
"LabelConfirmPassword": "Bevestig wachtwoord", "LabelConfirmPassword": "Bevestig wachtwoord",
"LabelContinueListening": "Verder luisteren", "LabelContinueListening": "Verder Luisteren",
"LabelContinueReading": "Verder luisteren", "LabelContinueReading": "Verder lezen",
"LabelContinueSeries": "Ga verder met serie", "LabelContinueSeries": "Doorgaan met Serie",
"LabelCoverImageURL": "Coverafbeelding URL", "LabelCoverImageURL": "Coverafbeelding URL",
"LabelCreatedAt": "Gecreëerd op", "LabelCreatedAt": "Gecreëerd op",
"LabelCronExpression": "Cron-uitdrukking", "LabelCronExpression": "Cron-uitdrukking",
@@ -225,9 +241,12 @@
"LabelDirectory": "Map", "LabelDirectory": "Map",
"LabelDiscFromFilename": "Schijf uit bestandsnaam", "LabelDiscFromFilename": "Schijf uit bestandsnaam",
"LabelDiscFromMetadata": "Schijf uit metadata", "LabelDiscFromMetadata": "Schijf uit metadata",
"LabelDiscover": "Ontdek", "LabelDiscover": "Ontdekken",
"LabelDownload": "Download",
"LabelDuration": "Duur", "LabelDuration": "Duur",
"LabelDurationFound": "Gevonden duur:", "LabelDurationFound": "Gevonden duur:",
"LabelEbook": "Ebook",
"LabelEbooks": "Eboeken",
"LabelEdit": "Wijzig", "LabelEdit": "Wijzig",
"LabelEmailSettingsFromAddress": "Van-adres", "LabelEmailSettingsFromAddress": "Van-adres",
"LabelEmailSettingsSecure": "Veilig", "LabelEmailSettingsSecure": "Veilig",
@@ -236,11 +255,13 @@
"LabelEmbeddedCover": "Ingesloten cover", "LabelEmbeddedCover": "Ingesloten cover",
"LabelEnable": "Inschakelen", "LabelEnable": "Inschakelen",
"LabelEnd": "Einde", "LabelEnd": "Einde",
"LabelEndOfChapter": "Einde van het Hoofdstuk",
"LabelEpisode": "Aflevering", "LabelEpisode": "Aflevering",
"LabelEpisodeTitle": "Afleveringtitel", "LabelEpisodeTitle": "Afleveringtitel",
"LabelEpisodeType": "Afleveringtype", "LabelEpisodeType": "Afleveringtype",
"LabelExample": "Voorbeeld", "LabelExample": "Voorbeeld",
"LabelExplicit": "Expliciet", "LabelExplicit": "Expliciet",
"LabelFeedURL": "Feed URL",
"LabelFetchingMetadata": "Metadata ophalen", "LabelFetchingMetadata": "Metadata ophalen",
"LabelFile": "Bestand", "LabelFile": "Bestand",
"LabelFileBirthtime": "Aanmaaktijd bestand", "LabelFileBirthtime": "Aanmaaktijd bestand",
@@ -252,12 +273,16 @@
"LabelFolder": "Map", "LabelFolder": "Map",
"LabelFolders": "Mappen", "LabelFolders": "Mappen",
"LabelFontBold": "Vetgedrukt", "LabelFontBold": "Vetgedrukt",
"LabelFontBoldness": "Font Boldness",
"LabelFontFamily": "Lettertypefamilie", "LabelFontFamily": "Lettertypefamilie",
"LabelFontScale": "Lettertype schaal", "LabelFontScale": "Lettertype schaal",
"LabelFormat": "Formaat", "LabelFormat": "Formaat",
"LabelGenre": "Genre",
"LabelGenres": "Genres",
"LabelHardDeleteFile": "Hard-delete bestand", "LabelHardDeleteFile": "Hard-delete bestand",
"LabelHasEbook": "Heeft ebook", "LabelHasEbook": "Heeft Ebook",
"LabelHasSupplementaryEbook": "Heeft supplementair ebook", "LabelHasSupplementaryEbook": "Heeft aanvullend Ebook",
"LabelHost": "Host",
"LabelHour": "Uur", "LabelHour": "Uur",
"LabelHours": "Uren", "LabelHours": "Uren",
"LabelIcon": "Icoon", "LabelIcon": "Icoon",
@@ -281,6 +306,7 @@
"LabelLastSeen": "Laatst gezien", "LabelLastSeen": "Laatst gezien",
"LabelLastTime": "Laatste keer", "LabelLastTime": "Laatste keer",
"LabelLastUpdate": "Laatste update", "LabelLastUpdate": "Laatste update",
"LabelLayout": "Layout",
"LabelLayoutSinglePage": "Enkele pagina", "LabelLayoutSinglePage": "Enkele pagina",
"LabelLayoutSplitPage": "Gesplitste pagina", "LabelLayoutSplitPage": "Gesplitste pagina",
"LabelLess": "Minder", "LabelLess": "Minder",
@@ -290,7 +316,7 @@
"LabelLibraryName": "Bibliotheeknaam", "LabelLibraryName": "Bibliotheeknaam",
"LabelLimit": "Limiet", "LabelLimit": "Limiet",
"LabelLineSpacing": "Regelruimte", "LabelLineSpacing": "Regelruimte",
"LabelListenAgain": "Luister opnieuw", "LabelListenAgain": "Opnieuw Beluisteren",
"LabelLogLevelWarn": "Waarschuwing", "LabelLogLevelWarn": "Waarschuwing",
"LabelLookForNewEpisodesAfterDate": "Zoek naar nieuwe afleveringen na deze datum", "LabelLookForNewEpisodesAfterDate": "Zoek naar nieuwe afleveringen na deze datum",
"LabelMediaPlayer": "Mediaspeler", "LabelMediaPlayer": "Mediaspeler",
@@ -307,8 +333,8 @@
"LabelNarrators": "Vertellers", "LabelNarrators": "Vertellers",
"LabelNew": "Nieuw", "LabelNew": "Nieuw",
"LabelNewPassword": "Nieuw wachtwoord", "LabelNewPassword": "Nieuw wachtwoord",
"LabelNewestAuthors": "Nieuwste auteurs", "LabelNewestAuthors": "Nieuwste Auteurs",
"LabelNewestEpisodes": "Nieuwste afleveringen", "LabelNewestEpisodes": "Nieuwste Afleveringen",
"LabelNextBackupDate": "Volgende back-up datum", "LabelNextBackupDate": "Volgende back-up datum",
"LabelNextScheduledRun": "Volgende geplande run", "LabelNextScheduledRun": "Volgende geplande run",
"LabelNoEpisodesSelected": "Geen afleveringen geselecteerd", "LabelNoEpisodesSelected": "Geen afleveringen geselecteerd",
@@ -339,6 +365,7 @@
"LabelPhotoPathURL": "Foto pad/URL", "LabelPhotoPathURL": "Foto pad/URL",
"LabelPlayMethod": "Afspeelwijze", "LabelPlayMethod": "Afspeelwijze",
"LabelPlaylists": "Afspeellijsten", "LabelPlaylists": "Afspeellijsten",
"LabelPodcast": "Podcast",
"LabelPodcastSearchRegion": "Podcast zoekregio", "LabelPodcastSearchRegion": "Podcast zoekregio",
"LabelPodcastType": "Podcasttype", "LabelPodcastType": "Podcasttype",
"LabelPort": "Poort", "LabelPort": "Poort",
@@ -356,11 +383,12 @@
"LabelRSSFeedPreventIndexing": "Voorkom indexering", "LabelRSSFeedPreventIndexing": "Voorkom indexering",
"LabelRSSFeedSlug": "RSS-feed slug", "LabelRSSFeedSlug": "RSS-feed slug",
"LabelRSSFeedURL": "RSS-feed URL", "LabelRSSFeedURL": "RSS-feed URL",
"LabelRandomly": "Willekeurig",
"LabelRead": "Lees", "LabelRead": "Lees",
"LabelReadAgain": "Lees opnieuw", "LabelReadAgain": "Opnieuw Lezen",
"LabelReadEbookWithoutProgress": "Lees ebook zonder voortgang bij te houden", "LabelReadEbookWithoutProgress": "Lees ebook zonder voortgang bij te houden",
"LabelRecentSeries": "Recente series", "LabelRecentSeries": "Recente Serie",
"LabelRecentlyAdded": "Recent toegevoegd", "LabelRecentlyAdded": "Recent Toegevoegd",
"LabelRecommended": "Aangeraden", "LabelRecommended": "Aangeraden",
"LabelRegion": "Regio", "LabelRegion": "Regio",
"LabelReleaseDate": "Verschijningsdatum", "LabelReleaseDate": "Verschijningsdatum",
@@ -414,6 +442,7 @@
"LabelShowAll": "Toon alle", "LabelShowAll": "Toon alle",
"LabelSize": "Grootte", "LabelSize": "Grootte",
"LabelSleepTimer": "Slaaptimer", "LabelSleepTimer": "Slaaptimer",
"LabelStart": "Start",
"LabelStartTime": "Starttijd", "LabelStartTime": "Starttijd",
"LabelStarted": "Gestart", "LabelStarted": "Gestart",
"LabelStartedAt": "Gestart op", "LabelStartedAt": "Gestart op",
@@ -434,6 +463,8 @@
"LabelStatsWeekListening": "Week luisterend", "LabelStatsWeekListening": "Week luisterend",
"LabelSubtitle": "Subtitel", "LabelSubtitle": "Subtitel",
"LabelSupportedFileTypes": "Ondersteunde bestandstypes", "LabelSupportedFileTypes": "Ondersteunde bestandstypes",
"LabelTag": "Tag",
"LabelTags": "Tags",
"LabelTagsAccessibleToUser": "Tags toegankelijk voor de gebruiker", "LabelTagsAccessibleToUser": "Tags toegankelijk voor de gebruiker",
"LabelTagsNotAccessibleToUser": "Tags niet toegankelijk voor de gebruiker", "LabelTagsNotAccessibleToUser": "Tags niet toegankelijk voor de gebruiker",
"LabelTasks": "Lopende taken", "LabelTasks": "Lopende taken",
@@ -456,8 +487,10 @@
"LabelTotalTimeListened": "Totale tijd geluisterd", "LabelTotalTimeListened": "Totale tijd geluisterd",
"LabelTrackFromFilename": "Track vanuit bestandsnaam", "LabelTrackFromFilename": "Track vanuit bestandsnaam",
"LabelTrackFromMetadata": "Track vanuit metadata", "LabelTrackFromMetadata": "Track vanuit metadata",
"LabelTracks": "Audiosporen",
"LabelTracksNone": "Geen tracks", "LabelTracksNone": "Geen tracks",
"LabelTracksSingleTrack": "Enkele track", "LabelTracksSingleTrack": "Enkele track",
"LabelType": "Type",
"LabelUnabridged": "Onverkort", "LabelUnabridged": "Onverkort",
"LabelUndo": "Ongedaan maken", "LabelUndo": "Ongedaan maken",
"LabelUnknown": "Onbekend", "LabelUnknown": "Onbekend",
@@ -614,10 +647,8 @@
"PlaceholderNewPlaylist": "Nieuwe naam afspeellijst", "PlaceholderNewPlaylist": "Nieuwe naam afspeellijst",
"PlaceholderSearch": "Zoeken..", "PlaceholderSearch": "Zoeken..",
"PlaceholderSearchEpisode": "Aflevering zoeken..", "PlaceholderSearchEpisode": "Aflevering zoeken..",
"ToastAccountUpdateFailed": "Bijwerken account mislukt",
"ToastAccountUpdateSuccess": "Account bijgewerkt", "ToastAccountUpdateSuccess": "Account bijgewerkt",
"ToastAuthorImageRemoveSuccess": "Afbeelding auteur verwijderd", "ToastAuthorImageRemoveSuccess": "Afbeelding auteur verwijderd",
"ToastAuthorUpdateFailed": "Bijwerken auteur mislukt",
"ToastAuthorUpdateMerged": "Auteur samengevoegd", "ToastAuthorUpdateMerged": "Auteur samengevoegd",
"ToastAuthorUpdateSuccess": "Auteur bijgewerkt", "ToastAuthorUpdateSuccess": "Auteur bijgewerkt",
"ToastAuthorUpdateSuccessNoImageFound": "Auteur bijgewerkt (geen afbeelding gevonden)", "ToastAuthorUpdateSuccessNoImageFound": "Auteur bijgewerkt (geen afbeelding gevonden)",
@@ -633,17 +664,13 @@
"ToastBookmarkCreateFailed": "Aanmaken boekwijzer mislukt", "ToastBookmarkCreateFailed": "Aanmaken boekwijzer mislukt",
"ToastBookmarkCreateSuccess": "boekwijzer toegevoegd", "ToastBookmarkCreateSuccess": "boekwijzer toegevoegd",
"ToastBookmarkRemoveSuccess": "Boekwijzer verwijderd", "ToastBookmarkRemoveSuccess": "Boekwijzer verwijderd",
"ToastBookmarkUpdateFailed": "Bijwerken boekwijzer mislukt",
"ToastBookmarkUpdateSuccess": "Boekwijzer bijgewerkt", "ToastBookmarkUpdateSuccess": "Boekwijzer bijgewerkt",
"ToastChaptersHaveErrors": "Hoofdstukken bevatten fouten", "ToastChaptersHaveErrors": "Hoofdstukken bevatten fouten",
"ToastChaptersMustHaveTitles": "Hoofdstukken moeten titels hebben", "ToastChaptersMustHaveTitles": "Hoofdstukken moeten titels hebben",
"ToastCollectionItemsRemoveSuccess": "Onderdeel (of onderdelen) verwijderd uit collectie", "ToastCollectionItemsRemoveSuccess": "Onderdeel (of onderdelen) verwijderd uit collectie",
"ToastCollectionRemoveSuccess": "Collectie verwijderd", "ToastCollectionRemoveSuccess": "Collectie verwijderd",
"ToastCollectionUpdateFailed": "Bijwerken collectie mislukt",
"ToastCollectionUpdateSuccess": "Collectie bijgewerkt", "ToastCollectionUpdateSuccess": "Collectie bijgewerkt",
"ToastItemCoverUpdateFailed": "Bijwerken cover onderdeel mislukt",
"ToastItemCoverUpdateSuccess": "Cover onderdeel bijgewerkt", "ToastItemCoverUpdateSuccess": "Cover onderdeel bijgewerkt",
"ToastItemDetailsUpdateFailed": "Bijwerken details onderdeel mislukt",
"ToastItemDetailsUpdateSuccess": "Details onderdeel bijgewerkt", "ToastItemDetailsUpdateSuccess": "Details onderdeel bijgewerkt",
"ToastItemMarkedAsFinishedFailed": "Markeren als Voltooid mislukt", "ToastItemMarkedAsFinishedFailed": "Markeren als Voltooid mislukt",
"ToastItemMarkedAsFinishedSuccess": "Onderdeel gemarkeerd als Voltooid", "ToastItemMarkedAsFinishedSuccess": "Onderdeel gemarkeerd als Voltooid",
@@ -655,12 +682,10 @@
"ToastLibraryDeleteSuccess": "Bibliotheek verwijderd", "ToastLibraryDeleteSuccess": "Bibliotheek verwijderd",
"ToastLibraryScanFailedToStart": "Starten scan mislukt", "ToastLibraryScanFailedToStart": "Starten scan mislukt",
"ToastLibraryScanStarted": "Scannen bibliotheek gestart", "ToastLibraryScanStarted": "Scannen bibliotheek gestart",
"ToastLibraryUpdateFailed": "Bijwerken bibliotheek mislukt",
"ToastLibraryUpdateSuccess": "Bibliotheek \"{0}\" bijgewerkt", "ToastLibraryUpdateSuccess": "Bibliotheek \"{0}\" bijgewerkt",
"ToastPlaylistCreateFailed": "Aanmaken afspeellijst mislukt", "ToastPlaylistCreateFailed": "Aanmaken afspeellijst mislukt",
"ToastPlaylistCreateSuccess": "Afspeellijst aangemaakt", "ToastPlaylistCreateSuccess": "Afspeellijst aangemaakt",
"ToastPlaylistRemoveSuccess": "Afspeellijst verwijderd", "ToastPlaylistRemoveSuccess": "Afspeellijst verwijderd",
"ToastPlaylistUpdateFailed": "Afspeellijst bijwerken mislukt",
"ToastPlaylistUpdateSuccess": "Afspeellijst bijgewerkt", "ToastPlaylistUpdateSuccess": "Afspeellijst bijgewerkt",
"ToastPodcastCreateFailed": "Podcast aanmaken mislukt", "ToastPodcastCreateFailed": "Podcast aanmaken mislukt",
"ToastPodcastCreateSuccess": "Podcast aangemaakt", "ToastPodcastCreateSuccess": "Podcast aangemaakt",
-8
View File
@@ -641,10 +641,8 @@
"PlaceholderNewPlaylist": "Ny spillelistenavn", "PlaceholderNewPlaylist": "Ny spillelistenavn",
"PlaceholderSearch": "Søk..", "PlaceholderSearch": "Søk..",
"PlaceholderSearchEpisode": "Søk episode..", "PlaceholderSearchEpisode": "Søk episode..",
"ToastAccountUpdateFailed": "Mislykkes å oppdatere konto",
"ToastAccountUpdateSuccess": "Konto oppdatert", "ToastAccountUpdateSuccess": "Konto oppdatert",
"ToastAuthorImageRemoveSuccess": "Forfatter bilde fjernet", "ToastAuthorImageRemoveSuccess": "Forfatter bilde fjernet",
"ToastAuthorUpdateFailed": "Mislykkes å oppdatere forfatter",
"ToastAuthorUpdateMerged": "Forfatter slått sammen", "ToastAuthorUpdateMerged": "Forfatter slått sammen",
"ToastAuthorUpdateSuccess": "Forfatter oppdatert", "ToastAuthorUpdateSuccess": "Forfatter oppdatert",
"ToastAuthorUpdateSuccessNoImageFound": "Forfatter oppdater (ingen bilde funnet)", "ToastAuthorUpdateSuccessNoImageFound": "Forfatter oppdater (ingen bilde funnet)",
@@ -660,17 +658,13 @@
"ToastBookmarkCreateFailed": "Misslykkes å opprette bokmerke", "ToastBookmarkCreateFailed": "Misslykkes å opprette bokmerke",
"ToastBookmarkCreateSuccess": "Bokmerke lagt til", "ToastBookmarkCreateSuccess": "Bokmerke lagt til",
"ToastBookmarkRemoveSuccess": "Bokmerke fjernet", "ToastBookmarkRemoveSuccess": "Bokmerke fjernet",
"ToastBookmarkUpdateFailed": "Misslykkes å oppdatere bokmerke",
"ToastBookmarkUpdateSuccess": "Bokmerke oppdatert", "ToastBookmarkUpdateSuccess": "Bokmerke oppdatert",
"ToastChaptersHaveErrors": "Kapittel har feil", "ToastChaptersHaveErrors": "Kapittel har feil",
"ToastChaptersMustHaveTitles": "Kapittel må ha titler", "ToastChaptersMustHaveTitles": "Kapittel må ha titler",
"ToastCollectionItemsRemoveSuccess": "Gjenstand(er) fjernet fra samling", "ToastCollectionItemsRemoveSuccess": "Gjenstand(er) fjernet fra samling",
"ToastCollectionRemoveSuccess": "Samling fjernet", "ToastCollectionRemoveSuccess": "Samling fjernet",
"ToastCollectionUpdateFailed": "Misslykkes å oppdatere samling",
"ToastCollectionUpdateSuccess": "samlingupdated", "ToastCollectionUpdateSuccess": "samlingupdated",
"ToastItemCoverUpdateFailed": "Misslykkes å oppdatere omslag",
"ToastItemCoverUpdateSuccess": "Omslag oppdatert", "ToastItemCoverUpdateSuccess": "Omslag oppdatert",
"ToastItemDetailsUpdateFailed": "Misslykkes å oppdatere detaljer",
"ToastItemDetailsUpdateSuccess": "Detaljer oppdatert", "ToastItemDetailsUpdateSuccess": "Detaljer oppdatert",
"ToastItemMarkedAsFinishedFailed": "Misslykkes å markere som Fullført", "ToastItemMarkedAsFinishedFailed": "Misslykkes å markere som Fullført",
"ToastItemMarkedAsFinishedSuccess": "Gjenstand marker som Fullført", "ToastItemMarkedAsFinishedSuccess": "Gjenstand marker som Fullført",
@@ -682,12 +676,10 @@
"ToastLibraryDeleteSuccess": "Bibliotek slettet", "ToastLibraryDeleteSuccess": "Bibliotek slettet",
"ToastLibraryScanFailedToStart": "Misslykkes å starte skann", "ToastLibraryScanFailedToStart": "Misslykkes å starte skann",
"ToastLibraryScanStarted": "Bibliotek skann startet", "ToastLibraryScanStarted": "Bibliotek skann startet",
"ToastLibraryUpdateFailed": "Misslykkes å oppdatere bibiliotek",
"ToastLibraryUpdateSuccess": "Bibliotek \"{0}\" oppdatert", "ToastLibraryUpdateSuccess": "Bibliotek \"{0}\" oppdatert",
"ToastPlaylistCreateFailed": "Misslykkes å opprette spilleliste", "ToastPlaylistCreateFailed": "Misslykkes å opprette spilleliste",
"ToastPlaylistCreateSuccess": "Spilleliste opprettet", "ToastPlaylistCreateSuccess": "Spilleliste opprettet",
"ToastPlaylistRemoveSuccess": "Spilleliste fjernet", "ToastPlaylistRemoveSuccess": "Spilleliste fjernet",
"ToastPlaylistUpdateFailed": "Misslykkes å oppdatere spilleliste",
"ToastPlaylistUpdateSuccess": "Spilleliste oppdatert", "ToastPlaylistUpdateSuccess": "Spilleliste oppdatert",
"ToastPodcastCreateFailed": "Misslykkes å opprette podcast", "ToastPodcastCreateFailed": "Misslykkes å opprette podcast",
"ToastPodcastCreateSuccess": "Podcast opprettet", "ToastPodcastCreateSuccess": "Podcast opprettet",
+7 -11
View File
@@ -54,10 +54,12 @@
"ButtonOpenManager": "Otwórz menadżera", "ButtonOpenManager": "Otwórz menadżera",
"ButtonPause": "Wstrzymaj", "ButtonPause": "Wstrzymaj",
"ButtonPlay": "Odtwarzaj", "ButtonPlay": "Odtwarzaj",
"ButtonPlayAll": "Odtwórz wszystko",
"ButtonPlaying": "Odtwarzane", "ButtonPlaying": "Odtwarzane",
"ButtonPlaylists": "Listy odtwarzania", "ButtonPlaylists": "Listy odtwarzania",
"ButtonPrevious": "Poprzedni", "ButtonPrevious": "Poprzedni",
"ButtonPreviousChapter": "Poprzedni rozdział", "ButtonPreviousChapter": "Poprzedni rozdział",
"ButtonProbeAudioFile": "Próbka audio",
"ButtonPurgeAllCache": "Wyczyść dane tymczasowe", "ButtonPurgeAllCache": "Wyczyść dane tymczasowe",
"ButtonPurgeItemsCache": "Wyczyść dane tymczasowe pozycji", "ButtonPurgeItemsCache": "Wyczyść dane tymczasowe pozycji",
"ButtonQueueAddItem": "Dodaj do kolejki", "ButtonQueueAddItem": "Dodaj do kolejki",
@@ -93,8 +95,9 @@
"ButtonStartM4BEncode": "Eksportuj jako plik M4B", "ButtonStartM4BEncode": "Eksportuj jako plik M4B",
"ButtonStartMetadataEmbed": "Osadź metadane", "ButtonStartMetadataEmbed": "Osadź metadane",
"ButtonStats": "Statystyki", "ButtonStats": "Statystyki",
"ButtonSubmit": "Zaloguj", "ButtonSubmit": "Pobierz",
"ButtonTest": "Test", "ButtonTest": "Test",
"ButtonUnlinkOpenId": "Odłącz OpenID",
"ButtonUpload": "Wgraj", "ButtonUpload": "Wgraj",
"ButtonUploadBackup": "Wgraj kopię zapasową", "ButtonUploadBackup": "Wgraj kopię zapasową",
"ButtonUploadCover": "Wgraj okładkę", "ButtonUploadCover": "Wgraj okładkę",
@@ -355,7 +358,8 @@
"LabelIntervalEveryHour": "Każdej godziny", "LabelIntervalEveryHour": "Każdej godziny",
"LabelInvert": "Inversja", "LabelInvert": "Inversja",
"LabelItem": "Pozycja", "LabelItem": "Pozycja",
"LabelJumpBackwardAmount": "Rozmiar skoku do przodu", "LabelJumpBackwardAmount": "Przeskocz do tyłu o:",
"LabelJumpForwardAmount": "Przeskocz do przodu o:",
"LabelLanguage": "Język", "LabelLanguage": "Język",
"LabelLanguageDefaultServer": "Domyślny język serwera", "LabelLanguageDefaultServer": "Domyślny język serwera",
"LabelLanguages": "Języki", "LabelLanguages": "Języki",
@@ -458,7 +462,7 @@
"LabelReadAgain": "Czytaj ponownie", "LabelReadAgain": "Czytaj ponownie",
"LabelReadEbookWithoutProgress": "Czytaj książkę bez zapamiętywania postępu", "LabelReadEbookWithoutProgress": "Czytaj książkę bez zapamiętywania postępu",
"LabelRecentSeries": "Ostatnie serie", "LabelRecentSeries": "Ostatnie serie",
"LabelRecentlyAdded": "Niedawno dodany", "LabelRecentlyAdded": "Niedawno dodane",
"LabelRecommended": "Polecane", "LabelRecommended": "Polecane",
"LabelRedo": "Wycofaj", "LabelRedo": "Wycofaj",
"LabelReleaseDate": "Data wydania", "LabelReleaseDate": "Data wydania",
@@ -738,10 +742,8 @@
"StatsTopNarrator": "TOPOWY NARRATOR", "StatsTopNarrator": "TOPOWY NARRATOR",
"StatsTopNarrators": "TOPOWI NARRATORZY", "StatsTopNarrators": "TOPOWI NARRATORZY",
"StatsYearInReview": "PRZEGLĄD ROKU", "StatsYearInReview": "PRZEGLĄD ROKU",
"ToastAccountUpdateFailed": "Nie udało się zaktualizować konta",
"ToastAccountUpdateSuccess": "Zaktualizowano konto", "ToastAccountUpdateSuccess": "Zaktualizowano konto",
"ToastAuthorImageRemoveSuccess": "Zdjęcie autora usunięte", "ToastAuthorImageRemoveSuccess": "Zdjęcie autora usunięte",
"ToastAuthorUpdateFailed": "nie udało się zaktualizować autora",
"ToastAuthorUpdateMerged": "Autor scalony", "ToastAuthorUpdateMerged": "Autor scalony",
"ToastAuthorUpdateSuccess": "Autor zaktualizowany", "ToastAuthorUpdateSuccess": "Autor zaktualizowany",
"ToastAuthorUpdateSuccessNoImageFound": "Autor zaktualizowany (nie znaleziono obrazu)", "ToastAuthorUpdateSuccessNoImageFound": "Autor zaktualizowany (nie znaleziono obrazu)",
@@ -757,15 +759,11 @@
"ToastBookmarkCreateFailed": "Nie udało się utworzyć zakładki", "ToastBookmarkCreateFailed": "Nie udało się utworzyć zakładki",
"ToastBookmarkCreateSuccess": "Dodano zakładkę", "ToastBookmarkCreateSuccess": "Dodano zakładkę",
"ToastBookmarkRemoveSuccess": "Zakładka została usunięta", "ToastBookmarkRemoveSuccess": "Zakładka została usunięta",
"ToastBookmarkUpdateFailed": "Nie udało się zaktualizować zakładki",
"ToastBookmarkUpdateSuccess": "Zaktualizowano zakładkę", "ToastBookmarkUpdateSuccess": "Zaktualizowano zakładkę",
"ToastCollectionItemsRemoveSuccess": "Przedmiot(y) zostały usunięte z kolekcji", "ToastCollectionItemsRemoveSuccess": "Przedmiot(y) zostały usunięte z kolekcji",
"ToastCollectionRemoveSuccess": "Kolekcja usunięta", "ToastCollectionRemoveSuccess": "Kolekcja usunięta",
"ToastCollectionUpdateFailed": "Nie udało się zaktualizować kolekcji",
"ToastCollectionUpdateSuccess": "Zaktualizowano kolekcję", "ToastCollectionUpdateSuccess": "Zaktualizowano kolekcję",
"ToastItemCoverUpdateFailed": "Nie udało się zaktualizować okładki",
"ToastItemCoverUpdateSuccess": "Zaktualizowano okładkę", "ToastItemCoverUpdateSuccess": "Zaktualizowano okładkę",
"ToastItemDetailsUpdateFailed": "Nie udało się zaktualizować szczegółów",
"ToastItemDetailsUpdateSuccess": "Zaktualizowano szczegóły", "ToastItemDetailsUpdateSuccess": "Zaktualizowano szczegóły",
"ToastItemMarkedAsFinishedFailed": "Nie udało się oznaczyć jako ukończone", "ToastItemMarkedAsFinishedFailed": "Nie udało się oznaczyć jako ukończone",
"ToastItemMarkedAsFinishedSuccess": "Pozycja oznaczona jako ukończona", "ToastItemMarkedAsFinishedSuccess": "Pozycja oznaczona jako ukończona",
@@ -777,12 +775,10 @@
"ToastLibraryDeleteSuccess": "Biblioteka usunięta", "ToastLibraryDeleteSuccess": "Biblioteka usunięta",
"ToastLibraryScanFailedToStart": "Nie udało się rozpocząć skanowania", "ToastLibraryScanFailedToStart": "Nie udało się rozpocząć skanowania",
"ToastLibraryScanStarted": "Rozpoczęto skanowanie biblioteki", "ToastLibraryScanStarted": "Rozpoczęto skanowanie biblioteki",
"ToastLibraryUpdateFailed": "Nie udało się zaktualizować biblioteki",
"ToastLibraryUpdateSuccess": "Zaktualizowano \"{0}\" pozycji", "ToastLibraryUpdateSuccess": "Zaktualizowano \"{0}\" pozycji",
"ToastPlaylistCreateFailed": "Nie udało się utworzyć playlisty", "ToastPlaylistCreateFailed": "Nie udało się utworzyć playlisty",
"ToastPlaylistCreateSuccess": "Playlista utworzona", "ToastPlaylistCreateSuccess": "Playlista utworzona",
"ToastPlaylistRemoveSuccess": "Playlista usunięta", "ToastPlaylistRemoveSuccess": "Playlista usunięta",
"ToastPlaylistUpdateFailed": "Nie udało się zaktualizować playlisty",
"ToastPlaylistUpdateSuccess": "Playlista zaktualizowana", "ToastPlaylistUpdateSuccess": "Playlista zaktualizowana",
"ToastPodcastCreateFailed": "Nie udało się utworzyć podcastu", "ToastPodcastCreateFailed": "Nie udało się utworzyć podcastu",
"ToastPodcastCreateSuccess": "Podcast został pomyślnie utworzony", "ToastPodcastCreateSuccess": "Podcast został pomyślnie utworzony",
-10
View File
@@ -710,10 +710,8 @@
"PlaceholderNewPlaylist": "Novo nome da lista de reprodução", "PlaceholderNewPlaylist": "Novo nome da lista de reprodução",
"PlaceholderSearch": "Buscar..", "PlaceholderSearch": "Buscar..",
"PlaceholderSearchEpisode": "Buscar Episódio..", "PlaceholderSearchEpisode": "Buscar Episódio..",
"ToastAccountUpdateFailed": "Falha ao atualizar a conta",
"ToastAccountUpdateSuccess": "Conta atualizada", "ToastAccountUpdateSuccess": "Conta atualizada",
"ToastAuthorImageRemoveSuccess": "Imagem do autor removida", "ToastAuthorImageRemoveSuccess": "Imagem do autor removida",
"ToastAuthorUpdateFailed": "Falha ao atualizar o autor",
"ToastAuthorUpdateMerged": "Autor combinado", "ToastAuthorUpdateMerged": "Autor combinado",
"ToastAuthorUpdateSuccess": "Autor atualizado", "ToastAuthorUpdateSuccess": "Autor atualizado",
"ToastAuthorUpdateSuccessNoImageFound": "Autor atualizado (nenhuma imagem encontrada)", "ToastAuthorUpdateSuccessNoImageFound": "Autor atualizado (nenhuma imagem encontrada)",
@@ -729,7 +727,6 @@
"ToastBookmarkCreateFailed": "Falha ao criar marcador", "ToastBookmarkCreateFailed": "Falha ao criar marcador",
"ToastBookmarkCreateSuccess": "Marcador adicionado", "ToastBookmarkCreateSuccess": "Marcador adicionado",
"ToastBookmarkRemoveSuccess": "Marcador removido", "ToastBookmarkRemoveSuccess": "Marcador removido",
"ToastBookmarkUpdateFailed": "Falha ao atualizar o marcador",
"ToastBookmarkUpdateSuccess": "Marcador atualizado", "ToastBookmarkUpdateSuccess": "Marcador atualizado",
"ToastCachePurgeFailed": "Falha ao apagar o cache", "ToastCachePurgeFailed": "Falha ao apagar o cache",
"ToastCachePurgeSuccess": "Cache apagado com sucesso", "ToastCachePurgeSuccess": "Cache apagado com sucesso",
@@ -737,14 +734,11 @@
"ToastChaptersMustHaveTitles": "Capítulos precisam ter títulos", "ToastChaptersMustHaveTitles": "Capítulos precisam ter títulos",
"ToastCollectionItemsRemoveSuccess": "Item(ns) removidos da coleção", "ToastCollectionItemsRemoveSuccess": "Item(ns) removidos da coleção",
"ToastCollectionRemoveSuccess": "Coleção removida", "ToastCollectionRemoveSuccess": "Coleção removida",
"ToastCollectionUpdateFailed": "Falha ao atualizar coleção",
"ToastCollectionUpdateSuccess": "Coleção atualizada", "ToastCollectionUpdateSuccess": "Coleção atualizada",
"ToastDeleteFileFailed": "Falha ao apagar arquivo", "ToastDeleteFileFailed": "Falha ao apagar arquivo",
"ToastDeleteFileSuccess": "Arquivo apagado", "ToastDeleteFileSuccess": "Arquivo apagado",
"ToastFailedToLoadData": "Falha ao carregar dados", "ToastFailedToLoadData": "Falha ao carregar dados",
"ToastItemCoverUpdateFailed": "Falha ao atualizar capa do item",
"ToastItemCoverUpdateSuccess": "Capa do item atualizada", "ToastItemCoverUpdateSuccess": "Capa do item atualizada",
"ToastItemDetailsUpdateFailed": "Falha ao atualizar detalhes do item",
"ToastItemDetailsUpdateSuccess": "Detalhes do item atualizados", "ToastItemDetailsUpdateSuccess": "Detalhes do item atualizados",
"ToastItemMarkedAsFinishedFailed": "Falha ao marcar como Concluído", "ToastItemMarkedAsFinishedFailed": "Falha ao marcar como Concluído",
"ToastItemMarkedAsFinishedSuccess": "Item marcado como Concluído", "ToastItemMarkedAsFinishedSuccess": "Item marcado como Concluído",
@@ -756,12 +750,10 @@
"ToastLibraryDeleteSuccess": "Biblioteca apagada", "ToastLibraryDeleteSuccess": "Biblioteca apagada",
"ToastLibraryScanFailedToStart": "Falha ao iniciar verificação", "ToastLibraryScanFailedToStart": "Falha ao iniciar verificação",
"ToastLibraryScanStarted": "Verificação da biblioteca iniciada", "ToastLibraryScanStarted": "Verificação da biblioteca iniciada",
"ToastLibraryUpdateFailed": "Falha ao atualizar a biblioteca",
"ToastLibraryUpdateSuccess": "Biblioteca \"{0}\" atualizada", "ToastLibraryUpdateSuccess": "Biblioteca \"{0}\" atualizada",
"ToastPlaylistCreateFailed": "Falha ao criar lista de reprodução", "ToastPlaylistCreateFailed": "Falha ao criar lista de reprodução",
"ToastPlaylistCreateSuccess": "Lista de reprodução criada", "ToastPlaylistCreateSuccess": "Lista de reprodução criada",
"ToastPlaylistRemoveSuccess": "Lista de reprodução removida", "ToastPlaylistRemoveSuccess": "Lista de reprodução removida",
"ToastPlaylistUpdateFailed": "Falha ao atualizar lista de reprodução",
"ToastPlaylistUpdateSuccess": "Lista de reprodução atualizada", "ToastPlaylistUpdateSuccess": "Lista de reprodução atualizada",
"ToastPodcastCreateFailed": "Falha ao criar podcast", "ToastPodcastCreateFailed": "Falha ao criar podcast",
"ToastPodcastCreateSuccess": "Podcast criado", "ToastPodcastCreateSuccess": "Podcast criado",
@@ -773,7 +765,6 @@
"ToastSendEbookToDeviceSuccess": "Ebook enviado para o dispositivo \"{0}\"", "ToastSendEbookToDeviceSuccess": "Ebook enviado para o dispositivo \"{0}\"",
"ToastSeriesUpdateFailed": "Falha ao atualizar série", "ToastSeriesUpdateFailed": "Falha ao atualizar série",
"ToastSeriesUpdateSuccess": "Série atualizada", "ToastSeriesUpdateSuccess": "Série atualizada",
"ToastServerSettingsUpdateFailed": "Falha ao atualizar configurações do servidor",
"ToastServerSettingsUpdateSuccess": "Configurações do servidor atualizadas", "ToastServerSettingsUpdateSuccess": "Configurações do servidor atualizadas",
"ToastSessionDeleteFailed": "Falha ao apagar sessão", "ToastSessionDeleteFailed": "Falha ao apagar sessão",
"ToastSessionDeleteSuccess": "Sessão apagada", "ToastSessionDeleteSuccess": "Sessão apagada",
@@ -781,7 +772,6 @@
"ToastSocketDisconnected": "Socket desconectado", "ToastSocketDisconnected": "Socket desconectado",
"ToastSocketFailedToConnect": "Falha na conexão do socket", "ToastSocketFailedToConnect": "Falha na conexão do socket",
"ToastSortingPrefixesEmptyError": "É preciso ter pelo menos um prefixo de ordenação", "ToastSortingPrefixesEmptyError": "É preciso ter pelo menos um prefixo de ordenação",
"ToastSortingPrefixesUpdateFailed": "Falha ao atualizar prefixos de ordenação",
"ToastSortingPrefixesUpdateSuccess": "Prefixos de ordenação atualizados ({0} item(ns))", "ToastSortingPrefixesUpdateSuccess": "Prefixos de ordenação atualizados ({0} item(ns))",
"ToastUserDeleteFailed": "Falha ao apagar usuário", "ToastUserDeleteFailed": "Falha ao apagar usuário",
"ToastUserDeleteSuccess": "Usuário apagado" "ToastUserDeleteSuccess": "Usuário apagado"
+2 -18
View File
@@ -56,6 +56,7 @@
"ButtonOpenManager": "Открыть менеджер", "ButtonOpenManager": "Открыть менеджер",
"ButtonPause": "Пауза", "ButtonPause": "Пауза",
"ButtonPlay": "Слушать", "ButtonPlay": "Слушать",
"ButtonPlayAll": "Играть все",
"ButtonPlaying": "Проигрывается", "ButtonPlaying": "Проигрывается",
"ButtonPlaylists": "Плейлисты", "ButtonPlaylists": "Плейлисты",
"ButtonPrevious": "Предыдущий", "ButtonPrevious": "Предыдущий",
@@ -98,6 +99,7 @@
"ButtonStats": "Статистика", "ButtonStats": "Статистика",
"ButtonSubmit": "Применить", "ButtonSubmit": "Применить",
"ButtonTest": "Тест", "ButtonTest": "Тест",
"ButtonUnlinkOpenId": "Отключить OpenID",
"ButtonUpload": "Загрузить", "ButtonUpload": "Загрузить",
"ButtonUploadBackup": "Загрузить бэкап", "ButtonUploadBackup": "Загрузить бэкап",
"ButtonUploadCover": "Загрузить обложку", "ButtonUploadCover": "Загрузить обложку",
@@ -815,14 +817,12 @@
"StatsTopNarrators": "ТОП ЧТЕЦЫ", "StatsTopNarrators": "ТОП ЧТЕЦЫ",
"StatsTotalDuration": "С общей продолжительностью…", "StatsTotalDuration": "С общей продолжительностью…",
"StatsYearInReview": "ИТОГИ ГОДА", "StatsYearInReview": "ИТОГИ ГОДА",
"ToastAccountUpdateFailed": "Не удалось обновить учетную запись",
"ToastAccountUpdateSuccess": "Учетная запись обновлена", "ToastAccountUpdateSuccess": "Учетная запись обновлена",
"ToastAppriseUrlRequired": "Необходимо ввести URL-адрес Apprise", "ToastAppriseUrlRequired": "Необходимо ввести URL-адрес Apprise",
"ToastAuthorImageRemoveSuccess": "Изображение автора удалено", "ToastAuthorImageRemoveSuccess": "Изображение автора удалено",
"ToastAuthorNotFound": "Автор \"{0}\" не найден", "ToastAuthorNotFound": "Автор \"{0}\" не найден",
"ToastAuthorRemoveSuccess": "Автор удален", "ToastAuthorRemoveSuccess": "Автор удален",
"ToastAuthorSearchNotFound": "Автор не найден", "ToastAuthorSearchNotFound": "Автор не найден",
"ToastAuthorUpdateFailed": "Не удалось обновить автора",
"ToastAuthorUpdateMerged": "Автор объединен", "ToastAuthorUpdateMerged": "Автор объединен",
"ToastAuthorUpdateSuccess": "Автор обновлен", "ToastAuthorUpdateSuccess": "Автор обновлен",
"ToastAuthorUpdateSuccessNoImageFound": "Автор обновлен (изображение не найдено)", "ToastAuthorUpdateSuccessNoImageFound": "Автор обновлен (изображение не найдено)",
@@ -833,7 +833,6 @@
"ToastBackupDeleteSuccess": "Бэкап удален", "ToastBackupDeleteSuccess": "Бэкап удален",
"ToastBackupInvalidMaxKeep": "Недопустимое количество резервных копий для хранения", "ToastBackupInvalidMaxKeep": "Недопустимое количество резервных копий для хранения",
"ToastBackupInvalidMaxSize": "Недопустимый максимальный размер резервной копии", "ToastBackupInvalidMaxSize": "Недопустимый максимальный размер резервной копии",
"ToastBackupPathUpdateFailed": "Не удалось обновить путь к резервному копированию",
"ToastBackupRestoreFailed": "Не удалось восстановить из бэкапа", "ToastBackupRestoreFailed": "Не удалось восстановить из бэкапа",
"ToastBackupUploadFailed": "Не удалось загрузить бэкап", "ToastBackupUploadFailed": "Не удалось загрузить бэкап",
"ToastBackupUploadSuccess": "Бэкап загружен", "ToastBackupUploadSuccess": "Бэкап загружен",
@@ -844,7 +843,6 @@
"ToastBookmarkCreateFailed": "Не удалось создать закладку", "ToastBookmarkCreateFailed": "Не удалось создать закладку",
"ToastBookmarkCreateSuccess": "Добавлена закладка", "ToastBookmarkCreateSuccess": "Добавлена закладка",
"ToastBookmarkRemoveSuccess": "Закладка удалена", "ToastBookmarkRemoveSuccess": "Закладка удалена",
"ToastBookmarkUpdateFailed": "Не удалось обновить закладку",
"ToastBookmarkUpdateSuccess": "Закладка обновлена", "ToastBookmarkUpdateSuccess": "Закладка обновлена",
"ToastCachePurgeFailed": "Не удалось очистить кэш", "ToastCachePurgeFailed": "Не удалось очистить кэш",
"ToastCachePurgeSuccess": "Кэш успешно очищен", "ToastCachePurgeSuccess": "Кэш успешно очищен",
@@ -855,7 +853,6 @@
"ToastCollectionItemsAddSuccess": "Элемент(ы) добавлены в коллекцию", "ToastCollectionItemsAddSuccess": "Элемент(ы) добавлены в коллекцию",
"ToastCollectionItemsRemoveSuccess": "Элемент(ы), удалены из коллекции", "ToastCollectionItemsRemoveSuccess": "Элемент(ы), удалены из коллекции",
"ToastCollectionRemoveSuccess": "Коллекция удалена", "ToastCollectionRemoveSuccess": "Коллекция удалена",
"ToastCollectionUpdateFailed": "Не удалось обновить коллекцию",
"ToastCollectionUpdateSuccess": "Коллекция обновлена", "ToastCollectionUpdateSuccess": "Коллекция обновлена",
"ToastCoverUpdateFailed": "Не удалось обновить обложку", "ToastCoverUpdateFailed": "Не удалось обновить обложку",
"ToastDeleteFileFailed": "Не удалось удалить файл", "ToastDeleteFileFailed": "Не удалось удалить файл",
@@ -864,8 +861,6 @@
"ToastDeviceNameAlreadyExists": "Устройство для чтения электронных книг с таким именем уже существует", "ToastDeviceNameAlreadyExists": "Устройство для чтения электронных книг с таким именем уже существует",
"ToastDeviceTestEmailFailed": "Не удалось отправить тестовое электронное письмо", "ToastDeviceTestEmailFailed": "Не удалось отправить тестовое электронное письмо",
"ToastDeviceTestEmailSuccess": "Тестовое письмо отправлено", "ToastDeviceTestEmailSuccess": "Тестовое письмо отправлено",
"ToastDeviceUpdateFailed": "Не удалось обновить устройство",
"ToastEmailSettingsUpdateFailed": "Не удалось обновить настройки электронной почты",
"ToastEmailSettingsUpdateSuccess": "Обновлены настройки электронной почты", "ToastEmailSettingsUpdateSuccess": "Обновлены настройки электронной почты",
"ToastEncodeCancelFailed": "Не удалось отменить кодирование", "ToastEncodeCancelFailed": "Не удалось отменить кодирование",
"ToastEncodeCancelSucces": "Кодирование отменено", "ToastEncodeCancelSucces": "Кодирование отменено",
@@ -874,21 +869,16 @@
"ToastErrorCannotShare": "Невозможно предоставить общий доступ на этом устройстве", "ToastErrorCannotShare": "Невозможно предоставить общий доступ на этом устройстве",
"ToastFailedToLoadData": "Не удалось загрузить данные", "ToastFailedToLoadData": "Не удалось загрузить данные",
"ToastFailedToShare": "Не удалось поделиться", "ToastFailedToShare": "Не удалось поделиться",
"ToastFailedToUpdateAccount": "Не удалось обновить учетную запись",
"ToastFailedToUpdateUser": "Не удалось обновить пользователя",
"ToastInvalidImageUrl": "Неверный URL изображения", "ToastInvalidImageUrl": "Неверный URL изображения",
"ToastInvalidUrl": "Неверный URL", "ToastInvalidUrl": "Неверный URL",
"ToastItemCoverUpdateFailed": "Не удалось обновить обложку элемента",
"ToastItemCoverUpdateSuccess": "Обложка элемента обновлена", "ToastItemCoverUpdateSuccess": "Обложка элемента обновлена",
"ToastItemDeletedFailed": "Не удалось удалить элемент", "ToastItemDeletedFailed": "Не удалось удалить элемент",
"ToastItemDeletedSuccess": "Удаленный элемент", "ToastItemDeletedSuccess": "Удаленный элемент",
"ToastItemDetailsUpdateFailed": "Не удалось обновить сведения об элементе",
"ToastItemDetailsUpdateSuccess": "Обновлены сведения об элементе", "ToastItemDetailsUpdateSuccess": "Обновлены сведения об элементе",
"ToastItemMarkedAsFinishedFailed": "Не удалось пометить как Завершенный", "ToastItemMarkedAsFinishedFailed": "Не удалось пометить как Завершенный",
"ToastItemMarkedAsFinishedSuccess": "Элемент помечен как Завершенный", "ToastItemMarkedAsFinishedSuccess": "Элемент помечен как Завершенный",
"ToastItemMarkedAsNotFinishedFailed": "Не удалось пометить как Незавершенный", "ToastItemMarkedAsNotFinishedFailed": "Не удалось пометить как Незавершенный",
"ToastItemMarkedAsNotFinishedSuccess": "Элемент помечен как Незавершенный", "ToastItemMarkedAsNotFinishedSuccess": "Элемент помечен как Незавершенный",
"ToastItemUpdateFailed": "Не удалось обновить элемент",
"ToastItemUpdateSuccess": "Элемент обновлен", "ToastItemUpdateSuccess": "Элемент обновлен",
"ToastLibraryCreateFailed": "Не удалось создать библиотеку", "ToastLibraryCreateFailed": "Не удалось создать библиотеку",
"ToastLibraryCreateSuccess": "Библиотека \"{0}\" создана", "ToastLibraryCreateSuccess": "Библиотека \"{0}\" создана",
@@ -896,7 +886,6 @@
"ToastLibraryDeleteSuccess": "Библиотека удалена", "ToastLibraryDeleteSuccess": "Библиотека удалена",
"ToastLibraryScanFailedToStart": "Не удалось запустить сканирование", "ToastLibraryScanFailedToStart": "Не удалось запустить сканирование",
"ToastLibraryScanStarted": "Запущено сканирование библиотеки", "ToastLibraryScanStarted": "Запущено сканирование библиотеки",
"ToastLibraryUpdateFailed": "Не удалось обновить библиотеку",
"ToastLibraryUpdateSuccess": "Библиотека \"{0}\" обновлена", "ToastLibraryUpdateSuccess": "Библиотека \"{0}\" обновлена",
"ToastNameEmailRequired": "Имя и адрес электронной почты обязательны", "ToastNameEmailRequired": "Имя и адрес электронной почты обязательны",
"ToastNameRequired": "Имя обязательно для заполнения", "ToastNameRequired": "Имя обязательно для заполнения",
@@ -911,16 +900,13 @@
"ToastNotificationDeleteFailed": "Не удалось удалить уведомление", "ToastNotificationDeleteFailed": "Не удалось удалить уведомление",
"ToastNotificationFailedMaximum": "Максимальное количество неудачных попыток должно быть >= 0", "ToastNotificationFailedMaximum": "Максимальное количество неудачных попыток должно быть >= 0",
"ToastNotificationQueueMaximum": "Максимальная очередь уведомлений должна быть >= 0", "ToastNotificationQueueMaximum": "Максимальная очередь уведомлений должна быть >= 0",
"ToastNotificationSettingsUpdateFailed": "Не удалось обновить настройки уведомлений",
"ToastNotificationSettingsUpdateSuccess": "Обновлены настройки уведомлений", "ToastNotificationSettingsUpdateSuccess": "Обновлены настройки уведомлений",
"ToastNotificationTestTriggerFailed": "Не удалось активировать тестовое уведомление", "ToastNotificationTestTriggerFailed": "Не удалось активировать тестовое уведомление",
"ToastNotificationTestTriggerSuccess": "Сработавшее уведомление о тестировании", "ToastNotificationTestTriggerSuccess": "Сработавшее уведомление о тестировании",
"ToastNotificationUpdateFailed": "Не удалось обновить уведомление",
"ToastNotificationUpdateSuccess": "Уведомление обновлено", "ToastNotificationUpdateSuccess": "Уведомление обновлено",
"ToastPlaylistCreateFailed": "Не удалось создать плейлист", "ToastPlaylistCreateFailed": "Не удалось создать плейлист",
"ToastPlaylistCreateSuccess": "Плейлист создан", "ToastPlaylistCreateSuccess": "Плейлист создан",
"ToastPlaylistRemoveSuccess": "Плейлист удален", "ToastPlaylistRemoveSuccess": "Плейлист удален",
"ToastPlaylistUpdateFailed": "Не удалось обновить плейлист",
"ToastPlaylistUpdateSuccess": "Плейлист обновлен", "ToastPlaylistUpdateSuccess": "Плейлист обновлен",
"ToastPodcastCreateFailed": "Не удалось создать подкаст", "ToastPodcastCreateFailed": "Не удалось создать подкаст",
"ToastPodcastCreateSuccess": "Подкаст успешно создан", "ToastPodcastCreateSuccess": "Подкаст успешно создан",
@@ -949,7 +935,6 @@
"ToastSendEbookToDeviceSuccess": "E-книга отправлена на устройство \"{0}\"", "ToastSendEbookToDeviceSuccess": "E-книга отправлена на устройство \"{0}\"",
"ToastSeriesUpdateFailed": "Не удалось обновить серию", "ToastSeriesUpdateFailed": "Не удалось обновить серию",
"ToastSeriesUpdateSuccess": "Успешное обновление серии", "ToastSeriesUpdateSuccess": "Успешное обновление серии",
"ToastServerSettingsUpdateFailed": "Не удалось обновить настройки сервера",
"ToastServerSettingsUpdateSuccess": "Обновлены настройки сервера", "ToastServerSettingsUpdateSuccess": "Обновлены настройки сервера",
"ToastSessionCloseFailed": "Не удалось закрыть сеанс", "ToastSessionCloseFailed": "Не удалось закрыть сеанс",
"ToastSessionDeleteFailed": "Не удалось удалить сеанс", "ToastSessionDeleteFailed": "Не удалось удалить сеанс",
@@ -960,7 +945,6 @@
"ToastSocketDisconnected": "Сокет отключен", "ToastSocketDisconnected": "Сокет отключен",
"ToastSocketFailedToConnect": "Не удалось подключить сокет", "ToastSocketFailedToConnect": "Не удалось подключить сокет",
"ToastSortingPrefixesEmptyError": "Должен быть хотя бы 1 префикс сортировки", "ToastSortingPrefixesEmptyError": "Должен быть хотя бы 1 префикс сортировки",
"ToastSortingPrefixesUpdateFailed": "Не удалось обновить префиксы сортировки",
"ToastSortingPrefixesUpdateSuccess": "Обновлены префиксы сортировки ({0} элементов)", "ToastSortingPrefixesUpdateSuccess": "Обновлены префиксы сортировки ({0} элементов)",
"ToastTitleRequired": "Название обязательно", "ToastTitleRequired": "Название обязательно",
"ToastUnknownError": "Неизвестная ошибка", "ToastUnknownError": "Неизвестная ошибка",
+148 -58
View File
@@ -56,6 +56,7 @@
"ButtonOpenManager": "Odpri upravljanje", "ButtonOpenManager": "Odpri upravljanje",
"ButtonPause": "Premor", "ButtonPause": "Premor",
"ButtonPlay": "Predvajaj", "ButtonPlay": "Predvajaj",
"ButtonPlayAll": "Predvajaj vse",
"ButtonPlaying": "Predvajam", "ButtonPlaying": "Predvajam",
"ButtonPlaylists": "Seznami predvajanj", "ButtonPlaylists": "Seznami predvajanj",
"ButtonPrevious": "Prejšnje", "ButtonPrevious": "Prejšnje",
@@ -65,6 +66,7 @@
"ButtonPurgeItemsCache": "Počisti predpomnilnik elementov", "ButtonPurgeItemsCache": "Počisti predpomnilnik elementov",
"ButtonQueueAddItem": "Dodaj v čakalno vrsto", "ButtonQueueAddItem": "Dodaj v čakalno vrsto",
"ButtonQueueRemoveItem": "Odstrani iz čakalne vrste", "ButtonQueueRemoveItem": "Odstrani iz čakalne vrste",
"ButtonQuickEmbed": "Hitra vdelava",
"ButtonQuickEmbedMetadata": "Hitra vdelava metapodatkov", "ButtonQuickEmbedMetadata": "Hitra vdelava metapodatkov",
"ButtonQuickMatch": "Hitro ujemanje", "ButtonQuickMatch": "Hitro ujemanje",
"ButtonReScan": "Ponovno pregledovanje", "ButtonReScan": "Ponovno pregledovanje",
@@ -96,7 +98,7 @@
"ButtonStartM4BEncode": "Zaženi M4B prekodiranje", "ButtonStartM4BEncode": "Zaženi M4B prekodiranje",
"ButtonStartMetadataEmbed": "Začni vdelavo metapodatkov", "ButtonStartMetadataEmbed": "Začni vdelavo metapodatkov",
"ButtonStats": "Statistika", "ButtonStats": "Statistika",
"ButtonSubmit": "Posreduj", "ButtonSubmit": "Potrdi",
"ButtonTest": "Test", "ButtonTest": "Test",
"ButtonUnlinkOpenId": "Prekini povezavo OpenID", "ButtonUnlinkOpenId": "Prekini povezavo OpenID",
"ButtonUpload": "Naloži", "ButtonUpload": "Naloži",
@@ -133,7 +135,7 @@
"HeaderEmail": "E-pošta", "HeaderEmail": "E-pošta",
"HeaderEmailSettings": "Nastavitve e-pošte", "HeaderEmailSettings": "Nastavitve e-pošte",
"HeaderEpisodes": "Epizode", "HeaderEpisodes": "Epizode",
"HeaderEreaderDevices": "Ebralne naprave", "HeaderEreaderDevices": "E-bralniki",
"HeaderEreaderSettings": "Nastavitve ebralnika", "HeaderEreaderSettings": "Nastavitve ebralnika",
"HeaderFiles": "Datoteke", "HeaderFiles": "Datoteke",
"HeaderFindChapters": "Najdi poglavja", "HeaderFindChapters": "Najdi poglavja",
@@ -145,7 +147,7 @@
"HeaderLibraries": "Knjižnice", "HeaderLibraries": "Knjižnice",
"HeaderLibraryFiles": "Datoteke knjižnice", "HeaderLibraryFiles": "Datoteke knjižnice",
"HeaderLibraryStats": "Statistika knjižnice", "HeaderLibraryStats": "Statistika knjižnice",
"HeaderListeningSessions": "Seje poslušanja", "HeaderListeningSessions": "Sej poslušanja",
"HeaderListeningStats": "Statistika poslušanja", "HeaderListeningStats": "Statistika poslušanja",
"HeaderLogin": "Prijava", "HeaderLogin": "Prijava",
"HeaderLogs": "Dnevniki", "HeaderLogs": "Dnevniki",
@@ -160,10 +162,10 @@
"HeaderNotificationCreate": "Ustvari obvestilo", "HeaderNotificationCreate": "Ustvari obvestilo",
"HeaderNotificationUpdate": "Posodobi obvestilo", "HeaderNotificationUpdate": "Posodobi obvestilo",
"HeaderNotifications": "Obvestila", "HeaderNotifications": "Obvestila",
"HeaderOpenIDConnectAuthentication": "Preverjanje pristnosti OpenID Connect", "HeaderOpenIDConnectAuthentication": "Prijava z OpenID Connect",
"HeaderOpenRSSFeed": "Odpri vir RSS", "HeaderOpenRSSFeed": "Odpri vir RSS",
"HeaderOtherFiles": "Ostale datoteke", "HeaderOtherFiles": "Ostale datoteke",
"HeaderPasswordAuthentication": "Preverjanje pristnosti gesla", "HeaderPasswordAuthentication": "Preverjanje pristnosti z geslom",
"HeaderPermissions": "Dovoljenja", "HeaderPermissions": "Dovoljenja",
"HeaderPlayerQueue": "Čakalna vrsta predvajalnika", "HeaderPlayerQueue": "Čakalna vrsta predvajalnika",
"HeaderPlayerSettings": "Nastavitve predvajalnika", "HeaderPlayerSettings": "Nastavitve predvajalnika",
@@ -178,6 +180,7 @@
"HeaderRemoveEpisodes": "Odstrani {0} epizod", "HeaderRemoveEpisodes": "Odstrani {0} epizod",
"HeaderSavedMediaProgress": "Shranjen napredek predstavnosti", "HeaderSavedMediaProgress": "Shranjen napredek predstavnosti",
"HeaderSchedule": "Načrtovanje", "HeaderSchedule": "Načrtovanje",
"HeaderScheduleEpisodeDownloads": "Načrtovanje samodejnega prenosa epizod",
"HeaderScheduleLibraryScans": "Načrtuj samodejno pregledovanje knjižnice", "HeaderScheduleLibraryScans": "Načrtuj samodejno pregledovanje knjižnice",
"HeaderSession": "Seja", "HeaderSession": "Seja",
"HeaderSetBackupSchedule": "Nastavite urnik varnostnega kopiranja", "HeaderSetBackupSchedule": "Nastavite urnik varnostnega kopiranja",
@@ -185,7 +188,7 @@
"HeaderSettingsDisplay": "Zaslon", "HeaderSettingsDisplay": "Zaslon",
"HeaderSettingsExperimental": "Eksperimentalne funkcije", "HeaderSettingsExperimental": "Eksperimentalne funkcije",
"HeaderSettingsGeneral": "Splošno", "HeaderSettingsGeneral": "Splošno",
"HeaderSettingsScanner": "Skener", "HeaderSettingsScanner": "Pregledovalnik",
"HeaderSleepTimer": "Časovnik za izklop", "HeaderSleepTimer": "Časovnik za izklop",
"HeaderStatsLargestItems": "Največji elementi", "HeaderStatsLargestItems": "Največji elementi",
"HeaderStatsLongestItems": "Najdaljši elementi (ure)", "HeaderStatsLongestItems": "Najdaljši elementi (ure)",
@@ -218,12 +221,15 @@
"LabelAddedAt": "Dodano ob", "LabelAddedAt": "Dodano ob",
"LabelAddedDate": "Dodano {0}", "LabelAddedDate": "Dodano {0}",
"LabelAdminUsersOnly": "Samo administratorji", "LabelAdminUsersOnly": "Samo administratorji",
"LabelAll": "Vsi", "LabelAll": "Vse",
"LabelAllUsers": "Vsi uporabniki", "LabelAllUsers": "Vsi uporabniki",
"LabelAllUsersExcludingGuests": "Vsi uporabniki razen gosti", "LabelAllUsersExcludingGuests": "Vsi uporabniki razen gosti",
"LabelAllUsersIncludingGuests": "Vsi uporabniki vključno z gosti", "LabelAllUsersIncludingGuests": "Vsi uporabniki vključno z gosti",
"LabelAlreadyInYourLibrary": "Že v tvoji knjižnici", "LabelAlreadyInYourLibrary": "Že v tvoji knjižnici",
"LabelAppend": "Priloži", "LabelAppend": "Priloži",
"LabelAudioBitrate": "Avdio bitna hitrost (npr. 128k)",
"LabelAudioChannels": "Avdio kanali (1 ali 2)",
"LabelAudioCodec": "Avdio kodek",
"LabelAuthor": "Avtor", "LabelAuthor": "Avtor",
"LabelAuthorFirstLast": "Avtor (ime priimek)", "LabelAuthorFirstLast": "Avtor (ime priimek)",
"LabelAuthorLastFirst": "Avtor (priimek, ime)", "LabelAuthorLastFirst": "Avtor (priimek, ime)",
@@ -236,6 +242,7 @@
"LabelAutoRegister": "Samodejna registracija", "LabelAutoRegister": "Samodejna registracija",
"LabelAutoRegisterDescription": "Po prijavi samodejno ustvari nove uporabnike", "LabelAutoRegisterDescription": "Po prijavi samodejno ustvari nove uporabnike",
"LabelBackToUser": "Nazaj na uporabnika", "LabelBackToUser": "Nazaj na uporabnika",
"LabelBackupAudioFiles": "Varnostno kopiranje zvočnih datotek",
"LabelBackupLocation": "Lokacija rezervne kopije", "LabelBackupLocation": "Lokacija rezervne kopije",
"LabelBackupsEnableAutomaticBackups": "Omogoči samodejno varnostno kopiranje", "LabelBackupsEnableAutomaticBackups": "Omogoči samodejno varnostno kopiranje",
"LabelBackupsEnableAutomaticBackupsHelp": "Varnostne kopije shranjene v /metadata/backups", "LabelBackupsEnableAutomaticBackupsHelp": "Varnostne kopije shranjene v /metadata/backups",
@@ -244,15 +251,18 @@
"LabelBackupsNumberToKeep": "Število varnostnih kopij, ki jih je treba hraniti", "LabelBackupsNumberToKeep": "Število varnostnih kopij, ki jih je treba hraniti",
"LabelBackupsNumberToKeepHelp": "Naenkrat bo odstranjena samo ena varnostna kopija, če že imate več varnostnih kopij, jih odstranite ročno.", "LabelBackupsNumberToKeepHelp": "Naenkrat bo odstranjena samo ena varnostna kopija, če že imate več varnostnih kopij, jih odstranite ročno.",
"LabelBitrate": "Bitna hitrost", "LabelBitrate": "Bitna hitrost",
"LabelBooks": "Knjige", "LabelBonus": "Bonus",
"LabelBooks": "knjig",
"LabelButtonText": "Besedilo gumba", "LabelButtonText": "Besedilo gumba",
"LabelByAuthor": "od {0}", "LabelByAuthor": "od {0}",
"LabelChangePassword": "Spremeni geslo", "LabelChangePassword": "Spremeni geslo",
"LabelChannels": "Kanali", "LabelChannels": "Kanali",
"LabelChapterCount": "{0} poglavij",
"LabelChapterTitle": "Naslov poglavja", "LabelChapterTitle": "Naslov poglavja",
"LabelChapters": "Poglavja", "LabelChapters": "Poglavja",
"LabelChaptersFound": "najdenih poglavij", "LabelChaptersFound": "najdenih poglavij",
"LabelClickForMoreInfo": "Klikni za več informacij", "LabelClickForMoreInfo": "Klikni za več informacij",
"LabelClickToUseCurrentValue": "Klikni za uporabo trenutne vrednosti",
"LabelClosePlayer": "Zapri predvajalnik", "LabelClosePlayer": "Zapri predvajalnik",
"LabelCodec": "Kodek", "LabelCodec": "Kodek",
"LabelCollapseSeries": "Strni serije", "LabelCollapseSeries": "Strni serije",
@@ -302,12 +312,25 @@
"LabelEmailSettingsTestAddress": "Testiraj naslov", "LabelEmailSettingsTestAddress": "Testiraj naslov",
"LabelEmbeddedCover": "Vdelana naslovnica", "LabelEmbeddedCover": "Vdelana naslovnica",
"LabelEnable": "Omogoči", "LabelEnable": "Omogoči",
"LabelEncodingBackupLocation": "Varnostna kopija vaših izvirnih zvočnih datotek bo shranjena v:",
"LabelEncodingChaptersNotEmbedded": "Poglavja niso vdelana v zvočne knjige z večimi sledmi.",
"LabelEncodingClearItemCache": "Občasno počistite predpomnilnik elementov.",
"LabelEncodingFinishedM4B": "Končana M4B datoteka bo shranjena v vaši mapi z zvočnimi knjigami:",
"LabelEncodingInfoEmbedded": "Metapodatki bodo vdelani v zvočne posnetke znotraj vaše mape zvočne knjige.",
"LabelEncodingStartedNavigation": "Ko se opravilo začne, lahko zapustite to stran.",
"LabelEncodingTimeWarning": "Enkodiranje lahko traja tudi do 30 minut.",
"LabelEncodingWarningAdvancedSettings": "Opozorilo: Ne posodabljajte teh nastavitev, razen če poznate možnosti ekodiranja s programom ffmpeg.",
"LabelEncodingWatcherDisabled": "Če ste spremljanje datotečnega sistema onemogočili, boste morali pozneje ponovno pregledati to zvočno knjigo.",
"LabelEnd": "Konec", "LabelEnd": "Konec",
"LabelEndOfChapter": "Konec poglavja", "LabelEndOfChapter": "Konec poglavja",
"LabelEpisode": "Epizoda", "LabelEpisode": "Epizoda",
"LabelEpisodeNotLinkedToRssFeed": "Epizoda ni povezana z virom RSS",
"LabelEpisodeNumber": "Epizoda #{0}",
"LabelEpisodeTitle": "Naslov epizode", "LabelEpisodeTitle": "Naslov epizode",
"LabelEpisodeType": "Tip epizode", "LabelEpisodeType": "Tip epizode",
"LabelEpisodeUrlFromRssFeed": "URL epizode iz vira RSS",
"LabelEpisodes": "Epizode", "LabelEpisodes": "Epizode",
"LabelEpisodic": "Epizodično",
"LabelExample": "Primer", "LabelExample": "Primer",
"LabelExpandSeries": "Razširi serije", "LabelExpandSeries": "Razširi serije",
"LabelExpandSubSeries": "Razširi podserije", "LabelExpandSubSeries": "Razširi podserije",
@@ -335,6 +358,7 @@
"LabelFontScale": "Merilo pisave", "LabelFontScale": "Merilo pisave",
"LabelFontStrikethrough": "Prečrtano", "LabelFontStrikethrough": "Prečrtano",
"LabelFormat": "Oblika", "LabelFormat": "Oblika",
"LabelFull": "Polno",
"LabelGenre": "Žanr", "LabelGenre": "Žanr",
"LabelGenres": "Žanri", "LabelGenres": "Žanri",
"LabelHardDeleteFile": "Trdo brisanje datoteke", "LabelHardDeleteFile": "Trdo brisanje datoteke",
@@ -349,7 +373,7 @@
"LabelImageURLFromTheWeb": "URL slike iz spleta", "LabelImageURLFromTheWeb": "URL slike iz spleta",
"LabelInProgress": "V teku", "LabelInProgress": "V teku",
"LabelIncludeInTracklist": "Vključi v seznam skladb", "LabelIncludeInTracklist": "Vključi v seznam skladb",
"LabelIncomplete": "Nepopolno", "LabelIncomplete": "Nedokončano",
"LabelInterval": "Interval", "LabelInterval": "Interval",
"LabelIntervalCustomDailyWeekly": "Dnevno/tedensko po meri", "LabelIntervalCustomDailyWeekly": "Dnevno/tedensko po meri",
"LabelIntervalEvery12Hours": "Vsakih 12 ur", "LabelIntervalEvery12Hours": "Vsakih 12 ur",
@@ -390,6 +414,10 @@
"LabelLowestPriority": "Najnižja prioriteta", "LabelLowestPriority": "Najnižja prioriteta",
"LabelMatchExistingUsersBy": "Poveži obstoječe uporabnike po", "LabelMatchExistingUsersBy": "Poveži obstoječe uporabnike po",
"LabelMatchExistingUsersByDescription": "Uporablja se za povezovanje obstoječih uporabnikov. Ko se vzpostavi povezava, se bodo uporabniki ujemali z enoličnim ID-jem vašega ponudnika SSO", "LabelMatchExistingUsersByDescription": "Uporablja se za povezovanje obstoječih uporabnikov. Ko se vzpostavi povezava, se bodo uporabniki ujemali z enoličnim ID-jem vašega ponudnika SSO",
"LabelMaxEpisodesToDownload": "Največje število epizod za prenos. Uporabite 0 za neomejeno.",
"LabelMaxEpisodesToDownloadPerCheck": "Največje število novih epizod za prenos ob preverjanju",
"LabelMaxEpisodesToKeep": "Največje število epizod, ki jih lahko obdržite",
"LabelMaxEpisodesToKeepHelp": "Vrednost 0 ne omejuje navišjega števila. Ko se nova epizoda samodejno prenese, se bo izbrisala najstarejša epizoda, če imate več kot X epizod. S tem boste izbrisali samo 1 epizodo na nov prenos.",
"LabelMediaPlayer": "Medijski predvajalnik", "LabelMediaPlayer": "Medijski predvajalnik",
"LabelMediaType": "Vrsta medija", "LabelMediaType": "Vrsta medija",
"LabelMetaTag": "Meta oznaka", "LabelMetaTag": "Meta oznaka",
@@ -399,8 +427,8 @@
"LabelMinute": "Minuta", "LabelMinute": "Minuta",
"LabelMinutes": "Minute", "LabelMinutes": "Minute",
"LabelMissing": "Manjkajoče", "LabelMissing": "Manjkajoče",
"LabelMissingEbook": "Nima nobene eknjige", "LabelMissingEbook": "Nima nobene e-knjige",
"LabelMissingSupplementaryEbook": "Nima nobene dodatne eknjige", "LabelMissingSupplementaryEbook": "Nima nobene dodatne e-knjige",
"LabelMobileRedirectURIs": "Dovoljeni mobilni preusmeritveni URI-ji", "LabelMobileRedirectURIs": "Dovoljeni mobilni preusmeritveni URI-ji",
"LabelMobileRedirectURIsDescription": "To je seznam dovoljenih veljavnih preusmeritvenih URI-jev za mobilne aplikacije. Privzeti je <code>audiobookshelf://oauth</code>, ki ga lahko odstranite ali dopolnite z dodatnimi URI-ji za integracijo aplikacij tretjih oseb. Uporaba zvezdice (<code>*</code>) kot edinega vnosa dovoljuje kateri koli URI.", "LabelMobileRedirectURIsDescription": "To je seznam dovoljenih veljavnih preusmeritvenih URI-jev za mobilne aplikacije. Privzeti je <code>audiobookshelf://oauth</code>, ki ga lahko odstranite ali dopolnite z dodatnimi URI-ji za integracijo aplikacij tretjih oseb. Uporaba zvezdice (<code>*</code>) kot edinega vnosa dovoljuje kateri koli URI.",
"LabelMore": "Več", "LabelMore": "Več",
@@ -421,7 +449,7 @@
"LabelNotes": "Opombe", "LabelNotes": "Opombe",
"LabelNotificationAppriseURL": "Apprise URL(ji)", "LabelNotificationAppriseURL": "Apprise URL(ji)",
"LabelNotificationAvailableVariables": "Razpoložljive spremenljivke", "LabelNotificationAvailableVariables": "Razpoložljive spremenljivke",
"LabelNotificationBodyTemplate": "Predloga telesa", "LabelNotificationBodyTemplate": "Predloga vsebime",
"LabelNotificationEvent": "Dogodek obvestila", "LabelNotificationEvent": "Dogodek obvestila",
"LabelNotificationTitleTemplate": "Predloga naslova", "LabelNotificationTitleTemplate": "Predloga naslova",
"LabelNotificationsMaxFailedAttempts": "Najvišje število neuspelih poskusov", "LabelNotificationsMaxFailedAttempts": "Najvišje število neuspelih poskusov",
@@ -462,10 +490,12 @@
"LabelProvider": "Ponudnik", "LabelProvider": "Ponudnik",
"LabelProviderAuthorizationValue": "Vrednost glave avtorizacije", "LabelProviderAuthorizationValue": "Vrednost glave avtorizacije",
"LabelPubDate": "Datum objave", "LabelPubDate": "Datum objave",
"LabelPublishYear": "Leto objave", "LabelPublishYear": "Leto izdaje",
"LabelPublishedDate": "Objavljeno {0}", "LabelPublishedDate": "Izdano {0}",
"LabelPublisher": "Založnik", "LabelPublishedDecade": "Desetletje izdaje",
"LabelPublishers": "Založniki", "LabelPublishedDecades": "Desetletja izdaje",
"LabelPublisher": "Izdajatelj",
"LabelPublishers": "Izdajatelji",
"LabelRSSFeedCustomOwnerEmail": "E-pošta lastnika po meri", "LabelRSSFeedCustomOwnerEmail": "E-pošta lastnika po meri",
"LabelRSSFeedCustomOwnerName": "Ime lastnika po meri", "LabelRSSFeedCustomOwnerName": "Ime lastnika po meri",
"LabelRSSFeedOpen": "Odprt vir RSS", "LabelRSSFeedOpen": "Odprt vir RSS",
@@ -483,21 +513,28 @@
"LabelRedo": "Ponovi", "LabelRedo": "Ponovi",
"LabelRegion": "Regija", "LabelRegion": "Regija",
"LabelReleaseDate": "Datum izdaje", "LabelReleaseDate": "Datum izdaje",
"LabelRemoveAllMetadataAbs": "Odstrani vse datoteke metadata.abs",
"LabelRemoveAllMetadataJson": "Odstrani vse datoteke metadata.json",
"LabelRemoveCover": "Odstrani naslovnico", "LabelRemoveCover": "Odstrani naslovnico",
"LabelRemoveMetadataFile": "Odstrani datoteke z metapodatki v mapah elementov knjižnice",
"LabelRemoveMetadataFileHelp": "Odstrani vse datoteke metadata.json in metadata.abs v svojih mapah {0}.",
"LabelRowsPerPage": "Vrstic na stran", "LabelRowsPerPage": "Vrstic na stran",
"LabelSearchTerm": "Iskalni pojem", "LabelSearchTerm": "Iskalni pojem",
"LabelSearchTitle": "Naslov iskanja", "LabelSearchTitle": "Naslov iskanja",
"LabelSearchTitleOrASIN": "Naslov iskanja ali ASIN", "LabelSearchTitleOrASIN": "Naslov iskanja ali ASIN",
"LabelSeason": "Sezona", "LabelSeason": "Sezona",
"LabelSeasonNumber": "Sezona #{0}",
"LabelSelectAll": "Izberite vse", "LabelSelectAll": "Izberite vse",
"LabelSelectAllEpisodes": "Izberite vse epizode", "LabelSelectAllEpisodes": "Izberite vse epizode",
"LabelSelectEpisodesShowing": "Izberi {0} prikazanih epizod", "LabelSelectEpisodesShowing": "Izberi {0} prikazanih epizod",
"LabelSelectUsers": "Izberite uporabnike", "LabelSelectUsers": "Izberite uporabnike",
"LabelSendEbookToDevice": "Pošlji eknjigo k...", "LabelSendEbookToDevice": "Pošlji eknjigo k...",
"LabelSequence": "Zaporedje", "LabelSequence": "Zaporedje",
"LabelSerial": "Serija",
"LabelSeries": "Serije", "LabelSeries": "Serije",
"LabelSeriesName": "Ime serije", "LabelSeriesName": "Ime serije",
"LabelSeriesProgress": "Napredek serije", "LabelSeriesProgress": "Napredek serije",
"LabelServerLogLevel": "Raven dnevnika strežnika",
"LabelServerYearReview": "Pregled leta strežnika ({0})", "LabelServerYearReview": "Pregled leta strežnika ({0})",
"LabelSetEbookAsPrimary": "Nastavi kot primarno", "LabelSetEbookAsPrimary": "Nastavi kot primarno",
"LabelSetEbookAsSupplementary": "Nastavi kot dodatno", "LabelSetEbookAsSupplementary": "Nastavi kot dodatno",
@@ -506,11 +543,11 @@
"LabelSettingsBookshelfViewHelp": "Skeuomorfna oblika z lesenimi policami", "LabelSettingsBookshelfViewHelp": "Skeuomorfna oblika z lesenimi policami",
"LabelSettingsChromecastSupport": "Podpora za Chromecast", "LabelSettingsChromecastSupport": "Podpora za Chromecast",
"LabelSettingsDateFormat": "Oblika datuma", "LabelSettingsDateFormat": "Oblika datuma",
"LabelSettingsDisableWatcher": "Onemogoči pregledovalca", "LabelSettingsDisableWatcher": "Onemogoči spremljanje datotečnega sistema",
"LabelSettingsDisableWatcherForLibrary": "Onemogoči pregledovalca map za knjižnico", "LabelSettingsDisableWatcherForLibrary": "Onemogoči spremljanje map za knjižnico",
"LabelSettingsDisableWatcherHelp": "Onemogoči samodejno dodajanje/posodabljanje elementov, ko so zaznane spremembe datoteke. *Potreben je ponovni zagon strežnika", "LabelSettingsDisableWatcherHelp": "Onemogoči samodejno dodajanje/posodabljanje elementov, ko so zaznane spremembe datoteke. *Potreben je ponovni zagon strežnika",
"LabelSettingsEnableWatcher": "Omogoči pregledovalca", "LabelSettingsEnableWatcher": "Omogoči spremljanje sprememb",
"LabelSettingsEnableWatcherForLibrary": "Omogoči pregledovalca map za knjižnico", "LabelSettingsEnableWatcherForLibrary": "Omogoči spremljanje sprememb v mapi knjižnice",
"LabelSettingsEnableWatcherHelp": "Omogoča samodejno dodajanje/posodabljanje elementov, ko so zaznane spremembe datoteke. *Potreben je ponovni zagon strežnika", "LabelSettingsEnableWatcherHelp": "Omogoča samodejno dodajanje/posodabljanje elementov, ko so zaznane spremembe datoteke. *Potreben je ponovni zagon strežnika",
"LabelSettingsEpubsAllowScriptedContent": "Dovoli skriptirano vsebino v epubih", "LabelSettingsEpubsAllowScriptedContent": "Dovoli skriptirano vsebino v epubih",
"LabelSettingsEpubsAllowScriptedContentHelp": "Dovoli datotekam epub izvajanje skript. Priporočljivo je, da to nastavitev pustite onemogočeno, razen če zaupate viru datotek epub.", "LabelSettingsEpubsAllowScriptedContentHelp": "Dovoli datotekam epub izvajanje skript. Priporočljivo je, da to nastavitev pustite onemogočeno, razen če zaupate viru datotek epub.",
@@ -525,12 +562,12 @@
"LabelSettingsOnlyShowLaterBooksInContinueSeries": "Preskoči prejšnje knjige v nadaljevanju serije", "LabelSettingsOnlyShowLaterBooksInContinueSeries": "Preskoči prejšnje knjige v nadaljevanju serije",
"LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Polica z domačo stranjo Nadaljuj serijo prikazuje prvo nezačeto knjigo v seriji, ki ima vsaj eno dokončano knjigo in ni nobene knjige v teku. Če omogočite to nastavitev, se bo serija nadaljevala od najbolj dokončane knjige namesto od prve nezačete knjige.", "LabelSettingsOnlyShowLaterBooksInContinueSeriesHelp": "Polica z domačo stranjo Nadaljuj serijo prikazuje prvo nezačeto knjigo v seriji, ki ima vsaj eno dokončano knjigo in ni nobene knjige v teku. Če omogočite to nastavitev, se bo serija nadaljevala od najbolj dokončane knjige namesto od prve nezačete knjige.",
"LabelSettingsParseSubtitles": "Uporabi podnapise", "LabelSettingsParseSubtitles": "Uporabi podnapise",
"LabelSettingsParseSubtitlesHelp": "Izvleci podnapise iz imen map zvočnih knjig.<br>Podnaslov mora biti ločen z \" - \"<br>npr. »Naslov knjige Tu podnapis« ima podnaslov »Tu podnapis«", "LabelSettingsParseSubtitlesHelp": "Izvleci podnapise iz imen map zvočnih knjig.<br>Podnapis mora biti ločen z \" - \"<br>npr. \"Naslov knjige tu podnapis\" ima podnapis \"tu podnapis\"",
"LabelSettingsPreferMatchedMetadata": "Prednost imajo ujemajoči se metapodatki", "LabelSettingsPreferMatchedMetadata": "Prednost imajo ujemajoči se metapodatki",
"LabelSettingsPreferMatchedMetadataHelp": "Pri uporabi hitrega ujemanja bodo ujemajoči se podatki preglasili podrobnosti artikla. Hitro ujemanje bo privzeto izpolnil samo manjkajoče podrobnosti.", "LabelSettingsPreferMatchedMetadataHelp": "Pri uporabi hitrega ujemanja bodo ujemajoči se podatki preglasili podrobnosti artikla. Hitro ujemanje bo privzeto izpolnil samo manjkajoče podrobnosti.",
"LabelSettingsSkipMatchingBooksWithASIN": "Preskoči ujemajoče se knjige, ki že imajo ASIN", "LabelSettingsSkipMatchingBooksWithASIN": "Preskoči ujemajoče se knjige, ki že imajo ASIN",
"LabelSettingsSkipMatchingBooksWithISBN": "Preskoči ujemajoče se knjige, ki že imajo oznako ISBN", "LabelSettingsSkipMatchingBooksWithISBN": "Preskoči ujemajoče se knjige, ki že imajo oznako ISBN",
"LabelSettingsSortingIgnorePrefixes": "Pri razvrščanju ne upoštevajte predpon", "LabelSettingsSortingIgnorePrefixes": "Pri razvrščanju ne upoštevaj predpon",
"LabelSettingsSortingIgnorePrefixesHelp": "npr. za naslov knjige s predpono \"the\" bi se \"The Book Title\" razvrstil kot \"Book Title, The\"", "LabelSettingsSortingIgnorePrefixesHelp": "npr. za naslov knjige s predpono \"the\" bi se \"The Book Title\" razvrstil kot \"Book Title, The\"",
"LabelSettingsSquareBookCovers": "Uporabi kvadratne platnice knjig", "LabelSettingsSquareBookCovers": "Uporabi kvadratne platnice knjig",
"LabelSettingsSquareBookCoversHelp": "Raje uporabi kvadratne platnice kot standardne knjižne platnice 1.6:1", "LabelSettingsSquareBookCoversHelp": "Raje uporabi kvadratne platnice kot standardne knjižne platnice 1.6:1",
@@ -557,15 +594,15 @@
"LabelStatsBestDay": "Najboljši dan", "LabelStatsBestDay": "Najboljši dan",
"LabelStatsDailyAverage": "Dnevno povprečje", "LabelStatsDailyAverage": "Dnevno povprečje",
"LabelStatsDays": "Dnevi", "LabelStatsDays": "Dnevi",
"LabelStatsDaysListened": "Poslušani dnevi", "LabelStatsDaysListened": "Dnevi poslušanja",
"LabelStatsHours": "Ure", "LabelStatsHours": "Ure",
"LabelStatsInARow": "v vrsti", "LabelStatsInARow": "v vrsti",
"LabelStatsItemsFinished": "Končani elementi", "LabelStatsItemsFinished": "Končani elementi",
"LabelStatsItemsInLibrary": "Elementi v knjižnici", "LabelStatsItemsInLibrary": "Elementi v knjižnici",
"LabelStatsMinutes": "minute", "LabelStatsMinutes": "minute",
"LabelStatsMinutesListening": "Poslušane minute", "LabelStatsMinutesListening": "Minut poslušanja",
"LabelStatsOverallDays": "Skupaj dnevi", "LabelStatsOverallDays": "Skupaj dnevi",
"LabelStatsOverallHours": "Skupaj ure", "LabelStatsOverallHours": "Skupaj ur",
"LabelStatsWeekListening": "Tednov poslušanja", "LabelStatsWeekListening": "Tednov poslušanja",
"LabelSubtitle": "Podnapis", "LabelSubtitle": "Podnapis",
"LabelSupportedFileTypes": "Podprte vrste datotek", "LabelSupportedFileTypes": "Podprte vrste datotek",
@@ -586,6 +623,7 @@
"LabelTimeDurationXMinutes": "{0} minut", "LabelTimeDurationXMinutes": "{0} minut",
"LabelTimeDurationXSeconds": "{0} sekund", "LabelTimeDurationXSeconds": "{0} sekund",
"LabelTimeInMinutes": "Čas v minutah", "LabelTimeInMinutes": "Čas v minutah",
"LabelTimeLeft": "{0} še preostane",
"LabelTimeListened": "Čas poslušanja", "LabelTimeListened": "Čas poslušanja",
"LabelTimeListenedToday": "Čas poslušanja danes", "LabelTimeListenedToday": "Čas poslušanja danes",
"LabelTimeRemaining": "Še {0}", "LabelTimeRemaining": "Še {0}",
@@ -593,8 +631,9 @@
"LabelTitle": "Naslov", "LabelTitle": "Naslov",
"LabelToolsEmbedMetadata": "Vdelaj metapodatke", "LabelToolsEmbedMetadata": "Vdelaj metapodatke",
"LabelToolsEmbedMetadataDescription": "Vdelajte metapodatke v zvočne datoteke, vključno s sliko naslovnice in poglavji.", "LabelToolsEmbedMetadataDescription": "Vdelajte metapodatke v zvočne datoteke, vključno s sliko naslovnice in poglavji.",
"LabelToolsMakeM4b": "Ustvari datoteko zvočne knjige M4B", "LabelToolsM4bEncoder": "M4B enkoder",
"LabelToolsMakeM4bDescription": "Ustvarite datoteko zvočne knjige .M4B z vdelanimi metapodatki, sliko naslovnice in poglavji.", "LabelToolsMakeM4b": "Ustvari M4B datoteko zvočne knjige",
"LabelToolsMakeM4bDescription": "Ustvari zvočno knjigo v .M4B obliki z vdelanimi metapodatki, sliko naslovnice in poglavji.",
"LabelToolsSplitM4b": "Razdeli M4B v MP3 datoteke", "LabelToolsSplitM4b": "Razdeli M4B v MP3 datoteke",
"LabelToolsSplitM4bDescription": "Ustvarite MP3 datoteke iz datoteke M4B, razdeljene po poglavjih z vdelanimi metapodatki, naslovno sliko in poglavji.", "LabelToolsSplitM4bDescription": "Ustvarite MP3 datoteke iz datoteke M4B, razdeljene po poglavjih z vdelanimi metapodatki, naslovno sliko in poglavji.",
"LabelTotalDuration": "Skupno trajanje", "LabelTotalDuration": "Skupno trajanje",
@@ -605,11 +644,12 @@
"LabelTracksMultiTrack": "Več posnetkov", "LabelTracksMultiTrack": "Več posnetkov",
"LabelTracksNone": "Brez posnetka", "LabelTracksNone": "Brez posnetka",
"LabelTracksSingleTrack": "Enojni posnetek", "LabelTracksSingleTrack": "Enojni posnetek",
"LabelTrailer": "Napovednik",
"LabelType": "Vrsta", "LabelType": "Vrsta",
"LabelUnabridged": "Neskrajšano", "LabelUnabridged": "Neskrajšano",
"LabelUndo": "Razveljavi", "LabelUndo": "Razveljavi",
"LabelUnknown": "Neznano", "LabelUnknown": "Neznano",
"LabelUnknownPublishDate": "Neznan datum objave", "LabelUnknownPublishDate": "Neznan datum izdaje",
"LabelUpdateCover": "Posodobi naslovnico", "LabelUpdateCover": "Posodobi naslovnico",
"LabelUpdateCoverHelp": "Dovoli prepisovanje obstoječih naslovnic za izbrane knjige, ko se najde ujemanje", "LabelUpdateCoverHelp": "Dovoli prepisovanje obstoječih naslovnic za izbrane knjige, ko se najde ujemanje",
"LabelUpdateDetails": "Posodobi podrobnosti", "LabelUpdateDetails": "Posodobi podrobnosti",
@@ -618,8 +658,10 @@
"LabelUploaderDragAndDrop": "Povleci in spusti datoteke ali mape", "LabelUploaderDragAndDrop": "Povleci in spusti datoteke ali mape",
"LabelUploaderDropFiles": "Spusti datoteke", "LabelUploaderDropFiles": "Spusti datoteke",
"LabelUploaderItemFetchMetadataHelp": "Samodejno pridobi naslov, avtorja in serijo", "LabelUploaderItemFetchMetadataHelp": "Samodejno pridobi naslov, avtorja in serijo",
"LabelUseAdvancedOptions": "Uporabi napredne možnosti",
"LabelUseChapterTrack": "Uporabi posnetek poglavij", "LabelUseChapterTrack": "Uporabi posnetek poglavij",
"LabelUseFullTrack": "Uporabi celoten posnetek", "LabelUseFullTrack": "Uporabi celoten posnetek",
"LabelUseZeroForUnlimited": "Uporabi 0 za neomejeno",
"LabelUser": "Uporabnik", "LabelUser": "Uporabnik",
"LabelUsername": "Uporabniško ime", "LabelUsername": "Uporabniško ime",
"LabelValue": "Vrednost", "LabelValue": "Vrednost",
@@ -639,7 +681,7 @@
"LabelYourPlaylists": "Tvoje seznami predvajanj", "LabelYourPlaylists": "Tvoje seznami predvajanj",
"LabelYourProgress": "Tvoj napredek", "LabelYourProgress": "Tvoj napredek",
"MessageAddToPlayerQueue": "Dodaj v čakalno vrsto predvajalnika", "MessageAddToPlayerQueue": "Dodaj v čakalno vrsto predvajalnika",
"MessageAppriseDescription": "Če želite uporabljati to funkcijo, morate imeti zagnan primerek <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">API Apprise</a> ali API, ki bo obravnaval te iste zahteve. <br />Url API-ja Apprise mora biti celotna pot URL-ja za pošiljanje obvestila, npr. če je vaš primerek API-ja postrežen na <code>http://192.168.1.1:8337</code>, bi morali vnesti <code >http://192.168.1.1:8337/notify</code>.", "MessageAppriseDescription": "Če želite uporabljati to funkcijo, morate imeti zagnano namestitev <a href=\"https://github.com/caronc/apprise-api\" target=\"_blank\">API Apprise</a> ali API, ki bo obravnavala te iste zahteve. <br />Url API-ja Apprise mora biti celotna pot URL-ja za pošiljanje obvestila, npr. če je vaša namestitev API-ja postrežena na <code>http://192.168.1.1:8337</code>, bi morali vnesti <code >http://192.168.1.1:8337/notify</code>.",
"MessageBackupsDescription": "Varnostne kopije vključujejo uporabnike, napredek uporabnikov, podrobnosti elementov knjižnice, nastavitve strežnika in slike, shranjene v <code>/metadata/items</code> & <code>/metadata/authors</code>. Varnostne kopije <strong>ne</strong> vključujejo datotek, shranjenih v mapah vaše knjižnice.", "MessageBackupsDescription": "Varnostne kopije vključujejo uporabnike, napredek uporabnikov, podrobnosti elementov knjižnice, nastavitve strežnika in slike, shranjene v <code>/metadata/items</code> & <code>/metadata/authors</code>. Varnostne kopije <strong>ne</strong> vključujejo datotek, shranjenih v mapah vaše knjižnice.",
"MessageBackupsLocationEditNote": "Opomba: Posodabljanje lokacije varnostne kopije ne bo premaknilo ali spremenilo obstoječih varnostnih kopij", "MessageBackupsLocationEditNote": "Opomba: Posodabljanje lokacije varnostne kopije ne bo premaknilo ali spremenilo obstoječih varnostnih kopij",
"MessageBackupsLocationNoEditNote": "Opomba: Lokacija varnostne kopije je nastavljena s spremenljivko okolja in je tu ni mogoče spremeniti.", "MessageBackupsLocationNoEditNote": "Opomba: Lokacija varnostne kopije je nastavljena s spremenljivko okolja in je tu ni mogoče spremeniti.",
@@ -650,9 +692,9 @@
"MessageBookshelfNoResultsForFilter": "Ni rezultatov za filter \"{0}: {1}\"", "MessageBookshelfNoResultsForFilter": "Ni rezultatov za filter \"{0}: {1}\"",
"MessageBookshelfNoResultsForQuery": "Ni rezultatov za poizvedbo", "MessageBookshelfNoResultsForQuery": "Ni rezultatov za poizvedbo",
"MessageBookshelfNoSeries": "Nimate serij", "MessageBookshelfNoSeries": "Nimate serij",
"MessageChapterEndIsAfter": "Konec poglavja je za koncem vaše zvočne knjige", "MessageChapterEndIsAfter": "Konec poglavja je po koncu zvočne knjige",
"MessageChapterErrorFirstNotZero": "Prvo poglavje se mora začeti pri 0", "MessageChapterErrorFirstNotZero": "Prvo poglavje se mora začeti pri 0",
"MessageChapterErrorStartGteDuration": "Neveljaven začetni čas mora biti krajši od trajanja zvočne knjige", "MessageChapterErrorStartGteDuration": "Neveljaven začetni čas, mora biti krajši od trajanja zvočne knjige",
"MessageChapterErrorStartLtPrev": "Neveljaven začetni čas mora biti večji od ali enak začetnemu času prejšnjega poglavja", "MessageChapterErrorStartLtPrev": "Neveljaven začetni čas mora biti večji od ali enak začetnemu času prejšnjega poglavja",
"MessageChapterStartIsAfter": "Začetek poglavja je po koncu vaše zvočne knjige", "MessageChapterStartIsAfter": "Začetek poglavja je po koncu vaše zvočne knjige",
"MessageCheckingCron": "Preverjam cron...", "MessageCheckingCron": "Preverjam cron...",
@@ -666,7 +708,8 @@
"MessageConfirmDeleteMetadataProvider": "Ali ste prepričani, da želite izbrisati ponudnika metapodatkov po meri \"{0}\"?", "MessageConfirmDeleteMetadataProvider": "Ali ste prepričani, da želite izbrisati ponudnika metapodatkov po meri \"{0}\"?",
"MessageConfirmDeleteNotification": "Ali ste prepričani, da želite izbrisati to obvestilo?", "MessageConfirmDeleteNotification": "Ali ste prepričani, da želite izbrisati to obvestilo?",
"MessageConfirmDeleteSession": "Ali ste prepričani, da želite izbrisati to sejo?", "MessageConfirmDeleteSession": "Ali ste prepričani, da želite izbrisati to sejo?",
"MessageConfirmForceReScan": "Ali ste prepričani, da želite vsiliti ponovno iskanje?", "MessageConfirmEmbedMetadataInAudioFiles": "Ali ste prepričani, da želite vdelati metapodatke v {0} zvočnih datotek?",
"MessageConfirmForceReScan": "Ali ste prepričani, da želite vsiliti ponovno pregledovanje?",
"MessageConfirmMarkAllEpisodesFinished": "Ali ste prepričani, da želite označiti vse epizode kot dokončane?", "MessageConfirmMarkAllEpisodesFinished": "Ali ste prepričani, da želite označiti vse epizode kot dokončane?",
"MessageConfirmMarkAllEpisodesNotFinished": "Ali ste prepričani, da želite vse epizode označiti kot nedokončane?", "MessageConfirmMarkAllEpisodesNotFinished": "Ali ste prepričani, da želite vse epizode označiti kot nedokončane?",
"MessageConfirmMarkItemFinished": "Ali ste prepričani, da želite \"{0}\" označiti kot dokončanega?", "MessageConfirmMarkItemFinished": "Ali ste prepričani, da želite \"{0}\" označiti kot dokončanega?",
@@ -677,13 +720,15 @@
"MessageConfirmPurgeCache": "Čiščenje predpomnilnika bo izbrisalo celoten imenik v <code>/metadata/cache</code>. <br /><br />Ali ste prepričani, da želite odstraniti imenik predpomnilnika?", "MessageConfirmPurgeCache": "Čiščenje predpomnilnika bo izbrisalo celoten imenik v <code>/metadata/cache</code>. <br /><br />Ali ste prepričani, da želite odstraniti imenik predpomnilnika?",
"MessageConfirmPurgeItemsCache": "Čiščenje predpomnilnika elementov bo izbrisalo celoten imenik na <code>/metadata/cache/items</code>.<br />Ste prepričani?", "MessageConfirmPurgeItemsCache": "Čiščenje predpomnilnika elementov bo izbrisalo celoten imenik na <code>/metadata/cache/items</code>.<br />Ste prepričani?",
"MessageConfirmQuickEmbed": "Opozorilo! Hitra vdelava ne bo varnostno kopirala vaših zvočnih datotek. Prepričajte se, da imate varnostno kopijo zvočnih datotek. <br><br>Ali želite nadaljevati?", "MessageConfirmQuickEmbed": "Opozorilo! Hitra vdelava ne bo varnostno kopirala vaših zvočnih datotek. Prepričajte se, da imate varnostno kopijo zvočnih datotek. <br><br>Ali želite nadaljevati?",
"MessageConfirmReScanLibraryItems": "Ali ste prepričani, da želite ponovno poiskati {0} elementov?", "MessageConfirmQuickMatchEpisodes": "Hitro ujemanja epizod bo prepisalo podrobnosti, če se najde ujemanje. Posodobljene bodo samo epizode, ki se ne ujemajo. Ste prepričani?",
"MessageConfirmReScanLibraryItems": "Ali ste prepričani, da želite ponovno pregledati {0} elementov?",
"MessageConfirmRemoveAllChapters": "Ali ste prepričani, da želite odstraniti vsa poglavja?", "MessageConfirmRemoveAllChapters": "Ali ste prepričani, da želite odstraniti vsa poglavja?",
"MessageConfirmRemoveAuthor": "Ali ste prepričani, da želite odstraniti avtorja \"{0}\"?", "MessageConfirmRemoveAuthor": "Ali ste prepričani, da želite odstraniti avtorja \"{0}\"?",
"MessageConfirmRemoveCollection": "Ali ste prepričani, da želite odstraniti zbirko \"{0}\"?", "MessageConfirmRemoveCollection": "Ali ste prepričani, da želite odstraniti zbirko \"{0}\"?",
"MessageConfirmRemoveEpisode": "Ali ste prepričani, da želite odstraniti epizodo \"{0}\"?", "MessageConfirmRemoveEpisode": "Ali ste prepričani, da želite odstraniti epizodo \"{0}\"?",
"MessageConfirmRemoveEpisodes": "Ali ste prepričani, da želite odstraniti {0} epizod?", "MessageConfirmRemoveEpisodes": "Ali ste prepričani, da želite odstraniti {0} epizod?",
"MessageConfirmRemoveListeningSessions": "Ali ste prepričani, da želite odstraniti {0} sej poslušanja?", "MessageConfirmRemoveListeningSessions": "Ali ste prepričani, da želite odstraniti {0} sej poslušanja?",
"MessageConfirmRemoveMetadataFiles": "Ali ste prepričani, da želite odstraniti vse metapodatke.{0} v mapah elementov knjižnice?",
"MessageConfirmRemoveNarrator": "Ali ste prepričani, da želite odstraniti bralca \"{0}\"?", "MessageConfirmRemoveNarrator": "Ali ste prepričani, da želite odstraniti bralca \"{0}\"?",
"MessageConfirmRemovePlaylist": "Ali ste prepričani, da želite odstraniti svoj seznam predvajanja \"{0}\"?", "MessageConfirmRemovePlaylist": "Ali ste prepričani, da želite odstraniti svoj seznam predvajanja \"{0}\"?",
"MessageConfirmRenameGenre": "Ali ste prepričani, da želite preimenovati žanr \"{0}\" v \"{1}\" za vse elemente?", "MessageConfirmRenameGenre": "Ali ste prepričani, da želite preimenovati žanr \"{0}\" v \"{1}\" za vse elemente?",
@@ -699,11 +744,12 @@
"MessageDragFilesIntoTrackOrder": "Povlecite datoteke v pravilen vrstni red posnetkov", "MessageDragFilesIntoTrackOrder": "Povlecite datoteke v pravilen vrstni red posnetkov",
"MessageEmbedFailed": "Vdelava ni uspela!", "MessageEmbedFailed": "Vdelava ni uspela!",
"MessageEmbedFinished": "Vdelava končana!", "MessageEmbedFinished": "Vdelava končana!",
"MessageEmbedQueue": "V čakalni vrsta za vdelavo metapodatkov ({0} v čakalni vrsti)",
"MessageEpisodesQueuedForDownload": "{0} epizod v čakalni vrsti za prenos", "MessageEpisodesQueuedForDownload": "{0} epizod v čakalni vrsti za prenos",
"MessageEreaderDevices": "Da zagotovite dostavo e-knjig, boste morda morali dodati zgornji e-poštni naslov kot veljavnega pošiljatelja za vsako spodaj navedeno napravo.", "MessageEreaderDevices": "Da zagotovite dostavo e-knjig, boste morda morali dodati zgornji e-poštni naslov kot veljavnega pošiljatelja za vsako spodaj navedeno napravo.",
"MessageFeedURLWillBe": "URL vira bo {0}", "MessageFeedURLWillBe": "URL vira bo {0}",
"MessageFetching": "Pridobivam...", "MessageFetching": "Pridobivam...",
"MessageForceReScanDescription": "bo znova pregledal vse datoteke kot nov pregled. Oznake ID3 zvočnih datotek, datoteke OPF in besedilne datoteke bodo pregledane kot nove.", "MessageForceReScanDescription": "bo znova pregledal vse datoteke kot pregled od začetka. Oznake ID3 zvočnih datotek, datoteke OPF in besedilne datoteke bodo pregledane kot nove.",
"MessageImportantNotice": "Pomembno obvestilo!", "MessageImportantNotice": "Pomembno obvestilo!",
"MessageInsertChapterBelow": "Spodaj vstavite poglavje", "MessageInsertChapterBelow": "Spodaj vstavite poglavje",
"MessageItemsSelected": "{0} izbranih elementov", "MessageItemsSelected": "{0} izbranih elementov",
@@ -715,12 +761,12 @@
"MessageLogsDescription": "Dnevniki so shranjeni v <code>/metadata/logs</code> kot datoteke JSON. Dnevniki zrušitev so shranjeni v <code>/metadata/logs/crash_logs.txt</code>.", "MessageLogsDescription": "Dnevniki so shranjeni v <code>/metadata/logs</code> kot datoteke JSON. Dnevniki zrušitev so shranjeni v <code>/metadata/logs/crash_logs.txt</code>.",
"MessageM4BFailed": "M4B ni uspel!", "MessageM4BFailed": "M4B ni uspel!",
"MessageM4BFinished": "M4B končan!", "MessageM4BFinished": "M4B končan!",
"MessageMapChapterTitles": "Preslikajte naslove poglavij v obstoječa poglavja zvočne knjige brez prilagajanja časovnih žigov", "MessageMapChapterTitles": "Preslikaj naslove poglavij v obstoječa poglavja zvočne knjige brez prilagajanja časovnih indentifikatorjev",
"MessageMarkAllEpisodesFinished": "Označi vse epizode kot končane", "MessageMarkAllEpisodesFinished": "Označi vse epizode kot končane",
"MessageMarkAllEpisodesNotFinished": "Označi vse epizode kot nedokončane", "MessageMarkAllEpisodesNotFinished": "Označi vse epizode kot nedokončane",
"MessageMarkAsFinished": "Označi kot dokončano", "MessageMarkAsFinished": "Označi kot dokončano",
"MessageMarkAsNotFinished": "Označi kot nedokončano", "MessageMarkAsNotFinished": "Označi kot nedokončano",
"MessageMatchBooksDescription": "bo poskušal povezati knjige v knjižnici s knjigo izbranega ponudnika iskanja in izpolniti prazne podatke in naslovnico. Ne prepisujejo se pa podrobnosti.", "MessageMatchBooksDescription": "bo poskušal povezati knjige v knjižnici s knjigo izbranega ponudnika iskanja in izpolniti prazne podatke in naslovnico. Ne prepisuje čez obstoječe podatke.",
"MessageNoAudioTracks": "Ni zvočnih posnetkov", "MessageNoAudioTracks": "Ni zvočnih posnetkov",
"MessageNoAuthors": "Brez avtorjev", "MessageNoAuthors": "Brez avtorjev",
"MessageNoBackups": "Brez varnostnih kopij", "MessageNoBackups": "Brez varnostnih kopij",
@@ -743,6 +789,7 @@
"MessageNoLogs": "Ni dnevnikov", "MessageNoLogs": "Ni dnevnikov",
"MessageNoMediaProgress": "Ni medijskega napredka", "MessageNoMediaProgress": "Ni medijskega napredka",
"MessageNoNotifications": "Ni obvestil", "MessageNoNotifications": "Ni obvestil",
"MessageNoPodcastFeed": "Neveljaven podcast: Ni vira",
"MessageNoPodcastsFound": "Ni podcastov", "MessageNoPodcastsFound": "Ni podcastov",
"MessageNoResults": "Ni rezultatov", "MessageNoResults": "Ni rezultatov",
"MessageNoSearchResultsFor": "Ni rezultatov iskanja za \"{0}\"", "MessageNoSearchResultsFor": "Ni rezultatov iskanja za \"{0}\"",
@@ -759,6 +806,10 @@
"MessagePlaylistCreateFromCollection": "Ustvari seznam predvajanja iz zbirke", "MessagePlaylistCreateFromCollection": "Ustvari seznam predvajanja iz zbirke",
"MessagePleaseWait": "Prosim počakajte...", "MessagePleaseWait": "Prosim počakajte...",
"MessagePodcastHasNoRSSFeedForMatching": "Podcast nima URL-ja vira RSS, ki bi ga lahko uporabil za ujemanje", "MessagePodcastHasNoRSSFeedForMatching": "Podcast nima URL-ja vira RSS, ki bi ga lahko uporabil za ujemanje",
"MessagePodcastSearchField": "Vnesite iskalni izraz ali URL vira RSS",
"MessageQuickEmbedInProgress": "Hitra vdelava je v teku",
"MessageQuickEmbedQueue": "V čakalni vrsti za hitro vdelavo ({0} v čakalni vrsti)",
"MessageQuickMatchAllEpisodes": "Hitro ujemanje vseh epizod",
"MessageQuickMatchDescription": "Izpolni prazne podrobnosti elementa in naslovnico s prvim rezultatom ujemanja iz '{0}'. Ne prepiše podrobnosti, razen če je omogočena nastavitev strežnika 'Prednostno ujemajoči se metapodatki'.", "MessageQuickMatchDescription": "Izpolni prazne podrobnosti elementa in naslovnico s prvim rezultatom ujemanja iz '{0}'. Ne prepiše podrobnosti, razen če je omogočena nastavitev strežnika 'Prednostno ujemajoči se metapodatki'.",
"MessageRemoveChapter": "Odstrani poglavje", "MessageRemoveChapter": "Odstrani poglavje",
"MessageRemoveEpisodes": "Odstrani toliko epizod: {0}", "MessageRemoveEpisodes": "Odstrani toliko epizod: {0}",
@@ -776,12 +827,47 @@
"MessageShareExpiresIn": "Poteče čez {0}", "MessageShareExpiresIn": "Poteče čez {0}",
"MessageShareURLWillBe": "URL za skupno rabo bo <strong>{0}</strong>", "MessageShareURLWillBe": "URL za skupno rabo bo <strong>{0}</strong>",
"MessageStartPlaybackAtTime": "Začni predvajanje za \"{0}\" ob {1}?", "MessageStartPlaybackAtTime": "Začni predvajanje za \"{0}\" ob {1}?",
"MessageTaskAudioFileNotWritable": "Zvočna datoteka \"{0}\" ni zapisljiva",
"MessageTaskCanceledByUser": "Nalogo je preklical uporabnik",
"MessageTaskDownloadingEpisodeDescription": "Prenašanje epizode \"{0}\"",
"MessageTaskEmbeddingMetadata": "Vdelujem metapodatke",
"MessageTaskEmbeddingMetadataDescription": "Vdelujem metapodatke v zvočno knjigo \"{0}\"",
"MessageTaskEncodingM4b": "Enkodiranje M4B",
"MessageTaskEncodingM4bDescription": "Enkodiranje zvočne knjige \"{0}\" v samo eno datoteko m4b",
"MessageTaskFailed": "Neuspešno",
"MessageTaskFailedToBackupAudioFile": "Varnostno kopiranje zvočne datoteke \"{0}\" ni uspelo",
"MessageTaskFailedToCreateCacheDirectory": "Imenika predpomnilnika ni bilo mogoče ustvariti",
"MessageTaskFailedToEmbedMetadataInFile": "Metapodatkov ni bilo mogoče vdelati v datoteko \"{0}\"",
"MessageTaskFailedToMergeAudioFiles": "Zvočnih datotek ni bilo mogoče združiti",
"MessageTaskFailedToMoveM4bFile": "Datoteke m4b ni bilo mogoče premakniti",
"MessageTaskFailedToWriteMetadataFile": "Metapodatke ni bilo mogoče zapisati v datoteke",
"MessageTaskMatchingBooksInLibrary": "Prepoznavam knjige v knjižnici \"{0}\"",
"MessageTaskNoFilesToScan": "Ni datotek za pregledovanje",
"MessageTaskOpmlImport": "Uvoz OPML",
"MessageTaskOpmlImportDescription": "Ustvarjanje podcastov iz {0} virov RSS",
"MessageTaskOpmlImportFeed": "Vir za uvoz OPML",
"MessageTaskOpmlImportFeedDescription": "Uvažanje vira RSS \"{0}\"",
"MessageTaskOpmlImportFeedFailed": "Vira podcasta ni bilo mogoče pridobiti",
"MessageTaskOpmlImportFeedPodcastDescription": "Ustvarjanje podcasta \"{0}\"",
"MessageTaskOpmlImportFeedPodcastExists": "Podcast že obstaja na tej poti",
"MessageTaskOpmlImportFeedPodcastFailed": "Podcasta ni bilo mogoče ustvariti",
"MessageTaskOpmlImportFinished": "Dodanih {0} podcastov",
"MessageTaskOpmlParseFailed": "Datoteke OPML ni bilo mogoče razčleniti",
"MessageTaskOpmlParseFastFail": "Neveljavna OPMPL datoteka, oznake <opml> ni bilo mogoče najti ALI oznake <outline> ni bilo mogoče najti",
"MessageTaskOpmlParseNoneFound": "V datoteki OPML ni virov",
"MessageTaskScanItemsAdded": "{0} dodano",
"MessageTaskScanItemsMissing": "{0} manjka",
"MessageTaskScanItemsUpdated": "{0} posodobljeno",
"MessageTaskScanNoChangesNeeded": "Spremembe niso potrebne",
"MessageTaskScanningFileChanges": "Pregledovanje sprememb v datoteki \"{0}\"",
"MessageTaskScanningLibrary": "Pregledujem knjižnico \"{0}\"",
"MessageTaskTargetDirectoryNotWritable": "Ciljni imenik ni zapisljiv",
"MessageThinking": "Razmišljam...", "MessageThinking": "Razmišljam...",
"MessageUploaderItemFailed": "Nalaganje ni uspelo", "MessageUploaderItemFailed": "Nalaganje ni uspelo",
"MessageUploaderItemSuccess": "Uspešno naloženo!", "MessageUploaderItemSuccess": "Uspešno naloženo!",
"MessageUploading": "Nalaganje...", "MessageUploading": "Nalaganje...",
"MessageValidCronExpression": "Veljaven cron izraz", "MessageValidCronExpression": "Veljaven cron izraz",
"MessageWatcherIsDisabledGlobally": "Pregledovalec je globalno onemogočen v nastavitvah strežnika", "MessageWatcherIsDisabledGlobally": "Spremljanje sprememb datotek je globalno onemogočeno v nastavitvah strežnika",
"MessageXLibraryIsEmpty": "{0} Knjižnica je prazna!", "MessageXLibraryIsEmpty": "{0} Knjižnica je prazna!",
"MessageYourAudiobookDurationIsLonger": "Trajanje vaše zvočne knjige je daljše od ugotovljenega trajanja", "MessageYourAudiobookDurationIsLonger": "Trajanje vaše zvočne knjige je daljše od ugotovljenega trajanja",
"MessageYourAudiobookDurationIsShorter": "Trajanje vaše zvočne knjige je krajše od ugotovljenega trajanja", "MessageYourAudiobookDurationIsShorter": "Trajanje vaše zvočne knjige je krajše od ugotovljenega trajanja",
@@ -793,6 +879,10 @@
"NoteUploaderFoldersWithMediaFiles": "Mape z predstavnostnimi datotekami bodo obravnavane kot ločene postavke knjižnice.", "NoteUploaderFoldersWithMediaFiles": "Mape z predstavnostnimi datotekami bodo obravnavane kot ločene postavke knjižnice.",
"NoteUploaderOnlyAudioFiles": "Če nalagate samo zvočne datoteke, bo vsaka zvočna datoteka obravnavana kot ločena zvočna knjiga.", "NoteUploaderOnlyAudioFiles": "Če nalagate samo zvočne datoteke, bo vsaka zvočna datoteka obravnavana kot ločena zvočna knjiga.",
"NoteUploaderUnsupportedFiles": "Nepodprte datoteke so prezrte. Ko izberete ali spustite mapo, se druge datoteke, ki niso v mapi elementov, prezrejo.", "NoteUploaderUnsupportedFiles": "Nepodprte datoteke so prezrte. Ko izberete ali spustite mapo, se druge datoteke, ki niso v mapi elementov, prezrejo.",
"NotificationOnBackupCompletedDescription": "Sproži se, ko je varnostno kopiranje končano",
"NotificationOnBackupFailedDescription": "Sproži se, ko varnostno kopiranje ne uspe",
"NotificationOnEpisodeDownloadedDescription": "Sproži se, ko se epizoda podcasta samodejno prenese",
"NotificationOnTestDescription": "Dogodek za testiranje sistema obveščanja",
"PlaceholderNewCollection": "Novo ime zbirke", "PlaceholderNewCollection": "Novo ime zbirke",
"PlaceholderNewFolderPath": "Pot nove mape", "PlaceholderNewFolderPath": "Pot nove mape",
"PlaceholderNewPlaylist": "Novo ime seznama predvajanja", "PlaceholderNewPlaylist": "Novo ime seznama predvajanja",
@@ -801,11 +891,11 @@
"StatsAuthorsAdded": "dodanih avtorjev", "StatsAuthorsAdded": "dodanih avtorjev",
"StatsBooksAdded": "dodanih knjig", "StatsBooksAdded": "dodanih knjig",
"StatsBooksAdditional": "Nekateri dodatki vključujejo…", "StatsBooksAdditional": "Nekateri dodatki vključujejo…",
"StatsBooksFinished": "končane knjige", "StatsBooksFinished": "končanih knjig",
"StatsBooksFinishedThisYear": "Nekaj knjig, ki so bile dokončane letos…", "StatsBooksFinishedThisYear": "Nekaj knjig, ki so bile dokončane letos…",
"StatsBooksListenedTo": "poslušane knjige", "StatsBooksListenedTo": "poslušanih knjig",
"StatsCollectionGrewTo": "Vaša zbirka knjig se je povečala na …", "StatsCollectionGrewTo": "Vaša zbirka knjig se je povečala na …",
"StatsSessions": "seje", "StatsSessions": "sej",
"StatsSpentListening": "porabil za poslušanje", "StatsSpentListening": "porabil za poslušanje",
"StatsTopAuthor": "TOP AVTOR", "StatsTopAuthor": "TOP AVTOR",
"StatsTopAuthors": "TOP AVTORJI", "StatsTopAuthors": "TOP AVTORJI",
@@ -816,14 +906,13 @@
"StatsTopNarrators": "TOP BRALCI", "StatsTopNarrators": "TOP BRALCI",
"StatsTotalDuration": "S skupnim trajanjem…", "StatsTotalDuration": "S skupnim trajanjem…",
"StatsYearInReview": "PREGLED LETA", "StatsYearInReview": "PREGLED LETA",
"ToastAccountUpdateFailed": "Računa ni bilo mogoče posodobiti",
"ToastAccountUpdateSuccess": "Račun posodobljen", "ToastAccountUpdateSuccess": "Račun posodobljen",
"ToastAppriseUrlRequired": "Vnesti morate Apprise URL", "ToastAppriseUrlRequired": "Vnesti morate Apprise URL",
"ToastAsinRequired": "ASIN koda je obvezen podatek",
"ToastAuthorImageRemoveSuccess": "Slika avtorja je odstranjena", "ToastAuthorImageRemoveSuccess": "Slika avtorja je odstranjena",
"ToastAuthorNotFound": "Avtor \"{0}\" ni bil najden", "ToastAuthorNotFound": "Avtor \"{0}\" ni bil najden",
"ToastAuthorRemoveSuccess": "Avtor odstranjen", "ToastAuthorRemoveSuccess": "Avtor odstranjen",
"ToastAuthorSearchNotFound": "Ne najdem avtorja", "ToastAuthorSearchNotFound": "Ne najdem avtorja",
"ToastAuthorUpdateFailed": "Avtorja ni bilo mogoče posodobiti",
"ToastAuthorUpdateMerged": "Avtor združen", "ToastAuthorUpdateMerged": "Avtor združen",
"ToastAuthorUpdateSuccess": "Avtor posodobljen", "ToastAuthorUpdateSuccess": "Avtor posodobljen",
"ToastAuthorUpdateSuccessNoImageFound": "Avtor posodobljen (ne najdem slike)", "ToastAuthorUpdateSuccessNoImageFound": "Avtor posodobljen (ne najdem slike)",
@@ -834,29 +923,29 @@
"ToastBackupDeleteSuccess": "Varnostna kopija izbrisana", "ToastBackupDeleteSuccess": "Varnostna kopija izbrisana",
"ToastBackupInvalidMaxKeep": "Neveljavno število varnostnih kopij za ohranjanje", "ToastBackupInvalidMaxKeep": "Neveljavno število varnostnih kopij za ohranjanje",
"ToastBackupInvalidMaxSize": "Neveljavna največja velikost varnostne kopije", "ToastBackupInvalidMaxSize": "Neveljavna največja velikost varnostne kopije",
"ToastBackupPathUpdateFailed": "Posodobitev poti varnostnih kopij ni uspela",
"ToastBackupRestoreFailed": "Varnostne kopije ni bilo mogoče obnoviti", "ToastBackupRestoreFailed": "Varnostne kopije ni bilo mogoče obnoviti",
"ToastBackupUploadFailed": "Nalaganje varnostne kopije ni uspelo", "ToastBackupUploadFailed": "Nalaganje varnostne kopije ni uspelo",
"ToastBackupUploadSuccess": "Varnostna kopija je naložena", "ToastBackupUploadSuccess": "Varnostna kopija je naložena",
"ToastBatchDeleteFailed": "Paketno brisanje ni uspelo", "ToastBatchDeleteFailed": "Paketno brisanje ni uspelo",
"ToastBatchDeleteSuccess": "Paketno brisanje je bilo uspešno", "ToastBatchDeleteSuccess": "Paketno brisanje je bilo uspešno",
"ToastBatchQuickMatchFailed": "Paketno hitro ujemanje ni uspelo!",
"ToastBatchQuickMatchStarted": "Paketno hitro ujemanje {0} knjig se je začelo!",
"ToastBatchUpdateFailed": "Paketna posodobitev ni uspela", "ToastBatchUpdateFailed": "Paketna posodobitev ni uspela",
"ToastBatchUpdateSuccess": "Paketna posodobitev je uspela", "ToastBatchUpdateSuccess": "Paketna posodobitev je uspela",
"ToastBookmarkCreateFailed": "Zaznamka ni bilo mogoče ustvariti", "ToastBookmarkCreateFailed": "Zaznamka ni bilo mogoče ustvariti",
"ToastBookmarkCreateSuccess": "Zaznamek dodan", "ToastBookmarkCreateSuccess": "Zaznamek dodan",
"ToastBookmarkRemoveSuccess": "Zaznamek odstranjen", "ToastBookmarkRemoveSuccess": "Zaznamek odstranjen",
"ToastBookmarkUpdateFailed": "Zaznamka ni bilo mogoče posodobiti",
"ToastBookmarkUpdateSuccess": "Zaznamek posodobljen", "ToastBookmarkUpdateSuccess": "Zaznamek posodobljen",
"ToastCachePurgeFailed": "Čiščenje predpomnilnika ni uspelo", "ToastCachePurgeFailed": "Čiščenje predpomnilnika ni uspelo",
"ToastCachePurgeSuccess": "Predpomnilnik je bil uspešno očiščen", "ToastCachePurgeSuccess": "Predpomnilnik je bil uspešno očiščen",
"ToastChaptersHaveErrors": "Poglavja imajo napake", "ToastChaptersHaveErrors": "Poglavja imajo napake",
"ToastChaptersMustHaveTitles": "Poglavja morajo imeti naslove", "ToastChaptersMustHaveTitles": "Poglavja morajo imeti naslove",
"ToastChaptersRemoved": "Poglavja so odstranjena", "ToastChaptersRemoved": "Poglavja so odstranjena",
"ToastChaptersUpdated": "Poglavja so posodobljena",
"ToastCollectionItemsAddFailed": "Dodajanje elementov v zbirko ni uspelo", "ToastCollectionItemsAddFailed": "Dodajanje elementov v zbirko ni uspelo",
"ToastCollectionItemsAddSuccess": "Dodajanje elementov v zbirko je bilo uspešno", "ToastCollectionItemsAddSuccess": "Dodajanje elementov v zbirko je bilo uspešno",
"ToastCollectionItemsRemoveSuccess": "Elementi so bili odstranjeni iz zbirke", "ToastCollectionItemsRemoveSuccess": "Elementi so bili odstranjeni iz zbirke",
"ToastCollectionRemoveSuccess": "Zbirka je bila odstranjena", "ToastCollectionRemoveSuccess": "Zbirka je bila odstranjena",
"ToastCollectionUpdateFailed": "Zbirke ni bilo mogoče posodobiti",
"ToastCollectionUpdateSuccess": "Zbirka je bila posodobljena", "ToastCollectionUpdateSuccess": "Zbirka je bila posodobljena",
"ToastCoverUpdateFailed": "Posodobitev naslovnice ni uspela", "ToastCoverUpdateFailed": "Posodobitev naslovnice ni uspela",
"ToastDeleteFileFailed": "Brisanje datoteke ni uspelo", "ToastDeleteFileFailed": "Brisanje datoteke ni uspelo",
@@ -865,31 +954,28 @@
"ToastDeviceNameAlreadyExists": "Elektronska naprava s tem imenom že obstaja", "ToastDeviceNameAlreadyExists": "Elektronska naprava s tem imenom že obstaja",
"ToastDeviceTestEmailFailed": "Pošiljanje testnega e-poštnega sporočila ni uspelo", "ToastDeviceTestEmailFailed": "Pošiljanje testnega e-poštnega sporočila ni uspelo",
"ToastDeviceTestEmailSuccess": "Testno e-poštno sporočilo je poslano", "ToastDeviceTestEmailSuccess": "Testno e-poštno sporočilo je poslano",
"ToastDeviceUpdateFailed": "Naprave ni bilo mogoče posodobiti",
"ToastEmailSettingsUpdateFailed": "E-poštnih nastavitev ni bilo mogoče posodobiti",
"ToastEmailSettingsUpdateSuccess": "E-poštne nastavitve so bile posodobljene", "ToastEmailSettingsUpdateSuccess": "E-poštne nastavitve so bile posodobljene",
"ToastEncodeCancelFailed": "Napaka pri preklicu prekodiranja", "ToastEncodeCancelFailed": "Napaka pri preklicu prekodiranja",
"ToastEncodeCancelSucces": "Prekodiranje prekinjeno", "ToastEncodeCancelSucces": "Prekodiranje prekinjeno",
"ToastEpisodeDownloadQueueClearFailed": "Čiščenje čakalne vrste ni uspelo", "ToastEpisodeDownloadQueueClearFailed": "Čiščenje čakalne vrste ni uspelo",
"ToastEpisodeDownloadQueueClearSuccess": "Čakalna vrsta za prenos epizod je počiščena", "ToastEpisodeDownloadQueueClearSuccess": "Čakalna vrsta za prenos epizod je počiščena",
"ToastEpisodeUpdateSuccess": "Število posodobljenih epizod: {0}",
"ToastErrorCannotShare": "V tej napravi ni mogoče dati v skupno rabo", "ToastErrorCannotShare": "V tej napravi ni mogoče dati v skupno rabo",
"ToastFailedToLoadData": "Podatkov ni bilo mogoče naložiti", "ToastFailedToLoadData": "Podatkov ni bilo mogoče naložiti",
"ToastFailedToMatch": "Ujemanje ni uspelo",
"ToastFailedToShare": "Skupna raba ni uspela", "ToastFailedToShare": "Skupna raba ni uspela",
"ToastFailedToUpdateAccount": "Računa ni bilo mogoče posodobiti", "ToastFailedToUpdate": "Napaka pri posodobitvi",
"ToastFailedToUpdateUser": "Uporabnika ni bilo mogoče posodobiti",
"ToastInvalidImageUrl": "Neveljaven URL slike", "ToastInvalidImageUrl": "Neveljaven URL slike",
"ToastInvalidMaxEpisodesToDownload": "Neveljavno največje število epizod za prenos",
"ToastInvalidUrl": "Neveljaven URL", "ToastInvalidUrl": "Neveljaven URL",
"ToastItemCoverUpdateFailed": "Naslovnice elementa ni bilo mogoče posodobiti",
"ToastItemCoverUpdateSuccess": "Naslovnica elementa je bila posodobljena", "ToastItemCoverUpdateSuccess": "Naslovnica elementa je bila posodobljena",
"ToastItemDeletedFailed": "Elementa ni bilo mogoče izbrisati", "ToastItemDeletedFailed": "Elementa ni bilo mogoče izbrisati",
"ToastItemDeletedSuccess": "Element je bil izbrisan", "ToastItemDeletedSuccess": "Element je bil izbrisan",
"ToastItemDetailsUpdateFailed": "Posodobitev podrobnosti elementa ni uspela",
"ToastItemDetailsUpdateSuccess": "Podrobnosti elementa so bile posodobjene", "ToastItemDetailsUpdateSuccess": "Podrobnosti elementa so bile posodobjene",
"ToastItemMarkedAsFinishedFailed": "Označevanje kot dokončano ni uspelo", "ToastItemMarkedAsFinishedFailed": "Označevanje kot dokončano ni uspelo",
"ToastItemMarkedAsFinishedSuccess": "Element je označen kot dokončan", "ToastItemMarkedAsFinishedSuccess": "Element je označen kot dokončan",
"ToastItemMarkedAsNotFinishedFailed": "Ni bilo mogoče označiti kot nedokončano", "ToastItemMarkedAsNotFinishedFailed": "Ni bilo mogoče označiti kot nedokončano",
"ToastItemMarkedAsNotFinishedSuccess": "Element označen kot nedokončan", "ToastItemMarkedAsNotFinishedSuccess": "Element označen kot nedokončan",
"ToastItemUpdateFailed": "Elementa ni bilo mogoče posodobiti",
"ToastItemUpdateSuccess": "Element je bil posodobljen", "ToastItemUpdateSuccess": "Element je bil posodobljen",
"ToastLibraryCreateFailed": "Knjižnice ni bilo mogoče ustvariti", "ToastLibraryCreateFailed": "Knjižnice ni bilo mogoče ustvariti",
"ToastLibraryCreateSuccess": "Knjižnica \"{0}\" je bila ustvarjena", "ToastLibraryCreateSuccess": "Knjižnica \"{0}\" je bila ustvarjena",
@@ -897,37 +983,42 @@
"ToastLibraryDeleteSuccess": "Knjižnica je bila izbrisana", "ToastLibraryDeleteSuccess": "Knjižnica je bila izbrisana",
"ToastLibraryScanFailedToStart": "Pregleda ni bilo mogoče začeti", "ToastLibraryScanFailedToStart": "Pregleda ni bilo mogoče začeti",
"ToastLibraryScanStarted": "Pregled knjižnice se je začel", "ToastLibraryScanStarted": "Pregled knjižnice se je začel",
"ToastLibraryUpdateFailed": "Knjižnice ni bilo mogoče posodobiti",
"ToastLibraryUpdateSuccess": "Knjižnica \"{0}\" je bila posodobljena", "ToastLibraryUpdateSuccess": "Knjižnica \"{0}\" je bila posodobljena",
"ToastMatchAllAuthorsFailed": "Ujemanje vseh avtorjev ni bilo uspešno",
"ToastMetadataFilesRemovedError": "Napaka pri odstranjevanju metapodatkov.{0} datotek",
"ToastMetadataFilesRemovedNoneFound": "Ni metapodatkov.{0} datotek, najdenih v knjižnici",
"ToastMetadataFilesRemovedNoneRemoved": "Ni metapodatkov.{0} datotek odstranjenih",
"ToastMetadataFilesRemovedSuccess": "{0} metapodatki.{1} datotek odstranjenih",
"ToastMustHaveAtLeastOnePath": "Imeti mora vsaj eno pot",
"ToastNameEmailRequired": "Ime in e-pošta sta obvezna", "ToastNameEmailRequired": "Ime in e-pošta sta obvezna",
"ToastNameRequired": "Ime je obvezno", "ToastNameRequired": "Ime je obvezno",
"ToastNewEpisodesFound": "Število najdenih novih epizod: {0}",
"ToastNewUserCreatedFailed": "Računa ni bilo mogoče ustvariti: \"{0}\"", "ToastNewUserCreatedFailed": "Računa ni bilo mogoče ustvariti: \"{0}\"",
"ToastNewUserCreatedSuccess": "Nov račun je bil ustvarjen", "ToastNewUserCreatedSuccess": "Nov račun je bil ustvarjen",
"ToastNewUserLibraryError": "Izbrati morate vsaj eno knjižnico", "ToastNewUserLibraryError": "Izbrati morate vsaj eno knjižnico",
"ToastNewUserPasswordError": "Mora imeti geslo, samo korenski uporabnik ima lahko prazno geslo", "ToastNewUserPasswordError": "Mora imeti geslo, samo korenski uporabnik ima lahko prazno geslo",
"ToastNewUserTagError": "Izbrati morate vsaj eno oznako", "ToastNewUserTagError": "Izbrati morate vsaj eno oznako",
"ToastNewUserUsernameError": "Vnesite uporabniško ime", "ToastNewUserUsernameError": "Vnesite uporabniško ime",
"ToastNoNewEpisodesFound": "Ni novih epizod",
"ToastNoUpdatesNecessary": "Posodobitve niso potrebne", "ToastNoUpdatesNecessary": "Posodobitve niso potrebne",
"ToastNotificationCreateFailed": "Obvestila ni bilo mogoče ustvariti", "ToastNotificationCreateFailed": "Obvestila ni bilo mogoče ustvariti",
"ToastNotificationDeleteFailed": "Brisanje obvestila ni uspelo", "ToastNotificationDeleteFailed": "Brisanje obvestila ni uspelo",
"ToastNotificationFailedMaximum": "Največje število neuspelih poskusov mora biti >= 0", "ToastNotificationFailedMaximum": "Največje število neuspelih poskusov mora biti >= 0",
"ToastNotificationQueueMaximum": "Največja čakalna vrsta obvestil mora biti >= 0", "ToastNotificationQueueMaximum": "Največja čakalna vrsta obvestil mora biti >= 0",
"ToastNotificationSettingsUpdateFailed": "Nastavitev obvestil ni bilo mogoče posodobiti",
"ToastNotificationSettingsUpdateSuccess": "Nastavitve obvestil so bile posodobljene", "ToastNotificationSettingsUpdateSuccess": "Nastavitve obvestil so bile posodobljene",
"ToastNotificationTestTriggerFailed": "Sprožitev testnega obvestila ni uspela", "ToastNotificationTestTriggerFailed": "Sprožitev testnega obvestila ni uspela",
"ToastNotificationTestTriggerSuccess": "Sproženo testno obvestilo", "ToastNotificationTestTriggerSuccess": "Sproženo testno obvestilo",
"ToastNotificationUpdateFailed": "Obvestila ni bilo mogoče posodobiti",
"ToastNotificationUpdateSuccess": "Obvestilo posodobljeno", "ToastNotificationUpdateSuccess": "Obvestilo posodobljeno",
"ToastPlaylistCreateFailed": "Seznama predvajanja ni bilo mogoče ustvariti", "ToastPlaylistCreateFailed": "Seznama predvajanja ni bilo mogoče ustvariti",
"ToastPlaylistCreateSuccess": "Seznam predvajanja je bil ustvarjen", "ToastPlaylistCreateSuccess": "Seznam predvajanja je bil ustvarjen",
"ToastPlaylistRemoveSuccess": "Seznam predvajanja odstranjen", "ToastPlaylistRemoveSuccess": "Seznam predvajanja odstranjen",
"ToastPlaylistUpdateFailed": "Seznama predvajanja ni bilo mogoče posodobiti",
"ToastPlaylistUpdateSuccess": "Seznam predvajanja je bil posodobljen", "ToastPlaylistUpdateSuccess": "Seznam predvajanja je bil posodobljen",
"ToastPodcastCreateFailed": "Podcasta ni bilo mogoče ustvariti", "ToastPodcastCreateFailed": "Podcasta ni bilo mogoče ustvariti",
"ToastPodcastCreateSuccess": "Podcast je bil uspešno ustvarjen", "ToastPodcastCreateSuccess": "Podcast je bil uspešno ustvarjen",
"ToastPodcastGetFeedFailed": "Vira podcasta ni bilo mogoče pridobiti", "ToastPodcastGetFeedFailed": "Vira podcasta ni bilo mogoče pridobiti",
"ToastPodcastNoEpisodesInFeed": "V viru RSS ni bilo mogoče najti nobene epizode", "ToastPodcastNoEpisodesInFeed": "V viru RSS ni bilo mogoče najti nobene epizode",
"ToastPodcastNoRssFeed": "Podcast nima vira RSS", "ToastPodcastNoRssFeed": "Podcast nima vira RSS",
"ToastProgressIsNotBeingSynced": "Napredek se ne sinhronizira, znova zaženite predvajanje",
"ToastProviderCreatedFailed": "Ponudnika ni bilo mogoče dodati", "ToastProviderCreatedFailed": "Ponudnika ni bilo mogoče dodati",
"ToastProviderCreatedSuccess": "Dodan je bil nov ponudnik", "ToastProviderCreatedSuccess": "Dodan je bil nov ponudnik",
"ToastProviderNameAndUrlRequired": "Obvezen podatek sta ime in URL", "ToastProviderNameAndUrlRequired": "Obvezen podatek sta ime in URL",
@@ -950,18 +1041,17 @@
"ToastSendEbookToDeviceSuccess": "E-knjiga je bila poslana v napravo \"{0}\"", "ToastSendEbookToDeviceSuccess": "E-knjiga je bila poslana v napravo \"{0}\"",
"ToastSeriesUpdateFailed": "Posodobitev serije ni uspela", "ToastSeriesUpdateFailed": "Posodobitev serije ni uspela",
"ToastSeriesUpdateSuccess": "Uspešna posodobitev serije", "ToastSeriesUpdateSuccess": "Uspešna posodobitev serije",
"ToastServerSettingsUpdateFailed": "Nastavitev strežnika ni bilo mogoče posodobiti",
"ToastServerSettingsUpdateSuccess": "Nastavitve strežnika so bile posodobljene", "ToastServerSettingsUpdateSuccess": "Nastavitve strežnika so bile posodobljene",
"ToastSessionCloseFailed": "Seje ni bilo mogoče zapreti", "ToastSessionCloseFailed": "Seje ni bilo mogoče zapreti",
"ToastSessionDeleteFailed": "Brisanje seje ni uspelo", "ToastSessionDeleteFailed": "Brisanje seje ni uspelo",
"ToastSessionDeleteSuccess": "Seja je bila izbrisana", "ToastSessionDeleteSuccess": "Seja je bila izbrisana",
"ToastSleepTimerDone": "Časovnik za spanje se je končal... zZzzZz",
"ToastSlugMustChange": "Slug vsebuje neveljavne znake", "ToastSlugMustChange": "Slug vsebuje neveljavne znake",
"ToastSlugRequired": "Slug je obvezen podatek", "ToastSlugRequired": "Slug je obvezen podatek",
"ToastSocketConnected": "Omrežna povezava je priklopljena", "ToastSocketConnected": "Omrežna povezava je priklopljena",
"ToastSocketDisconnected": "Omrežna povezava je odklopljena", "ToastSocketDisconnected": "Omrežna povezava je odklopljena",
"ToastSocketFailedToConnect": "Omrežna povezava ni uspela vzpostaviti priklopa", "ToastSocketFailedToConnect": "Omrežna povezava ni uspela vzpostaviti priklopa",
"ToastSortingPrefixesEmptyError": "Imeti mora vsaj 1 predpono za razvrščanje", "ToastSortingPrefixesEmptyError": "Imeti mora vsaj 1 predpono za razvrščanje",
"ToastSortingPrefixesUpdateFailed": "Posodobitev predpon za razvrščanje ni uspela",
"ToastSortingPrefixesUpdateSuccess": "Predpone za razvrščanje so bile posodobljene ({0} elementov)", "ToastSortingPrefixesUpdateSuccess": "Predpone za razvrščanje so bile posodobljene ({0} elementov)",
"ToastTitleRequired": "Naslov je obvezen", "ToastTitleRequired": "Naslov je obvezen",
"ToastUnknownError": "Neznana napaka", "ToastUnknownError": "Neznana napaka",
+10 -10
View File
@@ -45,6 +45,7 @@
"ButtonOk": "Okej", "ButtonOk": "Okej",
"ButtonOpenFeed": "Öppna flöde", "ButtonOpenFeed": "Öppna flöde",
"ButtonOpenManager": "Öppna Manager", "ButtonOpenManager": "Öppna Manager",
"ButtonPause": "Pausa",
"ButtonPlay": "Spela", "ButtonPlay": "Spela",
"ButtonPlaying": "Spelar", "ButtonPlaying": "Spelar",
"ButtonPlaylists": "Spellistor", "ButtonPlaylists": "Spellistor",
@@ -263,8 +264,10 @@
"LabelFinished": "Avslutad", "LabelFinished": "Avslutad",
"LabelFolder": "Mapp", "LabelFolder": "Mapp",
"LabelFolders": "Mappar", "LabelFolders": "Mappar",
"LabelFontBoldness": "Fetstil",
"LabelFontFamily": "Teckensnittsfamilj", "LabelFontFamily": "Teckensnittsfamilj",
"LabelFontScale": "Teckensnittsskala", "LabelFontScale": "Teckensnittsskala",
"LabelGenre": "Genre",
"LabelGenres": "Genrer", "LabelGenres": "Genrer",
"LabelHardDeleteFile": "Hård radering av fil", "LabelHardDeleteFile": "Hård radering av fil",
"LabelHasEbook": "Har E-bok", "LabelHasEbook": "Har E-bok",
@@ -294,6 +297,7 @@
"LabelLastSeen": "Senast sedd", "LabelLastSeen": "Senast sedd",
"LabelLastTime": "Senaste gången", "LabelLastTime": "Senaste gången",
"LabelLastUpdate": "Senaste uppdatering", "LabelLastUpdate": "Senaste uppdatering",
"LabelLayout": "Layout",
"LabelLayoutSinglePage": "En sida", "LabelLayoutSinglePage": "En sida",
"LabelLayoutSplitPage": "Dela sida", "LabelLayoutSplitPage": "Dela sida",
"LabelLess": "Mindre", "LabelLess": "Mindre",
@@ -322,8 +326,8 @@
"LabelNarrators": "Berättare", "LabelNarrators": "Berättare",
"LabelNew": "Ny", "LabelNew": "Ny",
"LabelNewPassword": "Nytt lösenord", "LabelNewPassword": "Nytt lösenord",
"LabelNewestAuthors": "Nyaste författare", "LabelNewestAuthors": "Senast tillagda författare",
"LabelNewestEpisodes": "Nyaste avsnitt", "LabelNewestEpisodes": "Senast tillagda avsnitt",
"LabelNextBackupDate": "Nästa säkerhetskopia datum", "LabelNextBackupDate": "Nästa säkerhetskopia datum",
"LabelNextScheduledRun": "Nästa schemalagda körning", "LabelNextScheduledRun": "Nästa schemalagda körning",
"LabelNoEpisodesSelected": "Inga avsnitt valda", "LabelNoEpisodesSelected": "Inga avsnitt valda",
@@ -355,8 +359,10 @@
"LabelPhotoPathURL": "Bildsökväg/URL", "LabelPhotoPathURL": "Bildsökväg/URL",
"LabelPlayMethod": "Spelläge", "LabelPlayMethod": "Spelläge",
"LabelPlaylists": "Spellistor", "LabelPlaylists": "Spellistor",
"LabelPodcast": "Podcast",
"LabelPodcastSearchRegion": "Podcast-sökområde", "LabelPodcastSearchRegion": "Podcast-sökområde",
"LabelPodcastType": "Podcasttyp", "LabelPodcastType": "Podcasttyp",
"LabelPodcasts": "Podcasts",
"LabelPrefixesToIgnore": "Prefix att ignorera (skiftlägesokänsligt)", "LabelPrefixesToIgnore": "Prefix att ignorera (skiftlägesokänsligt)",
"LabelPreventIndexing": "Förhindra att ditt flöde indexeras av iTunes och Google-podcastsökmotorer", "LabelPreventIndexing": "Förhindra att ditt flöde indexeras av iTunes och Google-podcastsökmotorer",
"LabelPrimaryEbook": "Primär e-bok", "LabelPrimaryEbook": "Primär e-bok",
@@ -371,6 +377,7 @@
"LabelRSSFeedPreventIndexing": "Förhindra indexering", "LabelRSSFeedPreventIndexing": "Förhindra indexering",
"LabelRSSFeedSlug": "RSS-flödesslag", "LabelRSSFeedSlug": "RSS-flödesslag",
"LabelRSSFeedURL": "RSS-flöde URL", "LabelRSSFeedURL": "RSS-flöde URL",
"LabelRandomly": "Slumpartat",
"LabelRead": "Läst", "LabelRead": "Läst",
"LabelReadAgain": "Läs igen", "LabelReadAgain": "Läs igen",
"LabelReadEbookWithoutProgress": "Läs e-bok utan att behålla framsteg", "LabelReadEbookWithoutProgress": "Läs e-bok utan att behålla framsteg",
@@ -430,6 +437,7 @@
"LabelShowAll": "Visa alla", "LabelShowAll": "Visa alla",
"LabelSize": "Storlek", "LabelSize": "Storlek",
"LabelSleepTimer": "Sleeptimer", "LabelSleepTimer": "Sleeptimer",
"LabelStart": "Starta",
"LabelStartTime": "Starttid", "LabelStartTime": "Starttid",
"LabelStarted": "Startad", "LabelStarted": "Startad",
"LabelStartedAt": "Startad vid", "LabelStartedAt": "Startad vid",
@@ -637,10 +645,8 @@
"PlaceholderNewPlaylist": "Nytt spellistanamn", "PlaceholderNewPlaylist": "Nytt spellistanamn",
"PlaceholderSearch": "Sök...", "PlaceholderSearch": "Sök...",
"PlaceholderSearchEpisode": "Sök avsnitt...", "PlaceholderSearchEpisode": "Sök avsnitt...",
"ToastAccountUpdateFailed": "Det gick inte att uppdatera kontot",
"ToastAccountUpdateSuccess": "Kontot uppdaterat", "ToastAccountUpdateSuccess": "Kontot uppdaterat",
"ToastAuthorImageRemoveSuccess": "Författarens bild borttagen", "ToastAuthorImageRemoveSuccess": "Författarens bild borttagen",
"ToastAuthorUpdateFailed": "Det gick inte att uppdatera författaren",
"ToastAuthorUpdateMerged": "Författaren sammanslagen", "ToastAuthorUpdateMerged": "Författaren sammanslagen",
"ToastAuthorUpdateSuccess": "Författaren uppdaterad", "ToastAuthorUpdateSuccess": "Författaren uppdaterad",
"ToastAuthorUpdateSuccessNoImageFound": "Författaren uppdaterad (ingen bild hittad)", "ToastAuthorUpdateSuccessNoImageFound": "Författaren uppdaterad (ingen bild hittad)",
@@ -656,17 +662,13 @@
"ToastBookmarkCreateFailed": "Det gick inte att skapa bokmärket", "ToastBookmarkCreateFailed": "Det gick inte att skapa bokmärket",
"ToastBookmarkCreateSuccess": "Bokmärket tillagt", "ToastBookmarkCreateSuccess": "Bokmärket tillagt",
"ToastBookmarkRemoveSuccess": "Bokmärket borttaget", "ToastBookmarkRemoveSuccess": "Bokmärket borttaget",
"ToastBookmarkUpdateFailed": "Det gick inte att uppdatera bokmärket",
"ToastBookmarkUpdateSuccess": "Bokmärket uppdaterat", "ToastBookmarkUpdateSuccess": "Bokmärket uppdaterat",
"ToastChaptersHaveErrors": "Kapitlen har fel", "ToastChaptersHaveErrors": "Kapitlen har fel",
"ToastChaptersMustHaveTitles": "Kapitel måste ha titlar", "ToastChaptersMustHaveTitles": "Kapitel måste ha titlar",
"ToastCollectionItemsRemoveSuccess": "Objekt borttagna från samlingen", "ToastCollectionItemsRemoveSuccess": "Objekt borttagna från samlingen",
"ToastCollectionRemoveSuccess": "Samlingen borttagen", "ToastCollectionRemoveSuccess": "Samlingen borttagen",
"ToastCollectionUpdateFailed": "Det gick inte att uppdatera samlingen",
"ToastCollectionUpdateSuccess": "Samlingen uppdaterad", "ToastCollectionUpdateSuccess": "Samlingen uppdaterad",
"ToastItemCoverUpdateFailed": "Det gick inte att uppdatera objektets omslag",
"ToastItemCoverUpdateSuccess": "Objektets omslag uppdaterat", "ToastItemCoverUpdateSuccess": "Objektets omslag uppdaterat",
"ToastItemDetailsUpdateFailed": "Det gick inte att uppdatera objektdetaljerna",
"ToastItemDetailsUpdateSuccess": "Objektdetaljer uppdaterade", "ToastItemDetailsUpdateSuccess": "Objektdetaljer uppdaterade",
"ToastItemMarkedAsFinishedFailed": "Misslyckades med att markera som färdig", "ToastItemMarkedAsFinishedFailed": "Misslyckades med att markera som färdig",
"ToastItemMarkedAsFinishedSuccess": "Objekt markerat som färdig", "ToastItemMarkedAsFinishedSuccess": "Objekt markerat som färdig",
@@ -678,12 +680,10 @@
"ToastLibraryDeleteSuccess": "Biblioteket borttaget", "ToastLibraryDeleteSuccess": "Biblioteket borttaget",
"ToastLibraryScanFailedToStart": "Misslyckades med att starta skanningen", "ToastLibraryScanFailedToStart": "Misslyckades med att starta skanningen",
"ToastLibraryScanStarted": "Skanning av biblioteket påbörjad", "ToastLibraryScanStarted": "Skanning av biblioteket påbörjad",
"ToastLibraryUpdateFailed": "Det gick inte att uppdatera biblioteket",
"ToastLibraryUpdateSuccess": "Biblioteket \"{0}\" uppdaterat", "ToastLibraryUpdateSuccess": "Biblioteket \"{0}\" uppdaterat",
"ToastPlaylistCreateFailed": "Det gick inte att skapa spellistan", "ToastPlaylistCreateFailed": "Det gick inte att skapa spellistan",
"ToastPlaylistCreateSuccess": "Spellistan skapad", "ToastPlaylistCreateSuccess": "Spellistan skapad",
"ToastPlaylistRemoveSuccess": "Spellistan borttagen", "ToastPlaylistRemoveSuccess": "Spellistan borttagen",
"ToastPlaylistUpdateFailed": "Det gick inte att uppdatera spellistan",
"ToastPlaylistUpdateSuccess": "Spellistan uppdaterad", "ToastPlaylistUpdateSuccess": "Spellistan uppdaterad",
"ToastPodcastCreateFailed": "Misslyckades med att skapa podcasten", "ToastPodcastCreateFailed": "Misslyckades med att skapa podcasten",
"ToastPodcastCreateSuccess": "Podcasten skapad framgångsrikt", "ToastPodcastCreateSuccess": "Podcasten skapad framgångsrikt",

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