Compare commits

...
718 Commits
Author SHA1 Message Date
Jonah Brüchert ace6b1de8e Disallow building with Qt5 2024-01-09 20:58:57 +01:00
Albert Astals Cid 18f1cc4228 GIT_SILENT Upgrade release service version to 24.01.90. 2024-01-09 00:45:57 +01:00
l10n daemon script 01e17a47dd GIT_SILENT Sync po/docbooks with svn 2024-01-07 02:40:29 +00:00
l10n daemon script bb3b4e2cb3 GIT_SILENT Sync po/docbooks with svn 2023-12-31 02:41:12 +00:00
Jonah Brüchert a0a725f22c flatpak: Switch to kf6preview runtime 2023-12-27 18:38:23 +01:00
l10n daemon script 200d08ae27 GIT_SILENT Sync po/docbooks with svn 2023-12-24 02:46:25 +00:00
l10n daemon script 90d36750a2 GIT_SILENT Sync po/docbooks with svn 2023-12-22 02:21:54 +00:00
Jonah Brüchert e46b7a4958 Fix displaying ListSectionHeaders after Kirigami changes 2023-12-21 04:37:47 +01:00
l10n daemon script 0123c56f96 GIT_SILENT Sync po/docbooks with svn 2023-12-21 02:46:05 +00:00
Jonah Brüchert 34d9a0e3c1 Improve error handling 2023-12-19 04:16:04 +01:00
Albert Astals Cid a07002c6d7 GIT_SILENT Upgrade release service version to 24.01.85. 2023-12-18 23:18:24 +01:00
l10n daemon script 5cfeda6500 GIT_SILENT Sync po/docbooks with svn 2023-12-18 02:44:25 +00:00
l10n daemon script cf4c12a4c1 GIT_SILENT Sync po/docbooks with svn 2023-12-16 02:15:08 +00:00
l10n daemon script 0b70218876 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-16 02:09:50 +00:00
l10n daemon script 344f17f6e7 GIT_SILENT made messages (after extraction) 2023-12-16 01:37:17 +00:00
l10n daemon script 40cda46d35 GIT_SILENT Sync po/docbooks with svn 2023-12-10 02:44:27 +00:00
Jonah Brüchert fe295a128c cmake: Bump QCoro minimum requirement to 0.10 2023-12-05 21:06:11 +00:00
Jonah Brüchert 51839ae2b6 flatpak: Update qcoro 2023-12-05 21:43:14 +01:00
Laurent Montel 8078db7e95 GIT_SILENT: Port to new gitlab ci template 2023-12-01 22:04:44 +01:00
l10n daemon script d0e03351c6 GIT_SILENT Sync po/docbooks with svn 2023-12-01 02:13:02 +00:00
Heiko Becker 99820c8592 GIT_SILENT Update Appstream for new release
(cherry picked from commit 81f58bde61)
2023-11-30 18:32:15 +01:00
l10n daemon script 71a1c024b5 GIT_SILENT Sync po/docbooks with svn 2023-11-29 02:12:22 +00:00
l10n daemon script 565a359c50 GIT_SILENT Sync po/docbooks with svn 2023-11-26 01:35:56 +00:00
l10n daemon script e0a8961e62 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-11-26 01:16:44 +00:00
l10n daemon script ce0854cd4f GIT_SILENT made messages (after extraction) 2023-11-26 00:41:19 +00:00
Albert Astals Cid c372d9b07d GIT_SILENT Upgrade release service version to 24.01.80. 2023-11-25 00:50:25 +01:00
l10n daemon script e7ee922277 GIT_SILENT Sync po/docbooks with svn 2023-11-23 01:24:30 +00:00
Jonah Brüchert 8dc0fee18d Use move in QCoro::connect where possible 2023-11-23 01:20:34 +01:00
Jonah Brüchert 64d564f49b Remove unused includes 2023-11-22 22:36:58 +01:00
Jonah Brüchert 606d99d4cc Port away from SwipeListItem 2023-11-22 22:36:58 +01:00
l10n daemon script 4093332039 GIT_SILENT Sync po/docbooks with svn 2023-11-21 01:22:48 +00:00
ivan tkachenko bde067ff93 PlayerControls: Refactor the layout
A state machine should be used to manage conflicting anchors in a
dynamic layout like this. Also drop lots of extra lines of code whose
sole effect was restricting track title label beyond what layout is
capable of displaying, resulting in premature and annoying elision...
2023-11-20 17:48:54 +00:00
l10n daemon script 3474ae9cd5 GIT_SILENT Sync po/docbooks with svn 2023-11-20 01:35:20 +00:00
l10n daemon script 44d4ebc20e GIT_SILENT Sync po/docbooks with svn 2023-11-19 01:31:52 +00:00
Jonah Brüchert 58c9ad36b2 PlaylistDialog: Make delegates fill the width 2023-11-17 09:36:55 +01:00
l10n daemon script bf422bec4e GIT_SILENT Sync po/docbooks with svn 2023-11-15 01:25:15 +00:00
ivan tkachenko 22c9c85a38 PlaylistPage: Refactor data flow to fix "missing" required property
QML engine is not happy with aliases on a required property. It needs
some direct binding at declaration site.
2023-11-14 04:55:57 +03:00
ivan tkachenko 02ffafc782 Explicitly specify arguments in signal handlers
Injection of parameters into signal handlers is deprecated. Use
JavaScript functions with formal parameters instead.
2023-11-14 04:55:57 +03:00
ivan tkachenko c25c937645 Fix Units property name 2023-11-14 04:55:57 +03:00
ivan tkachenko 4286580074 Move PlaylistImporter component declaration out of Action
Action has no default property for child objects. This component never
worked, it just failed to load.
2023-11-14 04:55:56 +03:00
ivan tkachenko 4d76fb88c2 Remove ToolTip attached objects from Actions
This is not supported and won't work this way. SwipeListItem would
display tooltips for its action buttons anyway. If a custom text is
desired, Kirigami.Action type provides a special `tooltip` property.
2023-11-14 04:55:56 +03:00
ivan tkachenko 83c311f65a Add missing newline after printing an error message 2023-11-14 04:55:56 +03:00
ivan tkachenko 67eeb16397 Fix anchors bindings
Null is not a valid value to assign. Anchors should be explicitly reset
with `undefined` value instead.
2023-11-14 04:55:56 +03:00
ivan tkachenko ecd6072534 Port NavigationTabBar from removed shadow property 2023-11-14 04:55:56 +03:00
ivan tkachenko 398ae14694 Port implicit default content items to use contentItem: property
See also
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1338
and
https://invent.kde.org/frameworks/kirigami/-/merge_requests/1340
2023-11-14 04:55:55 +03:00
ivan tkachenko 6af525f053 GIT_SILENT Fix whitepsace 2023-11-14 04:55:55 +03:00
l10n daemon script 0b9b78e33b GIT_SILENT Sync po/docbooks with svn 2023-11-14 01:25:11 +00:00
l10n daemon script d9d6e915c5 GIT_SILENT made messages (after extraction) 2023-11-14 00:41:34 +00:00
Jonah Brüchert e0b8dc13c0 Fix removing searches 2023-11-13 02:25:40 +01:00
Jonah Brüchert 5dedd520bc Don't crash when a single search result fails to parse 2023-11-12 00:37:10 +01:00
l10n daemon script deaecb2480 GIT_SILENT Sync po/docbooks with svn 2023-11-11 01:28:03 +00:00
l10n daemon script 85a94ab60a GIT_SILENT made messages (after extraction) 2023-11-11 00:41:45 +00:00
l10n daemon script 4a51a88d7b GIT_SILENT Sync po/docbooks with svn 2023-11-09 01:24:37 +00:00
l10n daemon script c1cf71c866 GIT_SILENT made messages (after extraction) 2023-11-09 00:41:21 +00:00
Albert Astals Cid e2647e0ef2 GIT_SILENT Upgrade release service version to 24.01.75. 2023-11-07 21:09:59 +01:00
l10n daemon script 8a1a265fe3 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-11-07 02:10:26 +00:00
l10n daemon script 5735e2844b GIT_SILENT made messages (after extraction) 2023-11-07 01:16:08 +00:00
Jonah Brüchert 26e5a5c3b5 Fix loading artist page 2023-11-06 22:45:35 +01:00
l10n daemon script ce504d3c75 GIT_SILENT Sync po/docbooks with svn 2023-11-05 13:40:38 +00:00
l10n daemon script b284ab130a GIT_SILENT made messages (after extraction) 2023-11-05 12:30:09 +00:00
l10n daemon script 9c16d75334 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-11-04 11:50:45 +00:00
Heiko Becker 15cde0e98a GIT_SILENT Update Appstream for new release
(cherry picked from commit 1538b406d0)
2023-11-04 12:30:32 +01:00
l10n daemon script 293c1c11c6 GIT_SILENT Sync po/docbooks with svn 2023-11-03 01:26:36 +00:00
l10n daemon script 28a6017a76 GIT_SILENT made messages (after extraction) 2023-11-03 00:42:07 +00:00
l10n daemon script d7507f6eaf GIT_SILENT Sync po/docbooks with svn 2023-11-02 01:27:02 +00:00
l10n daemon script e9f58eccd1 GIT_SILENT made messages (after extraction) 2023-11-02 00:42:02 +00:00
Jonah Brüchert 42e89cfb11 flatpak: Cleanup more unused files 2023-11-01 19:12:20 +01:00
Jonah Brüchert d25b2fb465 Rename internal mpris declarative library to qtmprisdeclarative 2023-11-01 17:25:01 +01:00
Jonah Brüchert 48f5cf6e8c Port away from deprecated Kirigami delegates 2023-11-01 16:58:13 +01:00
l10n daemon script b35a234aa1 GIT_SILENT Sync po/docbooks with svn 2023-11-01 01:27:30 +00:00
l10n daemon script 0717de5751 GIT_SILENT made messages (after extraction) 2023-11-01 00:42:06 +00:00
Jonah Brüchert 2c4b65d87f WORKAROUND: Force gstreamer backend 2023-10-31 02:29:24 +00:00
Jonah Brüchert 6c9d19e943 Fix scrolling in lyrics 2023-10-31 02:29:24 +00:00
Jonah Brüchert ce42945972 Update flatpak runtime 2023-10-31 02:29:24 +00:00
Jonah Brüchert b90944c391 Fix warnings 2023-10-31 02:29:24 +00:00
Jonah Brüchert 716c892e6e Only instantiate a single share menu 2023-10-31 02:29:24 +00:00
Jonah Brüchert 89c0c31495 ShareMenu: adapt to purpose API changes 2023-10-31 02:29:24 +00:00
Jonah Brüchert 2d4c9a9f28 Various minor behaviour fixes 2023-10-31 02:29:24 +00:00
Jonah Brüchert cfa6f48180 Fix loading the artist page 2023-10-31 02:29:24 +00:00
Jonah Brüchert 36240cb579 Fix look of quick search delegates 2023-10-31 02:29:24 +00:00
Jonah Brüchert dd2c488e73 Fix glitch in SearchWithDropdown 2023-10-31 02:29:24 +00:00
Jonah Brüchert 3198e5b50b videoinfoextractor: Use a single signal
Since all properties change at the same time.
2023-10-31 02:29:24 +00:00
Jonah Brüchert f0248e1a7a Port to Qt6 2023-10-31 02:29:24 +00:00
l10n daemon script 67be43d730 GIT_SILENT Sync po/docbooks with svn 2023-10-31 01:27:09 +00:00
l10n daemon script 6a23ded31d GIT_SILENT made messages (after extraction) 2023-10-31 00:41:39 +00:00
l10n daemon script 7fc52c766a GIT_SILENT Sync po/docbooks with svn 2023-10-30 01:28:28 +00:00
l10n daemon script 23ea8141b2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-10-30 01:21:31 +00:00
l10n daemon script f23b33c488 GIT_SILENT made messages (after extraction) 2023-10-30 00:42:15 +00:00
Jonah Brüchert 8541bc98a2 Fix crash when the lyrics source is not provided 2023-10-29 15:02:57 +01:00
l10n daemon script 511f34d544 GIT_SILENT Sync po/docbooks with svn 2023-10-29 01:26:11 +00:00
Jonah Brüchert 1094d33e58 Swap arguments 2023-10-28 14:15:09 +02:00
Jonah Brüchert d0d0ede3bc Add translation context to "YouTube Music"
Apparently some people don't know it which leads to slightly wrong
translations
2023-10-28 14:12:31 +02:00
Jonah Brüchert 1a7436fffe appstream: Improve short description 2023-10-28 14:06:06 +02:00
Jonah Brüchert 72ce0e44c0 flatpak: Backport changes from flathub 2023-10-27 00:07:19 +02:00
Jonah Brüchert 7d1c1af241 Update ytmusicapi to 1.3.1 2023-10-24 23:25:41 +02:00
Jonah Brüchert feb4dc7455 Don't crash when albums have no browseId
apparently this can happen
2023-10-22 22:15:02 +02:00
Jonah Brüchert d136a60a75 Windows fixes 2023-10-22 21:35:21 +02:00
l10n daemon script 2383ed8a2d GIT_SILENT Sync po/docbooks with svn 2023-10-22 01:40:00 +00:00
l10n daemon script 067421de12 GIT_SILENT Sync po/docbooks with svn 2023-10-13 01:28:48 +00:00
l10n daemon script 264af2739f GIT_SILENT Sync po/docbooks with svn 2023-10-11 01:40:56 +00:00
Heiko Becker c551daf59f GIT_SILENT Update Appstream for new release
(cherry picked from commit e589292372)
2023-10-07 17:58:53 +02:00
l10n daemon script e8295d9d1a GIT_SILENT Sync po/docbooks with svn 2023-10-07 01:27:16 +00:00
Jonah Brüchert acc227b68f Load audio player asynchronously to improve startup time
It appeared to be a major factor while profiling.
2023-10-07 02:08:52 +02:00
Jonah Brüchert ba017f29e4 Update ytmusicapi to 1.3.0 2023-10-03 23:55:46 +02:00
Jonah Brüchert 0d647236e0 Update supported ytmusicapi version to 1.2.1 2023-10-02 20:21:02 +02:00
l10n daemon script a31ff55797 GIT_SILENT Sync po/docbooks with svn 2023-10-01 01:34:06 +00:00
l10n daemon script 06a29f0d31 GIT_SILENT Sync po/docbooks with svn 2023-09-18 01:43:01 +00:00
l10n daemon script 19867e6488 GIT_SILENT Sync po/docbooks with svn 2023-09-17 01:57:57 +00:00
Jonah Brüchert a73ff3c03b Report QFutureResults even on failure
Otherwise we'd crash reading the result.
2023-09-15 21:01:59 +02:00
Bart Ribbers d4c8fbac96 Fix detecting of QT_MAJOR_VERSION logic 2023-09-15 18:49:28 +00:00
Justin Zobel 6624e08036 Update kirigami addons for Flatpak 2023-09-15 18:46:47 +00:00
Carl Schwan 6c5f8b62f1 Port to FormCard for the about page 2023-09-13 23:01:49 +02:00
Heiko Becker 1d3dff98bd GIT_SILENT Update Appstream for new release
(cherry picked from commit 665501728e)
2023-09-09 11:03:43 +02:00
l10n daemon script 7b1d0c9da0 GIT_SILENT Sync po/docbooks with svn 2023-09-03 02:03:17 +00:00
l10n daemon script eb2a00a834 GIT_SILENT Sync po/docbooks with svn 2023-08-28 02:04:00 +00:00
l10n daemon script eb5260ee9e GIT_SILENT Sync po/docbooks with svn 2023-08-25 01:45:49 +00:00
l10n daemon script 31eafac6f9 GIT_SILENT Sync po/docbooks with svn 2023-08-21 01:45:06 +00:00
Heiko Becker bd8fc2a7c7 GIT_SILENT Update Appstream for new release
(cherry picked from commit e6d1c52d8f)
2023-08-16 23:30:50 +02:00
Jonah Brüchert 29004b3aa3 thumbnailsource: Fix reusing thumbnailsources while they are loading 2023-08-12 00:55:09 +02:00
l10n daemon script 62bfc84464 GIT_SILENT Sync po/docbooks with svn 2023-08-11 01:43:42 +00:00
Theophile Gilgien 0506bb8fdb fix search history removing 2023-08-09 10:39:05 +02:00
l10n daemon script 2c5e8a6569 GIT_SILENT Sync po/docbooks with svn 2023-08-08 01:47:07 +00:00
Jonah Brüchert 3d32be19a0 Also use optimized search models for mobile search history 2023-08-07 20:22:35 +02:00
Theophile Gilgien 94d73a1584 fix search filter not resetting when clearing search 2023-08-07 16:48:00 +02:00
Theophile Gilgien acfa2af0e2 fix search removing when temporarySearch isn't empty 2023-08-07 16:43:48 +02:00
Jonah Brüchert f93a44a839 Improve performance of search popup with new local search model 2023-08-07 14:01:27 +00:00
Jonah Brüchert 592ad4ec68 Small library cleanup 2023-08-07 01:59:05 +02:00
Bart Ribbers 2894ab83e2 Allow building with KF6 2023-08-06 21:32:23 +02:00
Jonah Brüchert 7677ba8bf5 Update ytmusicapi to 1.1.1 2023-08-06 16:37:54 +02:00
Jonah Brüchert 678111a144 Fetch up too 100 search results 2023-08-06 16:36:39 +02:00
l10n daemon script 825ab78b46 GIT_SILENT Sync po/docbooks with svn 2023-08-03 02:04:21 +00:00
l10n daemon script b7ed9d6c2d GIT_SILENT Sync po/docbooks with svn 2023-07-31 02:05:26 +00:00
l10n daemon script cb9b3ef479 GIT_SILENT Sync po/docbooks with svn 2023-07-29 01:45:21 +00:00
l10n daemon script d8f30ae36f GIT_SILENT Sync po/docbooks with svn 2023-07-24 08:59:52 +00:00
l10n daemon script 930c1506a0 GIT_SILENT Sync po/docbooks with svn 2023-07-19 02:31:36 +00:00
Albert Astals Cid aa393e4278 GIT_SILENT Upgrade release service version to 23.11.70. 2023-07-17 12:49:23 +02:00
l10n daemon script c09c4b3331 GIT_SILENT made messages (after extraction) 2023-07-16 00:46:59 +00:00
l10n daemon script b9b4c8ef33 GIT_SILENT Sync po/docbooks with svn 2023-07-14 01:58:32 +00:00
l10n daemon script 5b3c171d8c GIT_SILENT Sync po/docbooks with svn 2023-07-10 01:54:20 +00:00
Theophile Gilgien 1a7107e7a0 Revert "Implement exporting and importing of playlists to and from m3u files"
This reverts commit 5a0e4ca97c.
2023-07-08 19:48:59 +02:00
Theophile Gilgien 84f74984fd Revert "solve bug on mobile layout"
This reverts commit 82c32e7227.
2023-07-08 19:48:43 +02:00
l10n daemon script efaa9e26ab GIT_SILENT Sync po/docbooks with svn 2023-07-08 02:19:07 +00:00
l10n daemon script 3ac2283752 GIT_SILENT Sync po/docbooks with svn 2023-07-07 01:52:42 +00:00
l10n daemon script 33d7a66716 GIT_SILENT Sync po/docbooks with svn 2023-07-06 02:26:33 +00:00
Theophile Gilgien 82c32e7227 solve bug on mobile layout 2023-07-05 14:37:45 +02:00
l10n daemon script 767df40145 GIT_SILENT Sync po/docbooks with svn 2023-07-05 02:24:21 +00:00
Théophile Gilgien 5a0e4ca97c Implement exporting and importing of playlists to and from m3u files 2023-07-04 19:26:31 +00:00
l10n daemon script cc7ea7a2ed GIT_SILENT Sync po/docbooks with svn 2023-07-04 02:26:57 +00:00
Jonah Brüchert 4d0779a633 Update requirements 2023-07-03 12:39:39 +02:00
Jonah Brüchert 61984e41d0 ytmusic: Add support for ytmusicapi 1.1.0
The get_song code is still far from complete, but at least doesn't throw
errors.
2023-07-02 10:42:51 +02:00
l10n daemon script 213c43813a GIT_SILENT Sync po/docbooks with svn 2023-07-02 02:20:22 +00:00
Jonah Brüchert ebf8f65ab0 ytmusic: fix get_song
Looks like the info we previously used was moved to a sub-object.
This is a quick fix for that without fully implementing the new
structure.

This function is currently unused, so it should be extended when needed.
2023-07-01 22:24:14 +02:00
l10n daemon script 5259e6bd9d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-07-01 01:43:53 +00:00
l10n daemon script 1b0d9fc042 GIT_SILENT made messages (after extraction) 2023-07-01 00:47:31 +00:00
Heiko Becker 15e2fb10cd GIT_SILENT Update Appstream for new release
(cherry picked from commit 54af63c2b5)
2023-06-30 01:12:06 +02:00
l10n daemon script 1704b35058 GIT_SILENT Sync po/docbooks with svn 2023-06-25 02:08:45 +00:00
l10n daemon script 344c35e9b8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-06-25 01:51:19 +00:00
l10n daemon script 85f1edf57b GIT_SILENT Sync po/docbooks with svn 2023-06-20 02:22:57 +00:00
l10n daemon script 80f04583c1 GIT_SILENT made messages (after extraction) 2023-06-20 00:49:55 +00:00
l10n daemon script 31fdf66868 GIT_SILENT Sync po/docbooks with svn 2023-06-19 02:02:42 +00:00
l10n daemon script 5f569409d0 GIT_SILENT Sync po/docbooks with svn 2023-06-18 02:35:18 +00:00
l10n daemon script 43787c181b GIT_SILENT Sync po/docbooks with svn 2023-06-14 01:48:55 +00:00
l10n daemon script d2546438ae SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-06-14 01:39:22 +00:00
l10n daemon script 34aaa72884 GIT_SILENT made messages (after extraction) 2023-06-14 00:46:24 +00:00
l10n daemon script b6931a75b3 GIT_SILENT Sync po/docbooks with svn 2023-06-12 02:12:59 +00:00
l10n daemon script 6462094e5b GIT_SILENT Sync po/docbooks with svn 2023-06-11 01:54:04 +00:00
l10n daemon script cf8ffe78d8 GIT_SILENT Sync po/docbooks with svn 2023-06-08 01:54:04 +00:00
l10n daemon script b62fe14fa9 GIT_SILENT Sync po/docbooks with svn 2023-06-07 01:57:17 +00:00
l10n daemon script 4162a11c6e GIT_SILENT Sync po/docbooks with svn 2023-06-06 01:50:13 +00:00
l10n daemon script 69383b5c04 GIT_SILENT Sync po/docbooks with svn 2023-06-05 01:46:40 +00:00
l10n daemon script d17c7e664a GIT_SILENT Sync po/docbooks with svn 2023-06-04 01:53:47 +00:00
Theophile Gilgien a46bacc036 enable playlist importing from search result 2023-06-03 11:21:57 +00:00
Heiko Becker 92fb247e31 GIT_SILENT Update Appstream for new release
(cherry picked from commit 752f94c351)
2023-06-02 21:45:07 +02:00
l10n daemon script 564a2c244d GIT_SILENT Sync po/docbooks with svn 2023-06-02 01:50:33 +00:00
Theophile Gilgien 987a9cbf52 close lyrics when playing a song whithout lyrics
before, the user would be stuck on the lyrics page, because the button
would be disabled
2023-06-01 14:26:24 +00:00
l10n daemon script 79825bb49a GIT_SILENT Sync po/docbooks with svn 2023-06-01 01:52:40 +00:00
l10n daemon script e1304bc791 GIT_SILENT Sync po/docbooks with svn 2023-05-31 02:20:29 +00:00
Jonah Brüchert f6d2a20441 Refuse to fetch empty video ids 2023-05-30 20:10:21 +02:00
l10n daemon script 965d7f41f3 GIT_SILENT Sync po/docbooks with svn 2023-05-30 02:07:05 +00:00
l10n daemon script 7d24c638a8 GIT_SILENT Sync po/docbooks with svn 2023-05-23 02:22:22 +00:00
l10n daemon script 152cce6a39 GIT_SILENT Sync po/docbooks with svn 2023-05-22 01:50:55 +00:00
l10n daemon script 505a6f26ee GIT_SILENT Sync po/docbooks with svn 2023-05-21 01:49:27 +00:00
Jonah Brüchert df0cb9f43c Make media duration key optional 2023-05-20 18:13:49 +02:00
Jonah Brüchert 17ef383b5a Require QCoro 0.9 2023-05-20 13:18:38 +02:00
Jonah Brüchert 357a259fdd flatpak: Update QCoro 2023-05-20 13:08:13 +02:00
Jonah Brüchert ca93ebd41f Port to QCoro 2023-05-20 13:07:50 +02:00
Theophile Gilgien 2a36aba9b2 solve anchor on layout-managed item
This was causing a lot of error messages.
2023-05-15 12:26:38 +00:00
Jonah Brüchert 05c8afdc26 cmake: Bump required ytmusicapi version to latest tested one 2023-05-15 00:24:57 +02:00
l10n daemon script e607621c9d GIT_SILENT Sync po/docbooks with svn 2023-05-13 01:49:53 +00:00
l10n daemon script 76f87d9170 GIT_SILENT Sync po/docbooks with svn 2023-05-12 01:53:29 +00:00
l10n daemon script bc5937d795 GIT_SILENT Sync po/docbooks with svn 2023-05-11 01:48:06 +00:00
l10n daemon script ef8b286e02 GIT_SILENT Sync po/docbooks with svn 2023-05-10 01:50:23 +00:00
l10n daemon script 676356fe36 GIT_SILENT Sync po/docbooks with svn 2023-05-09 01:55:08 +00:00
Stanislav Tolkachev e9a478ca5a importing a playlist from YouTube
Added the ability to import a playlist from YouTube, which is the most important feature for me.<br/>
Playlist fetching limit has been extended.<br/>
Adding importing progress indication is not yet.<br/>


Known issues:<br/>
Even with blocking function, tracks are added in a different order, and it is not clear why.
2023-05-08 14:47:52 +00:00
l10n daemon script 4e513a2a19 GIT_SILENT Sync po/docbooks with svn 2023-05-08 01:52:02 +00:00
l10n daemon script 8a7f0434c4 GIT_SILENT Sync po/docbooks with svn 2023-05-07 01:57:07 +00:00
Théophile Gilgien 2f1e8aa4d1 make queue side drawer resizable and more adaptive 2023-05-06 19:25:30 +00:00
Theophile Gilgien a6fc21f03e add Tooltips to trucated song titles in queue 2023-05-06 11:40:17 +00:00
Theophile Gilgien 7489765fd9 replace unnecessary copy by an alias 2023-05-06 13:32:29 +02:00
Heiko Becker c2f039dc25 GIT_SILENT Update Appstream for new release
(cherry picked from commit eaef9b1d68)
2023-05-06 11:12:39 +02:00
l10n daemon script 954d44de24 GIT_SILENT Sync po/docbooks with svn 2023-05-06 01:53:05 +00:00
l10n daemon script 8acc60b0cd GIT_SILENT Sync po/docbooks with svn 2023-05-05 01:57:43 +00:00
Jonah Brüchert 316402e023 Elide search result text 2023-05-04 08:18:22 +02:00
l10n daemon script e5e0b3eacb GIT_SILENT Sync po/docbooks with svn 2023-05-01 02:10:43 +00:00
Theophile Gilgien 7dc0010763 fix queueButton staying checked when closing queue by resizing 2023-05-01 00:16:22 +02:00
Jonah Brüchert 4629cd9a01 Update ytmusicapi to 1.0.2 2023-04-30 18:46:20 +02:00
l10n daemon script f94c1962bd GIT_SILENT Sync po/docbooks with svn 2023-04-30 02:37:23 +00:00
l10n daemon script d092f5624e GIT_SILENT Sync po/docbooks with svn 2023-04-29 02:01:27 +00:00
l10n daemon script 665b2c58ee GIT_SILENT Sync po/docbooks with svn 2023-04-28 01:52:41 +00:00
l10n daemon script d4801e4a7a GIT_SILENT Sync po/docbooks with svn 2023-04-27 01:55:48 +00:00
Jonah Brüchert ff7221436d Add support for top results 2023-04-26 08:34:48 +00:00
l10n daemon script 2fba6e6a20 GIT_SILENT Sync po/docbooks with svn 2023-04-26 01:58:37 +00:00
Jonah Brüchert 200e189b35 Display a notification when running with an unsupported version of ytmusicapi 2023-04-26 00:10:57 +02:00
l10n daemon script 887573f7e0 GIT_SILENT Sync po/docbooks with svn 2023-04-25 02:05:50 +00:00
Mathis Brüchert 9300279cbf implement right click 2023-04-24 15:17:47 +00:00
l10n daemon script 7f6f5d708e GIT_SILENT Sync po/docbooks with svn 2023-04-24 02:09:51 +00:00
l10n daemon script 2b5025ec20 GIT_SILENT Sync po/docbooks with svn 2023-04-23 02:30:51 +00:00
Jonah Brüchert 4432f4445a Use high-res cover art for the maximized player 2023-04-23 02:25:33 +02:00
Jonah Brüchert dfc2771fd0 If controls style is not set, assume platform provides no working styling 2023-04-22 13:20:04 +02:00
Jonah Brüchert c71ba3a6a1 Adapt flatpak recipe 2023-04-22 00:31:56 +02:00
Jonah Brüchert 6d9b9ab8ac Port to FutureSQL library 2023-04-22 00:23:54 +02:00
Jonah Brüchert f976e9e685 Work around API break in kirigami-addons 2023-04-21 09:54:17 +02:00
l10n daemon script 9ec825d0de GIT_SILENT Sync po/docbooks with svn 2023-04-21 01:56:14 +00:00
l10n daemon script 03b0b085ca GIT_SILENT Sync po/docbooks with svn 2023-04-19 02:01:02 +00:00
l10n daemon script 27a2f8571a GIT_SILENT Sync po/docbooks with svn 2023-04-17 02:31:33 +00:00
l10n daemon script f0d5a711a4 GIT_SILENT Sync po/docbooks with svn 2023-04-16 01:54:47 +00:00
Jonah Brüchert e758e00ad5 Make ytm_example a test 2023-04-15 19:50:30 +02:00
Jonah Brüchert dd56dae1cd Make playlist year optional 2023-04-15 19:50:29 +02:00
Théophile Gilgien e28b9d3104 fix dropdown bugs
# fix issues with temporarySearch in search dropdown

Handling temporary searches the same as normal ones created issues when
the temporary search was the same as a normal one. The normal search
could get temorarily removed, and the temporary search would not display
normally.
Handling temporary and normal searches separately seemed easier.
However, keeping the temporary searches completely separated and only in
the qml would have complexified greatly the already complex handling of
keyboard navigation, so keeping both in the model, but separated, seemed
to be the easiest option.

# fix popup being to large when opening with few entries

This requires knowing the height of one search entry, which is
surprisingly difficult. For keyboard navigation,
completitionList.empiricDelegateHeight was used. However, this can't be
used in this concept, because it requires mainScrollView.contentHeight
to be defined, which is not the cas at this stage. Fortunately, it
doesn't to be extremly accurate, as it is only used if there are less
than 11 search entries, so a small error doesn't adds up and is
therefore unnoticeable.

The initial situation :  
![image](/uploads/17971fdd9ddcaf4c84e0fd35ac8bdfd3/image.png)

result :  
![image](/uploads/81225206b0a6e05eb9d41159ad0d2906/image.png)
2023-04-15 17:41:43 +00:00
Jonah Brüchert c9eb920e8f Fix extracting playlists that have no author 2023-04-15 19:31:04 +02:00
Heiko Becker 926dc36a55 GIT_SILENT Update Appstream for new release
(cherry picked from commit 57c07c6f9e)
2023-04-12 19:05:13 +02:00
Jonah Brüchert 58460cf3d7 Add support for ytmusicapi 1.0.0 2023-04-12 12:14:32 +02:00
l10n daemon script 95505baedf GIT_SILENT Sync po/docbooks with svn 2023-04-11 02:14:18 +00:00
l10n daemon script 257ca4d61f GIT_SILENT Sync po/docbooks with svn 2023-04-08 01:56:10 +00:00
Theophile Gilgien b8965f3f6b fix dropdown search keyboard navigation 2023-04-07 14:44:56 +00:00
Theophile Gilgien bfaaba627f improve tooltips memory usage
https://invent.kde.org/multimedia/audiotube/-/merge_requests/100#note_656194
2023-04-07 14:35:59 +00:00
Jonah Brüchert bb4a24e21d Make search::Video views attribute optional
Fixes #27
2023-04-07 16:32:45 +02:00
l10n daemon script 10f02a589f GIT_SILENT Sync po/docbooks with svn 2023-04-07 01:47:59 +00:00
l10n daemon script 37de8ab88f GIT_SILENT Sync po/docbooks with svn 2023-04-06 01:50:32 +00:00
Theophile Gilgien 7b16511590 Introduce drag and drop to rearrange the queue 2023-04-06 01:48:24 +00:00
l10n daemon script 7ec574109f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-04-06 01:40:59 +00:00
l10n daemon script 736cc710b3 GIT_SILENT made messages (after extraction) 2023-04-06 00:46:29 +00:00
l10n daemon script 7c022a985b GIT_SILENT Sync po/docbooks with svn 2023-04-04 01:58:28 +00:00
l10n daemon script a03a65322d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-04-04 01:43:08 +00:00
l10n daemon script d8fd183b4e GIT_SILENT made messages (after extraction) 2023-04-04 00:46:04 +00:00
l10n daemon script 994eaa72f2 GIT_SILENT Sync po/docbooks with svn 2023-04-02 01:52:14 +00:00
Mathis Brüchert 8af3927b4e Fix extracting null search result 2023-03-31 16:06:44 +02:00
Mathis Brüchert 090129d9c6 Fix some extractor bugs 2023-03-31 13:51:34 +00:00
l10n daemon script 746c562d1a GIT_SILENT Sync po/docbooks with svn 2023-03-31 01:55:34 +00:00
l10n daemon script 24f61e96e1 GIT_SILENT Sync po/docbooks with svn 2023-03-29 01:53:54 +00:00
l10n daemon script b50cdbfe7a GIT_SILENT Sync po/docbooks with svn 2023-03-28 02:14:02 +00:00
l10n daemon script f22791f1eb GIT_SILENT Sync po/docbooks with svn 2023-03-27 02:35:43 +00:00
l10n daemon script bd90e7a8b6 GIT_SILENT Sync po/docbooks with svn 2023-03-26 01:56:35 +00:00
l10n daemon script 09f6af2ef4 GIT_SILENT made messages (after extraction) 2023-03-26 00:47:19 +00:00
l10n daemon script 2d1952342f GIT_SILENT Sync po/docbooks with svn 2023-03-25 01:53:37 +00:00
Mathis Brüchert 41d40e113a bigger mouse area 2023-03-24 15:08:35 +00:00
l10n daemon script a675f795bf GIT_SILENT Sync po/docbooks with svn 2023-03-24 01:50:19 +00:00
l10n daemon script 8345cee08c GIT_SILENT Sync po/docbooks with svn 2023-03-23 02:08:54 +00:00
l10n daemon script ed59d19fa1 GIT_SILENT Sync po/docbooks with svn 2023-03-22 02:12:38 +00:00
Theophile Gilgien 105af00a5a add tooltips for maximized player buttons 2023-03-21 21:38:00 +00:00
l10n daemon script 93bbff0c42 GIT_SILENT Sync po/docbooks with svn 2023-03-21 01:59:49 +00:00
l10n daemon script 7e544c7c74 GIT_SILENT Sync po/docbooks with svn 2023-03-20 01:57:16 +00:00
Jonah Brüchert 131b09f0c2 flatpak: Enable mpris permission 2023-03-20 01:13:29 +01:00
l10n daemon script 21bfa3bc3a GIT_SILENT Sync po/docbooks with svn 2023-03-19 01:49:54 +00:00
Jonah Brüchert 6dd1cdaa23 Fix issue introduced while rebasing 2023-03-18 21:24:09 +01:00
Mathis Brüchert 00df5b1e23 add action buttons to all pages 2023-03-18 20:24:25 +01:00
l10n daemon script 8bff9e1d63 GIT_SILENT Sync po/docbooks with svn 2023-03-18 02:10:08 +00:00
Jonah Brüchert 9354261c12 Move qml files to corect directory 2023-03-17 22:30:49 +01:00
Jonah Brüchert ce913af3dd Add migration for old thumbnail caches 2023-03-17 13:08:03 +00:00
Theophile Gilgien b36154bcff MPRIS integration 2023-03-17 13:06:11 +00:00
l10n daemon script df9b79fc8d GIT_SILENT Sync po/docbooks with svn 2023-03-17 02:08:53 +00:00
Jonah Brüchert f2c25eca84 Fix thumbnail in minimized player 2023-03-16 22:16:42 +01:00
Jonah Brüchert f0abcb7543 Use ThumbnailSource everywhere 2023-03-16 21:49:30 +01:00
Jonah Brüchert a2e64628dc Crop thumbnails to square 2023-03-16 21:35:47 +01:00
Jonah Brüchert 2d40ab5b13 Library: Don't show play icon on playlists 2023-03-16 14:15:52 +01:00
Jonah Brüchert 568029de87 AlbumCoverItem: Fix text being to wide 2023-03-16 14:14:32 +01:00
Jonah Brüchert 5bbb1649d8 Add reuseItems to remaining ListViews 2023-03-16 04:52:31 +01:00
Jonah Brüchert 4a579be475 Fix undefined references 2023-03-16 04:35:01 +01:00
Jonah Brüchert 09a20d589e Dropdown: Replace Repeater with ListView 2023-03-16 04:29:23 +01:00
Jonah Brüchert 3cc886e114 Use standard album cover component in playlists page 2023-03-16 04:11:00 +01:00
Jonah Brüchert 82c6776878 Fix warnings 2023-03-16 02:43:59 +00:00
Jonah Brüchert c4e4692a35 Refactor library page
* Use ListView instead of Repeater. This only creates the visible items,
  and should improve startup time and cover image loading speed.
* Re-use cover items while scrolling, should reduce memory usage
* Factor out common parts
2023-03-16 02:43:59 +00:00
l10n daemon script 82ac822430 GIT_SILENT Sync po/docbooks with svn 2023-03-16 02:02:27 +00:00
Jonah Brüchert 1d757149da Fix duplicated properly value
Oops sorry, I must have merged to merge requests fixing the same thing
differently.
2023-03-15 20:01:01 +01:00
l10n daemon script 6e7e69c3d9 GIT_SILENT Sync po/docbooks with svn 2023-03-15 01:55:30 +00:00
Jonah Brüchert ae098a31f2 Remove leftover debug prints 2023-03-15 00:59:54 +01:00
Theophile Gilgien e7588ba8bf fix queue button getting checked on small screen
Before, if you opened the queue on a widescreen and resized the window,
the queue button would get checked when clicked.
2023-03-14 23:20:29 +00:00
Theophile Gilgien a28257a7d1 disable playlist controls when playlist is empty 2023-03-14 23:20:29 +00:00
l10n daemon script 782a2d09a2 GIT_SILENT Sync po/docbooks with svn 2023-03-14 01:55:12 +00:00
Mathis Brüchert c4911cc3ac disable button for adding to playlist when no song is playing to prevent a minor issue where audiotube freezes 2023-03-13 15:07:48 +00:00
Theophile Gilgien 978389d83b fix search queries getting duplicated 2023-03-13 15:07:03 +00:00
Theophile Gilgien bf03824c5d fix temporary search not being removed after searching 2023-03-13 15:07:03 +00:00
l10n daemon script 5c97e502c3 GIT_SILENT Sync po/docbooks with svn 2023-03-13 02:04:41 +00:00
l10n daemon script b2c8b51f3a GIT_SILENT Sync po/docbooks with svn 2023-03-12 03:07:38 +00:00
l10n daemon script 4625e2cf30 GIT_SILENT Sync po/docbooks with svn 2023-03-11 02:10:25 +00:00
Albert Astals Cid 15f05da95a GIT_SILENT Upgrade release service version to 23.07.70. 2023-03-10 21:58:18 +01:00
l10n daemon script f42265e4ec GIT_SILENT Sync po/docbooks with svn 2023-03-10 01:59:58 +00:00
Mathis Brüchert f3f2d810be fix thumbnails in add to playlist dialog 2023-03-10 01:14:31 +00:00
l10n daemon script 0e2307aec5 GIT_SILENT Sync po/docbooks with svn 2023-03-09 01:53:56 +00:00
Jonah BrüchertandMathis Brüchert 5a279f8220 Add support for local playlists
Co-authored-by: Mathis Brüchert <[email protected]>
2023-03-08 19:11:50 +01:00
Mathis Brüchert 85c2b8454b LibraryPage: Fix layout warnings 2023-03-08 19:04:50 +01:00
l10n daemon script 70fe911716 GIT_SILENT Sync po/docbooks with svn 2023-03-08 01:58:38 +00:00
Jonah Brüchert 6be1d22569 flatpak: Update yt-dlp 2023-03-07 21:16:55 +01:00
Mathis Brüchert 2716bcc116 introduce workarround to not make audiotube crash when small 2023-03-07 14:05:58 +00:00
Mathis Brüchert bc1fba53fd improve Keyboard Navigtion 2023-03-07 15:04:03 +01:00
Mathis Brüchert c86d0be6db add Drawer header 2023-03-07 14:36:56 +01:00
l10n daemon script 1bb1c96058 GIT_SILENT Sync po/docbooks with svn 2023-03-07 01:58:40 +00:00
Mathis Brüchert 9441369500 change text color in player footer to make artist the same color as everywhere else 2023-03-06 16:06:31 +00:00
Mathis Brüchert bcd4e686ad fix play queue on mobile 2023-03-06 16:01:43 +00:00
l10n daemon script 895eb6c77a GIT_SILENT Sync po/docbooks with svn 2023-03-06 01:54:30 +00:00
Mathis Brüchert 059473082e fix window closing when sharigg 2023-03-05 23:36:57 +01:00
Mathis Brüchert 0cd0704a3f share menu: add ability to copy link 2023-03-05 22:16:38 +00:00
Tobias Fella 59532680d0 Add compile_commands.json to gitignore 2023-03-05 22:20:22 +01:00
Mathis Brüchert 3739337d1a make custom Drawer into component 2023-03-05 13:35:25 +00:00
l10n daemon script df3259eca2 GIT_SILENT Sync po/docbooks with svn 2023-03-05 02:29:16 +00:00
l10n daemon script 0af180c55f GIT_SILENT made messages (after extraction) 2023-03-05 00:48:56 +00:00
l10n daemon script 8d41a4adb7 GIT_SILENT Sync po/docbooks with svn 2023-03-04 01:55:25 +00:00
Jonah Brüchert d068e0db3e Add fallback theming 2023-03-04 02:54:07 +01:00
Mathis Brüchert afed9143b6 use consistent menu icon 2023-03-04 01:31:44 +00:00
Mathis Brüchert 586d1d9ffd add possibility to append all playlists and albums 2023-03-04 01:23:39 +00:00
Jonah Brüchert 7d4975eff1 Move out ThumbnailSource to its own file 2023-03-04 01:53:45 +01:00
Jonah Brüchert 68ed854346 Scale thumbnails down on another thread
On slower hardware, this could previously block
2023-03-04 01:46:15 +01:00
Mathis Brüchert 495c5a00ae purpouse integration 2023-03-03 21:56:03 +00:00
Theophile Gilgien 6ef5898fe1 enable keyboard navigation of proposed search results 2023-03-03 18:32:31 +00:00
l10n daemon script 5afc7881b8 GIT_SILENT Sync po/docbooks with svn 2023-03-03 01:55:39 +00:00
l10n daemon script 75a6aeb806 GIT_SILENT Sync po/docbooks with svn 2023-03-02 02:44:02 +00:00
Jonah Brüchert 3d134c0cd0 Scale thumbnails down before saving them
This saves us looooots of memory at runtime, as pretty much all of it
comes from the album covers.
2023-03-01 00:19:51 +01:00
Theophile Gilgien c4687b4c3e disable mobile clear playlist button if queue is empty 2023-02-28 22:03:12 +01:00
l10n daemon script fc40d8fde5 GIT_SILENT Sync po/docbooks with svn 2023-02-28 02:27:03 +00:00
Theophile Gilgien 54001c8f7a disable playlist controls when playlist is empty
This makes it impossible to crash the application by clearing the
playlist when it is empty.
2023-02-27 21:19:31 +01:00
Theophile Gilgien a9fc71e50d Apply 2 suggestion(s) to 1 file(s) 2023-02-27 20:13:45 +00:00
Mathis Brüchert df67ec1c33 make buttons disappear on small screens 2023-02-27 20:13:45 +00:00
l10n daemon script 784b849d62 GIT_SILENT Sync po/docbooks with svn 2023-02-27 02:32:17 +00:00
Jonah Brüchert 94395f2650 UserPlaylistModel: Use ranges to make code a bit shorter 2023-02-26 03:51:47 +01:00
Jonah Brüchert 5285b3561f Update play button when appending a song
Before this, the button would not notice that there is now a song to
skip to.
2023-02-26 03:46:58 +01:00
l10n daemon script 89c8e7bec9 GIT_SILENT Sync po/docbooks with svn 2023-02-26 02:19:29 +00:00
Theophile Gilgien f3ff6e3bdc allow to play favourite, most played and playback history
as a playlist and on shuffle
2023-02-25 12:55:50 +01:00
l10n daemon script e6ba376246 GIT_SILENT Sync po/docbooks with svn 2023-02-25 02:56:18 +00:00
l10n daemon script 2c1e322e40 GIT_SILENT Sync po/docbooks with svn 2023-02-24 02:17:01 +00:00
l10n daemon script 5600256185 GIT_SILENT Sync po/docbooks with svn 2023-02-23 02:17:20 +00:00
Theophile Gilgien 10846db290 fix PlaybackHistory.qml not updating when removing tracks 2023-02-22 15:00:59 +00:00
Mathis Brüchert 5110f7243b fix not being able to remove songs from drawer 2023-02-22 14:59:14 +00:00
Mathis Brüchert 98d0be5fb0 fix seperator color 2023-02-22 14:58:18 +00:00
Mathis Brüchert 99b2c7e45c fix color of drawer buttons 2023-02-22 14:58:18 +00:00
Mathis Brüchert 8b6d868083 Center text in headers on mobile 2023-02-22 14:54:21 +00:00
l10n daemon script 082f715452 GIT_SILENT Sync po/docbooks with svn 2023-02-22 02:09:07 +00:00
Jonah Brüchert 59990c2029 Fix crash on playing an album in shuffle mode while a track is playing
BUG: 465153
2023-02-21 23:55:28 +01:00
Theophile Gilgien 93a669036f allow search history removal on mobile 2023-02-21 22:00:34 +01:00
l10n daemon script 2c1cc94b4e GIT_SILENT Sync po/docbooks with svn 2023-02-21 02:17:47 +00:00
Theophile Gilgien f45553e868 update README to show new project page link 2023-02-20 23:35:19 +01:00
l10n daemon script 458ec93807 GIT_SILENT Sync po/docbooks with svn 2023-02-20 02:19:26 +00:00
Theophile Gilgien 2f62a31dfb introduce clear playlist button
This merge request also moves the shuffle button to below the playlist.
2023-02-19 23:15:56 +00:00
l10n daemon script 2c6bde6f83 GIT_SILENT Sync po/docbooks with svn 2023-02-19 02:21:59 +00:00
Mathis Brüchert 84552190dc sidebar width abstraction 2023-02-18 12:13:56 +00:00
Jonah Brüchert 564617ebb8 flatpak: Update yt-dlp 2023-02-18 13:12:36 +01:00
l10n daemon script 76be4e7f23 GIT_SILENT Sync po/docbooks with svn 2023-02-18 02:18:28 +00:00
l10n daemon script 5379f5fe3e GIT_SILENT Sync po/docbooks with svn 2023-02-17 02:13:40 +00:00
Jonah Brüchert 524a6b564a SearchModel: Simplify removal implementation 2023-02-16 22:27:06 +00:00
Theophile Gilgien 142b339daa allow search history changes without resetting model 2023-02-16 22:27:06 +00:00
Theophile Gilgien 748f561453 make check use Q_ASSERT instead of if 2023-02-16 22:27:06 +00:00
Theophile Gilgien d66c4827af implement Library::removeSearch and debug messages 2023-02-16 22:27:06 +00:00
Theophile Gilgien 9e1318b862 implement SearchHistoryModel::getRow 2023-02-16 22:27:06 +00:00
Theophile Gilgien 5c10a30f83 introduce removeRows function in SearchHistoryModel
This will allow to make it more efficient in the future
2023-02-16 22:27:06 +00:00
l10n daemon script ac4f7f2b5f GIT_SILENT Sync po/docbooks with svn 2023-02-16 02:59:16 +00:00
Jonah Brüchert 54d2088cdd Add license to kirigami-addons flatpak manifest 2023-02-16 00:39:27 +01:00
Jonah Brüchert af6bbcfff6 Add weird sidebar workaround also to aboutButton 2023-02-16 00:37:39 +01:00
Jonah Brüchert 397ccfe872 flatpak: Add kirigami-addons dependency 2023-02-16 00:34:56 +01:00
Jonah Brüchert 6645739b0b cmake: Mark kirigami-addons as required 2023-02-16 00:34:56 +01:00
Mathis Brüchert d97ae991dc Add about page 2023-02-15 19:38:33 +01:00
Mathis Brüchert bda1811200 Show placeholder images when the library is empty 2023-02-15 17:33:49 +01:00
l10n daemon script 5465b7cc69 GIT_SILENT Sync po/docbooks with svn 2023-02-15 02:17:01 +00:00
l10n daemon script 1006b9d895 GIT_SILENT Sync po/docbooks with svn 2023-02-12 02:11:48 +00:00
l10n daemon script a55ceffeba GIT_SILENT Sync po/docbooks with svn 2023-02-11 02:11:53 +00:00
l10n daemon script ff1dd274cb GIT_SILENT Sync po/docbooks with svn 2023-02-10 02:30:33 +00:00
l10n daemon script 5afffd6cbb GIT_SILENT Sync po/docbooks with svn 2023-02-09 02:46:27 +00:00
l10n daemon script 83287251a7 GIT_SILENT Sync po/docbooks with svn 2023-02-08 03:40:16 +00:00
Devin Lin 9a44485a77 Fix player controls on Plasma Mobile
Currently the player controls are broken, since qqc2-breeze-style expects implicit dimensions to be set properly. Also did some slight formatting fixes.
2023-02-07 16:03:38 +00:00
Theophile Gilgien a08aabb2bc allow volume label internationalisation 2023-02-07 15:36:32 +00:00
l10n daemon script 4a028c8102 GIT_SILENT Sync po/docbooks with svn 2023-02-07 02:31:19 +00:00
l10n daemon script d872158f78 GIT_SILENT Sync po/docbooks with svn 2023-02-06 02:37:00 +00:00
l10n daemon script 57e7a2a816 GIT_SILENT Sync po/docbooks with svn 2023-02-05 02:23:04 +00:00
l10n daemon script a175b9e453 GIT_SILENT Sync po/docbooks with svn 2023-02-04 02:51:44 +00:00
Jonah Brüchert 4947281de8 Add swipe indicators to bottom drawers 2023-02-03 14:31:00 +01:00
Jonah Brüchert c4c798b803 Fix some more qml warnings on mobile 2023-02-03 14:26:46 +01:00
Jonah Brüchert 14d646104c Fix playlist being invisible on mobile 2023-02-03 14:15:01 +01:00
Mathis Brüchert aacb03e765 redesign icon 2023-02-03 13:22:05 +01:00
Mathis Brüchert 590a219f22 redesign drawer 2023-02-03 13:20:06 +01:00
Theophile Gilgien e68ff6d01c add a volume slider in maximized player 2023-02-03 13:06:00 +01:00
Jonah Brüchert d5fcee258e SearchWithDropdown: Enable clipping the list view 2023-02-03 13:01:57 +01:00
l10n daemon script d0bf9ecb99 GIT_SILENT Sync po/docbooks with svn 2023-02-03 02:37:32 +00:00
l10n daemon script 068071d263 GIT_SILENT Sync po/docbooks with svn 2023-01-31 02:24:26 +00:00
Carl Schwan e9064602a6 Move AudioTube to the release service
See https://invent.kde.org/sysadmin/release-tools/-/merge_requests/27

Signed-off-by: Carl Schwan <[email protected]>
2023-01-30 20:04:50 +01:00
l10n daemon script 71f574fce9 GIT_SILENT Sync po/docbooks with svn 2023-01-30 02:44:21 +00:00
Theophile Gilgien c2a7a9742f reenable scrolling of past search queries 2023-01-29 16:20:13 +01:00
l10n daemon script 38a1018817 GIT_SILENT Sync po/docbooks with svn 2023-01-29 02:33:27 +00:00
l10n daemon script 58d877a1e6 GIT_SILENT Sync po/docbooks with svn 2023-01-28 02:31:44 +00:00
Carl Schwan ea97b5a3f2 Bump to 23.01
Signed-off-by: Carl Schwan <[email protected]>
2023-01-27 20:47:58 +01:00
l10n daemon script ea5085bfc7 GIT_SILENT Sync po/docbooks with svn 2023-01-27 02:23:52 +00:00
Theophile Gilgien 26dd42bf0d introduce possibility to remove search from history
This feature allows the user to remove past search queries, complementing the recent feature to remove a song from playback history.
2023-01-26 14:25:42 +00:00
l10n daemon script 8a5e0a26f9 GIT_SILENT Sync po/docbooks with svn 2023-01-26 02:14:48 +00:00
l10n daemon script 6b22eb5af0 GIT_SILENT Sync po/docbooks with svn 2023-01-25 02:33:30 +00:00
Jonah Brüchert cbafceb01e Add index property to delegates
The Kirigami list items depend on this property to exist, but it only
exists by default when using the old model API, which we don't.
2023-01-24 14:25:54 +01:00
l10n daemon script 843325d6c7 GIT_SILENT Sync po/docbooks with svn 2023-01-24 02:28:54 +00:00
l10n daemon script 11a1ce02a8 GIT_SILENT Sync po/docbooks with svn 2023-01-23 02:16:32 +00:00
Mathis Brüchert 8bc3012eb4 remove custom shaders 2023-01-23 00:54:41 +01:00
Mathis Brüchert e108ec5105 show song information in Drawer 2023-01-22 23:46:24 +00:00
l10n daemon script 57b1c07c33 GIT_SILENT Sync po/docbooks with svn 2023-01-22 02:32:45 +00:00
Jonah Brüchert f07076910a Update tested ytmusicapi version to 0.25.0 2023-01-21 17:20:13 +01:00
Mathis Brüchert ce74b42e3e make menu always visible on mobile
Previously, the menu button was hidden behind a swipe gesture + button,
which is redundant.
2023-01-21 16:36:28 +01:00
Jonah Brüchert 47e4831bca Library: Only create one SongMenu instance 2023-01-21 16:33:12 +01:00
Mathis Brüchert 1a15e1578f remove hard coded numbers 2023-01-21 12:39:15 +01:00
Mathis Brüchert 94e8fce0f2 make dropdown visually prettier 2023-01-21 11:36:52 +01:00
Jonah Brüchert e40b9f6e10 Adapt to youtube changes 2023-01-21 11:08:18 +01:00
l10n daemon script e44182ee71 GIT_SILENT Sync po/docbooks with svn 2023-01-21 02:19:52 +00:00
Theophile Gilgien e1a32deb01 introduce possibility to remove songs from history
The part to hide the context menu entry when the song isn't in the
history does not yet work, as the call to Library::wasPlayedWatcher()
and FavouriteWatcher::wasPlayed() from SongMenu.qml don't work.
2023-01-21 00:16:17 +01:00
l10n daemon script 9261999563 GIT_SILENT Sync po/docbooks with svn 2023-01-16 02:29:33 +00:00
Jonah Brüchert 1f5ed15cb9 flatpak: Update pybind11 2023-01-15 12:08:00 +01:00
Jonah Brüchert 49ad94e2f8 flatpak: Update dependencies 2023-01-15 12:04:46 +01:00
l10n daemon script faad08c203 GIT_SILENT Sync po/docbooks with svn 2023-01-14 17:50:33 +00:00
l10n daemon script 4237746082 GIT_SILENT Sync po/docbooks with svn 2023-01-13 03:19:39 +00:00
l10n daemon script 989cecaf64 GIT_SILENT Sync po/docbooks with svn 2023-01-11 02:28:50 +00:00
Jonah Brüchert a6e3220054 SongMenu: Fix typo 2023-01-10 19:06:36 +01:00
Mathis Brüchert 0095677485 blur sidebar 2023-01-10 16:23:05 +01:00
l10n daemon script 311111f7d8 GIT_SILENT Sync po/docbooks with svn 2023-01-10 02:21:39 +00:00
Mathis Brüchert 1c590dd38c Clear page stack before pushing pages from the sidebar
Avoids the situation in which multiple pages are open, and only the last
one is replaced, allowing to go back from the library.
The library page should strictly be the home page.
2023-01-09 23:54:26 +01:00
l10n daemon script 4d4dc7e8ca GIT_SILENT Sync po/docbooks with svn 2023-01-09 02:22:51 +00:00
l10n daemon script df7e69db9f GIT_SILENT Sync po/docbooks with svn 2023-01-08 02:26:43 +00:00
Mathis Brüchert d6f53b7485 remove double header 2023-01-07 03:40:36 +01:00
l10n daemon script 8e8fe9871c GIT_SILENT Sync po/docbooks with svn 2023-01-05 02:31:29 +00:00
l10n daemon script 9887e6cbc0 GIT_SILENT Sync po/docbooks with svn 2023-01-04 03:07:06 +00:00
l10n daemon script 62ec82a85a GIT_SILENT made messages (after extraction) 2023-01-04 00:51:25 +00:00
l10n daemon script bae859ff7c GIT_SILENT Sync po/docbooks with svn 2023-01-03 03:31:00 +00:00
l10n daemon script 443183d4cd GIT_SILENT made messages (after extraction) 2023-01-03 00:50:01 +00:00
l10n daemon script f762a6d8c1 GIT_SILENT Sync po/docbooks with svn 2023-01-01 03:09:19 +00:00
l10n daemon script 4c30f20fed GIT_SILENT Sync po/docbooks with svn 2022-12-31 02:23:10 +00:00
Jonah Brüchert 1faa7a13fc flatpak: Update runtime to 5.15-22.08 2022-12-30 18:50:34 +01:00
l10n daemon script b7438cd452 GIT_SILENT Sync po/docbooks with svn 2022-12-30 10:05:49 +00:00
l10n daemon script 387ea1153a GIT_SILENT Sync po/docbooks with svn 2022-12-30 02:45:28 +00:00
Mathis Brüchert d42138cc87 add right padding to scroll Views 2022-12-29 17:35:33 +01:00
Mathis Brüchert b64e23a4ce make title change color on hover 2022-12-29 16:23:29 +01:00
Jonah Brüchert 5b717c468b Make it impossible to open the menu drawer by swiping
When this was done, the drawer was not connected to any list item, and
of course didn't work.
2022-12-29 16:16:59 +01:00
Jonah Brüchert a277a5cfa1 Remove stray debug 2022-12-29 14:04:11 +01:00
Jonah Brüchert 2bcc2b4622 Fix displaying artists in history page 2022-12-29 14:00:17 +01:00
Mathis Brüchert 226d187275 add Sidebar 2022-12-29 13:58:36 +01:00
Mathis Brüchert 72148cb630 add new scrennshots to appdata file 2022-12-29 12:43:43 +01:00
Jonah Brüchert 58abc9d38a Fix warning about unused typedef 2022-12-28 16:05:04 +01:00
Jonah Brüchert d166a66797 Support ytmusicapi 0.24.1 2022-12-28 16:02:14 +01:00
Jonah Brüchert 81e7627ad1 Add flatpak CI 2022-12-28 15:52:10 +01:00
l10n daemon script 28f821e482 GIT_SILENT Sync po/docbooks with svn 2022-12-28 02:24:45 +00:00
l10n daemon script 832674b5b3 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-12-28 02:03:08 +00:00
l10n daemon script 28ff9be4ac GIT_SILENT made messages (after extraction) 2022-12-28 00:51:42 +00:00
l10n daemon script 89255083b9 GIT_SILENT Sync po/docbooks with svn 2022-12-25 03:09:09 +00:00
l10n daemon script 3a8788896f GIT_SILENT Sync po/docbooks with svn 2022-12-24 02:18:19 +00:00
Jonah Brüchert 22d5667995 Fix blurry album covers 2022-12-23 22:41:36 +01:00
Jonah Brüchert bdfb92a736 Fix passing artists to the menu 2022-12-23 22:38:32 +01:00
Mathis Brüchert 4e3da60708 disable horizontal scralling making touch gestures work with lyrics 2022-12-23 17:27:39 +00:00
Mathis Brüchert f7d5d31108 move menu to a drawer when on mobile 2022-12-23 17:27:00 +00:00
l10n daemon script 1d11e11ee6 GIT_SILENT Sync po/docbooks with svn 2022-12-23 02:14:58 +00:00
l10n daemon script d14e1189f2 GIT_SILENT Sync po/docbooks with svn 2022-12-21 02:15:43 +00:00
Mathis Brüchert 378abb7d4b animate play symbol on hover 2022-12-20 16:12:44 +00:00
l10n daemon script 51d330e6f3 GIT_SILENT Sync po/docbooks with svn 2022-12-17 12:37:10 +00:00
l10n daemon script 3963eb41ce GIT_SILENT Sync po/docbooks with svn 2022-12-14 03:07:31 +00:00
l10n daemon script af12a936d6 GIT_SILENT Sync po/docbooks with svn 2022-12-12 02:34:17 +00:00
Devin Lin cc6661321d Fix list entries from going over the media player 2022-12-11 15:47:41 +00:00
Jonah Brüchert e70a8689bb Make tab list overflow on small screen 2022-12-11 16:10:11 +01:00
l10n daemon script 6511812f2e GIT_SILENT Sync po/docbooks with svn 2022-12-05 02:11:50 +00:00
l10n daemon script 668642d893 GIT_SILENT Sync po/docbooks with svn 2022-12-04 02:10:46 +00:00
l10n daemon script 151281f58c GIT_SILENT Sync po/docbooks with svn 2022-12-03 02:17:48 +00:00
Jonah Brüchert f01057a244 Don't allow building with old ytmusicapi versions
Apparently nobody looks at requirements.txt, so make this fail more
obviously.

As for why this is needed, ytmusicapi doesn't have a stable API, and
that means every time we adapt to a new version, old versions can break.
Having python backtraces thrown into the user's face would be a bad user
experience, so try to make sure packagers don't forget to update it.
2022-12-03 01:59:52 +01:00
l10n daemon script e494a6f1a6 GIT_SILENT Sync po/docbooks with svn 2022-12-02 03:18:23 +00:00
l10n daemon script b43d967f69 GIT_SILENT made messages (after extraction) 2022-12-02 00:49:05 +00:00
l10n daemon script 6b94a459de GIT_SILENT Sync po/docbooks with svn 2022-12-01 02:10:45 +00:00
Jonah Brüchert 1109b81870 Don't try to fetch lyrics when no track is playing
This can happen if the playlist ran through
2022-11-30 17:20:13 +01:00
Jonah Brüchert 9f404d37f6 Optimize memory usage 2022-11-30 17:17:54 +01:00
Bhushan Shah 32be492e82 Update version number for 22.11
GIT_SILENT
2022-11-30 13:26:50 +05:30
l10n daemon script c4de93e4d1 GIT_SILENT Sync po/docbooks with svn 2022-11-30 02:11:45 +00:00
l10n daemon script e5c817b955 GIT_SILENT Sync po/docbooks with svn 2022-11-29 02:14:35 +00:00
l10n daemon script cc2dcd1abb GIT_SILENT Sync po/docbooks with svn 2022-11-28 02:15:39 +00:00
Jonah Brüchert 4b343157a2 Use JavaScript arrow function syntax 2022-11-28 00:08:53 +01:00
Mathis Brüchert 52f330d6be Redesign browsing pages 2022-11-27 19:32:36 +01:00
Jonah Brüchert 435d530b14 Use Kirigami.DelegateRecycler in quick search repeater
I'm not 100% sure how much this will help here, but on my tablet the
frequent allocation of objects while filtering creates a noticable
delay, so let's see if this helps.
2022-11-27 19:26:31 +01:00
l10n daemon script a2d1288e06 GIT_SILENT Sync po/docbooks with svn 2022-11-27 02:07:37 +00:00
l10n daemon script 72500ef1a8 GIT_SILENT Sync po/docbooks with svn 2022-11-26 02:08:12 +00:00
l10n daemon script 6e67e63c32 GIT_SILENT Sync po/docbooks with svn 2022-11-25 02:15:14 +00:00
l10n daemon script 634ccf7835 GIT_SILENT Sync po/docbooks with svn 2022-11-24 02:09:19 +00:00
l10n daemon script da6363d6cc GIT_SILENT Sync po/docbooks with svn 2022-11-23 02:22:26 +00:00
Jonah Brüchert 0447eb3ca2 Fix alignment of local search results 2022-11-22 23:25:10 +01:00
Jonah Brüchert d49addb1ae Fix separator visibility logic 2022-11-22 23:16:59 +01:00
Jonah Brüchert bade37f9f2 Improve popup layout 2022-11-22 23:14:52 +01:00
Jonah Brüchert 5581c9f8e9 Fix separator being displayed in the wrong place 2022-11-22 22:51:03 +01:00
Jonah Brüchert 342984283c Wrap Queue in a ScrollView
This improves the scroll behaviour on the desktop a lot
2022-11-22 22:46:24 +01:00
Mathis Brüchert d313c4b79b clean up player 2022-11-22 22:35:53 +01:00
Mathis Brüchert eb3bb80669 add play icon when hovereing over library entries 2022-11-22 22:33:20 +01:00
Jonah Brüchert c56bbb68f6 Store artist and album of known songs in the database
In the future, this will allow to do better local searching
2022-11-22 18:32:06 +01:00
Jonah Brüchert f5a54fc7e7 Handle thumbnails that are not stored in the guessable location
Currently we just guess the url, which almost always works, but for some
videos (maybe very old ones) it doesn't work.
So for those, we now just invoke yt-dlp to extract the correct url. As
long as this affects only very few videos, it's still fast enough.

AudioTube will print a warning on the console if that happens, to make
it easier to debug when its slow.
2022-11-22 18:01:21 +01:00
Jonah Brüchert f2f653815b search: Display ~2 lines for previously played songs 2022-11-22 17:41:26 +01:00
Jonah Brüchert 4edfc8db71 Fix undefined reference error
The object seems unused
2022-11-22 17:40:52 +01:00
Jonah Brüchert f368c8fd8c resources.qrc: Restore reuse information 2022-11-22 16:43:09 +01:00
Jonah Brüchert a0f7854c52 Factor out the rounded mask code into its own file
Should make it easier to port to Qt6
2022-11-22 16:32:15 +01:00
Jonah BrüchertandMathis Brüchert fb9e17621f Search through played songs as well
Co-authored-by: Mathis Brüchert <[email protected]>
2022-11-22 16:19:03 +01:00
Jonah Brüchert d5b2c2c45c Filter search history while searching 2022-11-21 22:14:54 +01:00
Jonah Brüchert 0e6abff8ff Only display unique search queries 2022-11-21 21:58:35 +01:00
l10n daemon script a762edafc7 GIT_SILENT Sync po/docbooks with svn 2022-11-21 02:10:44 +00:00
l10n daemon script d1bf0c711c GIT_SILENT made messages (after extraction) 2022-11-21 00:48:42 +00:00
l10n daemon script 996322c335 GIT_SILENT Sync po/docbooks with svn 2022-11-20 02:57:06 +00:00
l10n daemon script 54d7c276bf GIT_SILENT Sync po/docbooks with svn 2022-11-19 02:12:55 +00:00
l10n daemon script 234f364b33 GIT_SILENT Sync po/docbooks with svn 2022-11-16 02:31:01 +00:00
l10n daemon script 0d019b9499 GIT_SILENT Sync po/docbooks with svn 2022-11-14 02:14:58 +00:00
l10n daemon script f4d144d53e GIT_SILENT Sync po/docbooks with svn 2022-11-13 02:11:22 +00:00
l10n daemon script 49bff407ad GIT_SILENT Sync po/docbooks with svn 2022-11-10 02:12:38 +00:00
Mathis Brüchert 1e2df2d6d8 Add more shadows and rounding to album convers 2022-11-09 23:13:48 +01:00
Jonah Brüchert 7c3d83704b Clear lyrics when changing the song 2022-11-09 00:31:33 +01:00
l10n daemon script 2796d9be83 GIT_SILENT Sync po/docbooks with svn 2022-11-08 02:07:29 +00:00
l10n daemon script 4233a323b7 GIT_SILENT Sync po/docbooks with svn 2022-11-07 02:58:01 +00:00
l10n daemon script cf5d8df35d GIT_SILENT Sync po/docbooks with svn 2022-11-06 02:09:20 +00:00
Jonah Brüchert 86f16fc7af Library: Add more spacing 2022-11-06 01:03:31 +01:00
Jonah Brüchert 7024e1526f Display lyrics 2022-11-05 21:57:17 +01:00
l10n daemon script d2b256f943 GIT_SILENT Sync po/docbooks with svn 2022-11-04 02:09:10 +00:00
Jonah Brüchert dcf1b9df98 search: Display artists 2022-11-03 21:34:23 +01:00
Jonah Brüchert 0f0e8a5974 Also display thumbnails for artists 2022-11-03 21:16:45 +01:00
Jonah Brüchert f703f1e357 Display album covers 2022-11-03 21:01:32 +01:00
Jonah Brüchert 3815759cd3 Make sure not to fail on old ytmusicapi verions by checking for the new-style version 2022-11-03 19:25:35 +01:00
Jonah Brüchert 72242e328c Update flatpak sources 2022-11-03 16:55:03 +01:00
Jonah Brüchert c38805fa92 Support ytmusicapi 0.24 2022-11-03 16:52:39 +01:00
l10n daemon script 1ae12c868e GIT_SILENT Sync po/docbooks with svn 2022-10-31 03:06:45 +00:00
Jonah Brüchert 9f3789eac5 Speed up loading thumbnails
By guessing the url directly instead of going through youtube-dl
2022-10-29 19:14:31 +02:00
l10n daemon script a956177d6a GIT_SILENT Sync po/docbooks with svn 2022-10-29 02:12:40 +00:00
l10n daemon script b900c44188 GIT_SILENT Sync po/docbooks with svn 2022-10-28 02:22:10 +00:00
Devin Lin e521c07102 Update README.md 2022-10-27 03:47:15 +00:00
l10n daemon script e696298bc9 GIT_SILENT Sync po/docbooks with svn 2022-10-25 02:16:20 +00:00
l10n daemon script b65fbe83f4 GIT_SILENT Sync po/docbooks with svn 2022-10-24 02:11:59 +00:00
l10n daemon script ce6782a131 GIT_SILENT Sync po/docbooks with svn 2022-10-23 02:02:07 +00:00
Tobias Fella a37746440a Prepare C++ for Qt6 2022-10-20 20:41:07 +00:00
l10n daemon script eaf62c2770 GIT_SILENT Sync po/docbooks with svn 2022-10-20 03:22:48 +00:00
l10n daemon script 147392f317 GIT_SILENT Sync po/docbooks with svn 2022-10-19 02:10:48 +00:00
l10n daemon script 63d56acd88 GIT_SILENT Sync po/docbooks with svn 2022-10-08 10:57:36 +00:00
l10n daemon script 28d07b370f GIT_SILENT Sync po/docbooks with svn 2022-10-08 02:11:21 +00:00
l10n daemon script d648ba9c93 GIT_SILENT Sync po/docbooks with svn 2022-10-07 02:27:49 +00:00
l10n daemon script a82dae6251 GIT_SILENT Sync po/docbooks with svn 2022-10-04 02:15:30 +00:00
l10n daemon script f99a17339b GIT_SILENT Sync po/docbooks with svn 2022-10-03 03:08:22 +00:00
l10n daemon script 198266c081 GIT_SILENT Sync po/docbooks with svn 2022-10-01 02:02:25 +00:00
l10n daemon script 756c2f8b56 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-10-01 01:56:51 +00:00
l10n daemon script abdba9922a GIT_SILENT made messages (after extraction) 2022-10-01 00:50:54 +00:00
l10n daemon script 7ca4095571 GIT_SILENT Sync po/docbooks with svn 2022-09-30 01:53:29 +00:00
l10n daemon script c3128c9855 GIT_SILENT Sync po/docbooks with svn 2022-09-29 01:54:00 +00:00
l10n daemon script 20ae6c37cb GIT_SILENT Sync po/docbooks with svn 2022-09-28 02:03:54 +00:00
l10n daemon script 3c2fdca5fc SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-09-28 01:59:38 +00:00
l10n daemon script 395c7ad140 GIT_SILENT made messages (after extraction) 2022-09-28 00:52:28 +00:00
Bhushan Shah 630b54933d GIT_SILENT: bump version to 22.09 2022-09-27 20:20:12 +05:30
l10n daemon script 2293280316 GIT_SILENT Sync po/docbooks with svn 2022-09-25 01:52:51 +00:00
l10n daemon script 14116b9cd2 GIT_SILENT Sync po/docbooks with svn 2022-09-24 01:53:06 +00:00
l10n daemon script 4c7db5d5c9 GIT_SILENT Sync po/docbooks with svn 2022-09-21 01:52:39 +00:00
l10n daemon script f26bc80421 GIT_SILENT Sync po/docbooks with svn 2022-09-12 01:48:30 +00:00
l10n daemon script f934e99254 GIT_SILENT Sync po/docbooks with svn 2022-09-09 01:53:23 +00:00
l10n daemon script b6cd3c4a2b GIT_SILENT Sync po/docbooks with svn 2022-09-04 01:51:30 +00:00
Jonah Brüchert 76763b9be1 Update python dependencies 2022-09-01 23:35:44 +02:00
l10n daemon script 1606f91124 GIT_SILENT Sync po/docbooks with svn 2022-08-31 01:47:29 +00:00
l10n daemon script cf8c982228 GIT_SILENT Sync po/docbooks with svn 2022-08-30 01:49:27 +00:00
l10n daemon script e94362854d GIT_SILENT Sync po/docbooks with svn 2022-08-29 01:55:05 +00:00
l10n daemon script 40f3d5eab1 GIT_SILENT Sync po/docbooks with svn 2022-08-28 01:49:25 +00:00
l10n daemon script dc3b35bffa GIT_SILENT Sync po/docbooks with svn 2022-08-27 01:57:17 +00:00
Jonah Brüchert 52c654179f Add buttons for opening some pages in the web ui 2022-08-26 21:03:49 +02:00
Jonah Brüchert a07a3c162f Show newer favourites first 2022-08-24 09:31:59 +02:00
Jonah Brüchert e4f8f96517 Fix new unused variable warning on current gcc 12
The warning occurs in a constexpr if, so even though the variable is
used in the function, it may not be after the constexpr ifs are
evaluated.
2022-08-24 09:30:12 +02:00
l10n daemon script 6fdb0321d6 GIT_SILENT Sync po/docbooks with svn 2022-08-21 01:55:06 +00:00
l10n daemon script be9b0d57e9 GIT_SILENT Sync po/docbooks with svn 2022-08-14 01:51:10 +00:00
l10n daemon script b4c6749a76 GIT_SILENT Sync po/docbooks with svn 2022-08-08 01:57:12 +00:00
l10n daemon script a98e3c7b92 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-08-08 01:51:52 +00:00
l10n daemon script 26e7bbbdb8 GIT_SILENT made messages (after extraction) 2022-08-08 00:48:13 +00:00
l10n daemon script efa7dd674a GIT_SILENT Sync po/docbooks with svn 2022-08-07 01:54:32 +00:00
l10n daemon script ef59e9d418 GIT_SILENT Sync po/docbooks with svn 2022-07-31 01:57:02 +00:00
l10n daemon script e1678a76ba GIT_SILENT Sync po/docbooks with svn 2022-07-23 01:54:34 +00:00
Jonah Brüchert 56ffb52ce5 flatpak: Update python packages 2022-07-19 15:16:41 +02:00
l10n daemon script f0a2d2e79a GIT_SILENT Sync po/docbooks with svn 2022-07-19 01:45:53 +00:00
l10n daemon script 182e77a68d GIT_SILENT Sync po/docbooks with svn 2022-07-17 01:52:45 +00:00
Jonah Brüchert 98ccbfe99d ytmusic: Include iostream
Previously this was not necessary, but now it fails to compile.
I suspect this to be related to a gcc update.
2022-07-16 19:31:40 +02:00
l10n daemon script 53bfc641b4 GIT_SILENT Sync po/docbooks with svn 2022-07-15 01:54:45 +00:00
l10n daemon script 1aabf2eefc GIT_SILENT Sync po/docbooks with svn 2022-07-14 01:58:13 +00:00
l10n daemon script 0d54dfb660 GIT_SILENT Sync po/docbooks with svn 2022-07-12 01:55:23 +00:00
Jonah Brüchert 8093f16f16 player: Set text directly on label instead of on the button
I suspect this to be the cause of the duplicated label. However I'm not
fully certain this fixes it. Please re-open the bug if the issue
persists.

BUG: 456597
2022-07-11 22:16:16 +02:00
Jonah Brüchert bac6ac3362 (very) minor database optimization 2022-07-11 22:09:59 +02:00
Jonah Brüchert 2f914d9f60 appstream: Add library screenshot 2022-07-11 15:44:12 +02:00
l10n daemon script d3293d22ab GIT_SILENT Sync po/docbooks with svn 2022-07-11 01:55:30 +00:00
l10n daemon script 4de3fdae81 GIT_SILENT Sync po/docbooks with svn 2022-07-10 01:57:26 +00:00
l10n daemon script 9518c73415 GIT_SILENT Sync po/docbooks with svn 2022-07-09 01:56:21 +00:00
l10n daemon script 05be539411 GIT_SILENT Sync po/docbooks with svn 2022-07-03 02:04:59 +00:00
l10n daemon script f12c4e3109 GIT_SILENT Sync po/docbooks with svn 2022-06-28 01:48:54 +00:00
l10n daemon script 004ef28a15 GIT_SILENT Sync po/docbooks with svn 2022-06-26 01:47:08 +00:00
l10n daemon script afa9b25aff GIT_SILENT Sync po/docbooks with svn 2022-06-25 02:06:45 +00:00
Bhushan Shah 303ce7c816 GIT_SILENT: bump version to 22.06 2022-06-23 21:11:20 +05:30
l10n daemon script e7cbd07b80 GIT_SILENT Sync po/docbooks with svn 2022-06-20 02:02:25 +00:00
l10n daemon script 923ae5fc96 GIT_SILENT Sync po/docbooks with svn 2022-06-18 01:47:06 +00:00
l10n daemon script 51a3b3c68e GIT_SILENT Sync po/docbooks with svn 2022-06-17 01:46:44 +00:00
l10n daemon script ef1582c67c GIT_SILENT Sync po/docbooks with svn 2022-06-16 02:01:08 +00:00
l10n daemon script 2091e39b90 GIT_SILENT Sync po/docbooks with svn 2022-06-13 02:49:49 +00:00
l10n daemon script ab02e72f1f GIT_SILENT Sync po/docbooks with svn 2022-06-12 01:50:20 +00:00
l10n daemon script d498d6a407 GIT_SILENT Sync po/docbooks with svn 2022-06-07 02:32:41 +00:00
l10n daemon script 6dc6e9538c GIT_SILENT Sync po/docbooks with svn 2022-06-06 01:47:22 +00:00
l10n daemon script 3b0cbefe85 GIT_SILENT Sync po/docbooks with svn 2022-06-05 01:48:47 +00:00
l10n daemon script 38e152fc52 GIT_SILENT Sync po/docbooks with svn 2022-06-04 01:49:02 +00:00
l10n daemon script 0f111b43be GIT_SILENT Sync po/docbooks with svn 2022-06-01 02:04:45 +00:00
l10n daemon script ffbeab0b14 GIT_SILENT Sync po/docbooks with svn 2022-05-30 01:48:55 +00:00
Jonah Brüchert 8860b62eec PlaybackHistory: Load album covers asynchronously 2022-05-30 00:52:05 +02:00
l10n daemon script 93433d8714 GIT_SILENT Sync po/docbooks with svn 2022-05-29 01:50:37 +00:00
l10n daemon script 211a0c6f93 GIT_SILENT Sync po/docbooks with svn 2022-05-28 02:33:52 +00:00
Jonah Brüchert aadfc71200 Fix crash on exit 2022-05-28 00:31:22 +02:00
l10n daemon script 1532adedb1 GIT_SILENT Sync po/docbooks with svn 2022-05-27 01:47:15 +00:00
Jonah Brüchert 16ce656201 Remove QT_QML_DEBUG 2022-05-26 14:26:46 +02:00
l10n daemon script a398723bdb GIT_SILENT Sync po/docbooks with svn 2022-05-26 01:47:23 +00:00
Jonah Brüchert f7a4788e73 Fix opening the 'Leoniden' artist page 2022-05-25 23:12:20 +02:00
Jonah Brüchert 15425c7b01 Use std::invoke_result_t to simplify template code 2022-05-25 23:00:22 +02:00
Jonah Brüchert 96c2a505a7 Fix up previous commit 2022-05-25 23:00:22 +02:00
Jonah Brüchert b58e3fc2d4 Allow to show all favourites / history as a list 2022-05-25 22:36:06 +02:00
Jonah Brüchert 4b1cbf11ad Display AudioTube label just on mobile, and move the search bar back to the center 2022-05-25 15:33:35 +02:00
Devin Lin 1037ac8c02 app header: Move search bar to side, add app header, add search button for mobile 2022-05-25 15:33:32 +02:00
l10n daemon script 572f3c4c94 GIT_SILENT Sync po/docbooks with svn 2022-05-25 01:52:03 +00:00
Devin Lin e48d6c8bb6 Add loading indicator to minimized bar when loading track 2022-05-24 14:52:20 +00:00
l10n daemon script d717e7dff9 GIT_SILENT Sync po/docbooks with svn 2022-05-24 01:50:35 +00:00
Jonah Brüchert cb16ebb812 Crop album art to square 2022-05-23 21:42:23 +02:00
Jonah Brüchert 2c1df5e9e4 asyncdatabase: Remove unused includes 2022-05-23 21:16:43 +02:00
Jonah Brüchert c3873d05ac asyncdatabase: Move parseRows into private API
It is no longer useful externally, as the database API doesn't return
unparsed QVariants any more.
2022-05-23 21:16:43 +02:00
Jonah Brüchert 4fca0ca0c5 Show mini progress bar when there is no space for the full one 2022-05-23 16:06:00 +00:00
Jonah Brüchert c02f369a0f asyncdatabase: Fix mistake in concept checks 2022-05-23 18:04:28 +02:00
Jonah Brüchert 2e68ec0880 Remove remove action from most viewed 2022-05-23 17:31:21 +02:00
Jonah Brüchert c7b22b348e asyncdatabase: Use concepts to define the interface of types that can be deserialized from SQL 2022-05-23 16:12:25 +02:00
Devin Lin f4c8172201 Revamp media player UI
Reworks the media player UI for mobile devices. Adds a swipe gesture to open the media player, and reworks the UI to be more... *hip?*

TODO: haven't implemented a "previous song" feature, is that possible?

![image](/uploads/d329da0ea548eed466227ef39f25301f/image.png)

![image](/uploads/7b3cf83204a1df13b5b166d24d0c2a91/image.png)

![image](/uploads/74c641c544a130eb5e692fb1ae733e37/image.png)
2022-05-23 12:36:35 +00:00
Jonah Brüchert 9fa7757efd Make database query result deserialization more automatic 2022-05-23 13:24:07 +02:00
l10n daemon script fc2c359bd7 GIT_SILENT Sync po/docbooks with svn 2022-05-23 01:49:32 +00:00
Jonah Brüchert f17987b3e7 Update ytmusicapi to 0.22.0 2022-05-23 01:11:37 +02:00
Jonah Brüchert 7c2bbf3a98 library: Create database directory before opening database 2022-05-23 01:11:10 +02:00
Jonah Brüchert 4320921a96 asyncdatabase: Log error if database could not be opened 2022-05-23 01:10:45 +02:00
Jonah Brüchert 306a4c866c Fix background color of the search popup 2022-05-23 00:41:46 +02:00
Jonah Brüchert 2bfd142300 asyncdatabase: Move as much as possible out of the header
In preparation for making it a shared library in the future.
2022-05-23 00:41:06 +02:00
Jonah Brüchert bec70c37db Run migrations in a transaction
This should be slightly faster (although not a problem right now) and
more importantly allow to rollback if transactions go wrong.

Then at least the issues can be fixed in a later release, so that the
migration can run successful later.
2022-05-22 16:16:12 +02:00
Jonah Brüchert a7e9588a90 Improve layout of the search popup 2022-05-22 14:23:51 +02:00
Jonah Brüchert 463bdde0a0 Add library feature
The library page currently shows favourites and most played songs.
2022-05-22 11:16:38 +00:00
l10n daemon script c83d7f582b GIT_SILENT Sync po/docbooks with svn 2022-05-16 01:54:43 +00:00
l10n daemon script 62385df312 GIT_SILENT Sync po/docbooks with svn 2022-05-12 01:46:03 +00:00
l10n daemon script dad015195b GIT_SILENT Sync po/docbooks with svn 2022-05-11 01:51:51 +00:00
l10n daemon script b89fed88ee GIT_SILENT Sync po/docbooks with svn 2022-05-09 01:48:16 +00:00
l10n daemon script 613dd1eb51 GIT_SILENT Sync po/docbooks with svn 2022-04-27 01:50:09 +00:00
Nicolas Fella b7754e7d60 Use proper reuse CI job 2022-04-26 00:26:30 +02:00
l10n daemon script 644c343e95 GIT_SILENT Sync po/docbooks with svn 2022-04-25 01:56:33 +00:00
l10n daemon script c9d530be76 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-04-24 01:41:29 +00:00
l10n daemon script aa0268694f GIT_SILENT made messages (after extraction) 2022-04-24 00:45:48 +00:00
Bhushan Shah 8e873e726d GIT_SILENT: add changelog entries for 22.04 2022-04-23 17:22:06 +05:30
Bhushan Shah dca3373056 GIT_SILENT: bump version to 22.04 2022-04-23 17:04:12 +05:30
l10n daemon script 6d57cad22c GIT_SILENT Sync po/docbooks with svn 2022-04-23 01:49:01 +00:00
l10n daemon script b67fdc384f GIT_SILENT Sync po/docbooks with svn 2022-04-22 01:51:41 +00:00
l10n daemon script 32f98a7c9b GIT_SILENT Sync po/docbooks with svn 2022-04-17 01:54:46 +00:00
l10n daemon script 2b8ac69916 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-04-16 01:48:18 +00:00
l10n daemon script ad6fe5e633 GIT_SILENT made messages (after extraction) 2022-04-16 00:48:08 +00:00
Tobias Fella 1ad6586a07 Add ki18n_install 2022-04-07 16:53:01 +02:00
l10n daemon script 0249604199 GIT_SILENT made messages (after extraction) 2022-03-23 00:57:01 +00:00
Jonah Brüchert 1a93e0d944 flatpak: Update urllib 2022-03-16 22:57:24 +01:00
Jonah Brüchert 347613a7f2 Update ytmusicapi to 0.21.0 2022-03-10 14:30:16 +01:00
l10n daemon script 424c67a268 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-02-16 01:50:45 +00:00
l10n daemon script 64d7a911fa GIT_SILENT made messages (after extraction) 2022-02-16 00:47:36 +00:00
Jonah Brüchert 961dca328d MultiIterableView: Add convinience std::vector constructor 2022-02-14 17:59:30 +01:00
Dimitris Kardarakos 433d95969c Power search page list sections
The Search Page list view can present content in sections according to media type (artist, playlist, song, video). For sections to work, the model that provides the search results should sort the results accordingly.
2022-02-14 16:26:47 +00:00
Jonah Brüchert 15f439c38e Simplify std::sort use 2022-02-14 17:21:34 +01:00
Jonah Brüchert ca4d5d8b77 MultiIterableView: Add documentation 2022-02-14 17:17:12 +01:00
Jonah Brüchert 06338900dc Fix some implicit this captures 2022-02-14 17:14:46 +01:00
Jonah Brüchert 8ec674fbef MultiIterableView: Generalize by using std::span
Requires upgrading to C++20
2022-02-14 17:10:06 +01:00
Jonah Brüchert 58eefc29eb ArtistModel: Simplify use of MultiIterableView
Now that it is truly a view type, it is possible to just modify the
underlying data, instead of recreating the view.
This allows to get rid of the optional, in which the view was previously
stored.
2022-02-14 15:52:25 +01:00
Jonah Brüchert 9312331755 MultiIterableView: Refactor into an actual view type 2022-02-14 15:52:25 +01:00
Jonah Brüchert 1d25f46f52 MultiIterableView: Try to make code easier to understand 2022-02-14 15:52:22 +01:00
Jonah Brüchert a775cd58be flatpak: Update pybind11 2022-02-13 20:16:18 +01:00
Bhushan Shah ae5ed3b10b GIT_SILENT: fixup typo 22.02 2022-02-08 20:58:24 +05:30
Bhushan Shah 8aab91568e GIT_SILENT: Update version and appstream data for 22.02 2022-02-08 18:23:50 +05:30
l10n daemon script 6647346314 GIT_SILENT made messages (after extraction) 2022-02-06 00:49:47 +00:00
Jonah Brüchert bfb41310ad update ytmusicapi 2022-01-22 13:50:40 +01:00
l10n daemon script c3371adda4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-01-22 01:50:01 +00:00
l10n daemon script 9bcf017c8d GIT_SILENT made messages (after extraction) 2022-01-22 00:46:14 +00:00
Ml Ge 2c0b13ff9f minor readme and gitignore updates 2022-01-09 19:47:57 +01:00
Ml Ge abfd901a82 replace .license files with entries in dep5 2022-01-09 19:47:33 +01:00
Jonah Brüchert 135b8859d6 Fix typo in requirements.txt 2021-12-31 18:43:16 +01:00
Jonah Brüchert f8637b686c flatpak: Update yt-dlp 2021-12-31 18:17:32 +01:00
Jonah Brüchert 53f466c976 Update tested ytmusicapi version to 0.19.5 2021-12-21 12:53:38 +01:00
Bhushan Shah 762976159e appdata: add changelog for 21.12 2021-12-05 19:39:47 +05:30
Bhushan Shah de1a872f74 GIT_SILENT Update version number for 21.12 2021-12-05 10:15:46 +05:30
Dimitris Kardarakos 3f39fc9e90 Substitute video-play passive notification with an inline message
On mobile, the action of the video play notification was not properly shown. On top of that, an inline message seems more suitable for this purpose. An explicit cancel action has been added as well; previously it was accomplished by ignoring the notification.
2021-12-03 15:43:00 +02:00
Jonah Brüchert e8e6a5f1e2 Update some more places to ytdlp 2021-11-29 23:21:32 +01:00
Jonah Brüchert 51a9799281 Switch to yt-dlp 2021-11-29 01:43:37 +01:00
Jonah Brüchert 73078eb5e7 Commit forgotten changes 2021-11-11 12:00:51 +01:00
Jonah Brüchert d138b5c67b Further reduce amount of code of the async YTMusic wrapper 2021-11-11 12:00:16 +01:00
Jonah Brüchert ef3846df6b More awesome map_optional function 2021-11-11 11:40:27 +01:00
Jonah Brüchert a31494d83f Simplify multithreading 2021-11-11 11:22:43 +01:00
Jonah Brüchert b131fcc7d9 Make the progress bar smooth
The position update seems to come every second, so an animation duration of a second should produce a smooth progress.
2021-11-11 11:02:23 +01:00
Jonah Brüchert e6379db384 Update tested ytmusicapi version to 0.19.4 2021-11-04 22:36:17 +01:00
Jonah Brüchert f50cf92e9a flatpak: Update python packages 2021-10-27 00:37:12 +02:00
Jonah Brüchert e9e0e4f143 Fix typo 2021-09-30 01:08:06 +02:00
Jonah Brüchert dfc0b8cbcd Fix extracting album tracks with ytmusicapi 0.19.3 2021-09-30 00:02:03 +02:00
Jonah Brüchert 473b4ee83e Update flatpak runtime 2021-09-29 23:46:25 +02:00
Jonah Brüchert f40c9fd497 Update ytmusicapi 2021-09-29 23:32:36 +02:00
Jonah Brüchert 0ca21344f8 Fix some crashes 2021-09-23 21:58:18 +02:00
l10n daemon script d4d85a8b58 GIT_SILENT made messages (after extraction) 2021-09-22 00:20:11 +00:00
l10n daemon script cfd4b3de53 GIT_SILENT made messages (after extraction) 2021-09-20 00:21:06 +00:00
Jonah Brüchert 96c5f344cc Also offer playlist actions for videos 2021-09-06 23:26:54 +02:00
Jonah Brüchert d6e8ddca11 get_artist: Make description key optional 2021-09-04 21:35:35 +02:00
Jonah Brüchert db63766cc7 Make optional_key do the right thing even if the key exists but is None 2021-09-04 21:34:57 +02:00
Jonah Brüchert 048e876710 Add debug output for search results that could not be understood 2021-09-03 20:11:08 +02:00
Jonah Brüchert d7e74e2a5f SearchPage: Add section headers 2021-09-03 20:05:44 +02:00
Jonah Brüchert 722b78e49b Make album description optional 2021-09-03 19:40:27 +02:00
Jonah Brüchert 734caa0280 Fix compatibility with ytmusicapi 0.19.1 2021-09-03 17:39:50 +02:00
Bhushan Shah 69901cb69c GIT_SILENT: Update appstream data for 21.08 2021-08-31 15:40:02 +05:30
Bhushan Shah e230adf223 GIT_SILENT: drop the kdev4 file, we don't commit this to repo 2021-08-31 15:19:07 +05:30
Bhushan Shah 07584b73f4 GIT_SILENT: Update cmake version for 21.08 2021-08-31 15:13:22 +05:30
Jonah Brüchert 1b29a028a6 cmake: Prepare for PlaMo gear 2021-08-09 11:51:46 +02:00
l10n daemon script 736d1789c9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-08-01 01:22:02 +00:00
l10n daemon script 01f22c517a GIT_SILENT made messages (after extraction) 2021-08-01 00:24:21 +00:00
l10n daemon script edd171c97b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-07-27 01:26:36 +00:00
Jonah Brüchert 873c791262 Fix page stack sometimes appearing in the footer 2021-07-18 18:11:08 +02:00
Jonah Brüchert 068a5b756a Stop the loading animation if a query fails 2021-07-12 01:50:42 +02:00
Jonah Brüchert db35f2a5e6 Update ytmusicapi 2021-07-12 00:25:17 +02:00
Jonah Brüchert c06bb7ad03 Fix new search bar overlaying the player 2021-07-10 20:30:22 +02:00
Jonah Brüchert 1c63395497 Fix i18n 2021-07-10 19:51:47 +02:00
Jonah Brüchert ba79cd6b5a Add new dependencies to README 2021-07-10 19:38:43 +02:00
177 changed files with 35812 additions and 1132 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
org.kde.audiotube.json
+5
View File
@@ -1,6 +1,11 @@
# SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
# SPDX-FileCopyrightText: 2021 Bhushan Shah <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*.kdev4
CMakeLists.txt.user
flatpak/flatpak-builder-tools/
build/
compile_commands.json
.cache
+4 -1
View File
@@ -3,4 +3,7 @@
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
include:
- 'https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-reuse.yml'
- project: sysadmin/ci-utilities
file:
- /gitlab-templates/reuse-lint.yml
- /gitlab-templates/flatpak.yml
+21
View File
@@ -2,3 +2,24 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: AudioTube
Upstream-Contact: Jonah Brüchert <[email protected]>
Source: https://invent.kde.org/plasma-mobile/audiotube
# Sample paragraph, commented out:
#
# Files: ...
# Copyright: $YEAR $NAME <$CONTACT>
# License: ...
# Comment: ...
Files: README.md
Copyright: 2021 Jonah Brüchert <[email protected]>
License: CC0-1.0
Files: org.kde.audiotube.desktop
org.kde.audiotube.json
Copyright: 2021 Jonah Brüchert <[email protected]>
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
Files: logo.png
org.kde.audiotube.svg
Copyright: 2021 Mathis Brüchert <[email protected]>
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+27 -10
View File
@@ -4,18 +4,24 @@
cmake_minimum_required(VERSION 3.16.0)
project(audiotube)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "24")
set(RELEASE_SERVICE_VERSION_MINOR "01")
set(RELEASE_SERVICE_VERSION_MICRO "90")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
include(FeatureSummary)
set(QT5_MIN_VERSION 5.15)
set(KF5_MIN_VERSION 5.81)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(QT_MIN_VERSION "6.4.0")
set(KF_MIN_VERSION "5.240.0")
set(KF_MAJOR_VERSION "6")
find_package(ECM 5.80 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
include(KDEInstallDirs)
@@ -24,14 +30,25 @@ include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(ECMPoQmTools)
include(ECMAddTests)
ecm_setup_version(${PROJECT_VERSION}
VARIABLE_PREFIX AUDIOTUBE
VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h
)
kde_enable_exceptions()
find_package(Qt5 ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash)
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Multimedia Concurrent DBus)
find_package(KF6 REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(YoutubeDL REQUIRED RUNTIME)
find_package(YTMusicAPI REQUIRED RUNTIME)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
find_package(KF6KirigamiAddons 0.6.0 REQUIRED)
find_package(FutureSQL${QT_MAJOR_VERSION} REQUIRED)
find_package(QCoro${QT_MAJOR_VERSION} 0.10.0 REQUIRED COMPONENTS Core)
ki18n_install(po)
add_subdirectory(src)
+117
View File
@@ -0,0 +1,117 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
+175
View File
@@ -0,0 +1,175 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does.
Copyright (C) year name of author
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
+8 -2
View File
@@ -2,11 +2,17 @@
AudioTube is a client for YouTube Music.
<a href='https://flathub.org/apps/details/org.kde.audiotube'><img width='190px' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-i-en.png'/></a>
## Links
* Project page: https://invent.kde.org/multimedia/audiotube
* File issues: https://bugs.kde.org/describecomponents.cgi?product=audiotube
# Dependencies
It depends on Qt and Kirigami in addition to a few python packages:
It depends on Qt, Kirigami, KI18n, KCoreAddons and KCrash in addition to a few python packages:
* ytmusicapi
* youtube_dl
* yt_dlp
YouTube uses webp images for the cover art, so you will need to install qtimageformats.
-3
View File
@@ -1,3 +0,0 @@
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: CC0-1.0
-4
View File
@@ -1,4 +0,0 @@
[Project]
CreatedFrom=CMakeLists.txt
Manager=KDevCMakeManager
Name=audiotube
-3
View File
@@ -1,3 +0,0 @@
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: CC0-1.0
+13 -1
View File
@@ -4,8 +4,20 @@
find_package(Python3 REQUIRED COMPONENTS Interpreter)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import ytmusicapi" RESULT_VARIABLE YTMUSICAPI_CHECK_RESULT)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import ytmusicapi; print(ytmusicapi.__version__)" RESULT_VARIABLE YTMUSICAPI_CHECK_RESULT OUTPUT_VARIABLE YTMusicAPI_VERSION)
string(STRIP ${YTMusicAPI_VERSION} YTMusicAPI_VERSION)
if (${YTMUSICAPI_CHECK_RESULT} EQUAL 0)
set(YTMusicAPI_FOUND TRUE)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(YTMusicAPI
FOUND_VAR
YTMusicAPI_FOUND
REQUIRED_VARS
Python3_EXECUTABLE
VERSION_VAR
YTMusicAPI_VERSION
)
@@ -4,8 +4,8 @@
find_package(Python3 REQUIRED COMPONENTS Interpreter)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import youtube_dl" RESULT_VARIABLE YTDL_CHECK_RESULT)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import yt_dlp" RESULT_VARIABLE YTDLP_CHECK_RESULT)
if (${YTDL_CHECK_RESULT} EQUAL 0)
set(YoutubeDL_FOUND TRUE)
if (${YTDLP_CHECK_RESULT} EQUAL 0)
set(Ytdlp_FOUND TRUE)
endif()
+600
View File
@@ -0,0 +1,600 @@
{
"name" : "kf6",
"cleanup": [
"/include",
"*.a",
"/share/wallpapers",
"/bin"
],
"modules" : [
{
"buildsystem" : "cmake-ninja",
"name" : "extra-cmake-modules",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/extra-cmake-modules.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kirigami",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kirigami.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "ki18n",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/ki18n.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcoreaddons",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcoreaddons.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "karchive",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/karchive.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcodecs",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcodecs.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcrash",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcrash.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "plasma-wayland-protocols",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/libraries/plasma-wayland-protocols.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kwindowsystem",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kwindowsystem.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kguiaddons",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kguiaddons.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kconfig",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kconfig.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kwidgetsaddons",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kwidgetsaddons.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcolorscheme",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcolorscheme.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kconfigwidgets",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kconfigwidgets.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kiconthemes",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kiconthemes.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "breeze-icons",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/breeze-icons.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kdecoration",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/plasma/kdecoration.git"
}
]
},
{
"build-commands" : [
"./bootstrap.sh --prefix=${FLATPAK_DEST} --with-libraries=headers",
"./b2 -j ${FLATPAK_BUILDER_N_JOBS} headers",
"./b2 -j ${FLATPAK_BUILDER_N_JOBS} install --layout=system"
],
"buildsystem" : "simple",
"name" : "boost",
"sources" : [
{
"sha256" : "0c6049764e80aa32754acd7d4f179fd5551d8172a83b71532ae093e7384e98da",
"type" : "archive",
"url" : "https://github.com/boostorg/boost/releases/download/boost-1.83.0/boost-1.83.0.tar.gz",
"x-checker-data" : {
"project-id" : 6845,
"stable-only" : true,
"type" : "anitya",
"url-template" : "https://github.com/boostorg/boost/releases/download/boost-$version/boost-$version.tar.gz"
}
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kactivities",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kactivities.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kservice",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kservice.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "solid",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/solid.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kdbusaddons",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kdbusaddons.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kbookmarks",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kbookmarks.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcompletion",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcompletion.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kitemviews",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kitemviews.git"
}
]
},
{
"name" : "canberra",
"sources" : [
{
"tag" : "master",
"type" : "git",
"url" : "git://git.0pointer.net/libcanberra.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "knotifications",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/knotifications.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kjobwidgets",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kjobwidgets.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kauth",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kauth.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kio",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kio.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kglobalaccel",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kglobalaccel.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kxmlgui",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kxmlgui.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "kcmutils",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kcmutils.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF",
"-DBUILD_QT6=ON",
"-DBUILD_QT5=OFF"
],
"name" : "breeze",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/plasma/breeze.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF"
],
"name" : "purpose",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/purpose.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF",
"-DBUILD_QT5=OFF"
],
"name" : "kstatusnotifieritem",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/kstatusnotifieritem.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF",
"-DBUILD_QT5=OFF"
],
"name" : "sonnet",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/sonnet.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF",
"-DBUILD_QT5=OFF"
],
"name" : "qqc2-desktop-style",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/frameworks/qqc2-desktop-style.git"
}
]
},
{
"builddir" : true,
"buildsystem" : "cmake-ninja",
"config-opts" : [
"-DBUILD_TESTING=OFF",
"-DBUILD_QT5=OFF"
],
"name" : "plasma-integration",
"sources" : [
{
"branch" : "master",
"type" : "git",
"url" : "https://invent.kde.org/plasma/plasma-integration.git"
}
]
}
]
}
@@ -1,3 +1,3 @@
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
SPDX-FileCopyrightText: 2023 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+12
View File
@@ -0,0 +1,12 @@
{
"name": "kirigami-addons",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release",
"-DQT_MAJOR_VERSION=6"
],
"buildsystem": "cmake-ninja",
"sources": [
{ "type": "git", "url": "https://invent.kde.org/libraries/kirigami-addons.git", "branch": "master" }
]
}
@@ -1,3 +1,3 @@
SPDX-FileCopyrightText: 2021 Mathis Brüchert <mbb[email protected]>
SPDX-FileCopyrightText: 2023 Jonah Brüchert <jbb@kaidan.im>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-14
View File
@@ -1,14 +0,0 @@
{
"name": "python3-youtube_dl",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"youtube_dl\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/c6/75/05979677d9abc76851d13d8db3951e39017ac223545adab6e8576fa0cbe7/youtube_dl-2021.6.6.tar.gz",
"sha256": "cb2d3ee002158ede783e97a82c95f3817594df54367ea6a77ce5ceea4772f0ab"
}
]
}
+39
View File
@@ -0,0 +1,39 @@
{
"name": "python3-yt-dlp",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"yt-dlp\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz",
"sha256": "81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl",
"sha256": "edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/14/c9/09d5df04c9f29ae1b49d0e34c9934646b53bb2131a55e8ed2a0d447c7c53/pycryptodomex-3.19.0.tar.gz",
"sha256": "af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2e/62/7a7874b7285413c954a4cca3c11fd851f11b2fe5b4ae2d9bee4f6d9bdb10/websockets-12.0.tar.gz",
"sha256": "81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3f/b0/75194851f0b86dd6c207d8e1cb5625b62ae5ec254edda42bc2cb86306ba7/yt_dlp-2023.10.13-py2.py3-none-any.whl",
"sha256": "2b069f22675532eebacdfd6372b1825651a751fef848de9ae6efe6491b2dc38a"
}
]
}
File renamed without changes.
+12 -12
View File
@@ -7,33 +7,33 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4f/5a/597ef5911cb8919efe4d86206aa8b2658616d676a7088f0825ca08bd7cb8/urllib3-1.26.6.tar.gz",
"sha256": "f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f"
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz",
"sha256": "b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"
"url": "https://files.pythonhosted.org/packages/6d/b3/aa417b4e3ace24067f243e45cceaffc12dba6b8bd50c229b43b3b163768b/charset-normalizer-3.3.1.tar.gz",
"sha256": "d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ee/2d/9cdc2b527e127b4c9db64b86647d567985940ac3698eeabc7ffaccb4ea61/chardet-4.0.0.tar.gz",
"sha256": "0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"
"url": "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl",
"sha256": "90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/6d/78/f8db8d57f520a54f0b8a438319c342c61c22759d8f9a1cd2e2180b5e5ea9/certifi-2021.5.30.tar.gz",
"sha256": "2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"
"url": "https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl",
"sha256": "58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b/requests-2.25.1.tar.gz",
"sha256": "27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"
"url": "https://files.pythonhosted.org/packages/d2/b2/b157855192a68541a91ba7b2bbcb91f1b4faa51f8bae38d8005c034be524/urllib3-2.0.7-py3-none-any.whl",
"sha256": "fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/1b/8e/2bc4c8160083bbfaac215637f1e9f4a43263833c2e81212cba3073aeaa25/ytmusicapi-0.17.3.tar.gz",
"sha256": "9a249cc53efd6408034f401a9a4375272a9b339e8eb64f3a2e713a1ccd06d55b"
"url": "https://files.pythonhosted.org/packages/1c/42/c3749affc75c6dd3a66fc82de19f1c71c834dfdd2ae7aee88bf982f7f349/ytmusicapi-1.3.1-py3-none-any.whl",
"sha256": "ea5d23a790170757a0d0ecaa768b99d0943471c903d894b7d5d23b8101a3ce72"
}
]
}
+1 -1
View File
@@ -16,5 +16,5 @@ else
git -C flatpak-builder-tools pull
fi
./flatpak-builder-tools/pip/flatpak-pip-generator youtube_dl
./flatpak-builder-tools/pip/flatpak-pip-generator yt-dlp
./flatpak-builder-tools/pip/flatpak-pip-generator ytmusicapi
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

+126 -24
View File
@@ -7,80 +7,169 @@ SPDX-License-Identifier: CC0-1.0
<component type="desktop-application">
<id>org.kde.audiotube</id>
<name>AudioTube</name>
<name xml:lang="ar">تيوب الصوتي</name>
<name xml:lang="az">AudioTube</name>
<name xml:lang="ca">AudioTube</name>
<name xml:lang="ca-valencia">AudioTube</name>
<name xml:lang="cs">AudioTube</name>
<name xml:lang="de">AudioTube</name>
<name xml:lang="en-GB">AudioTube</name>
<name xml:lang="eo">AudioTube</name>
<name xml:lang="es">AudioTube</name>
<name xml:lang="eu">AudioTube</name>
<name xml:lang="fi">AudioTube</name>
<name xml:lang="fr">AudioTube</name>
<name xml:lang="gl">AudioTube</name>
<name xml:lang="hi">ओडियो-ट्यूब</name>
<name xml:lang="ia">AudioTube</name>
<name xml:lang="id">AudioTube</name>
<name xml:lang="it">AudioTube</name>
<name xml:lang="ka">AudioTube</name>
<name xml:lang="ko">AudioTube</name>
<name xml:lang="nl">AudioTube</name>
<name xml:lang="nn">AudioTube</name>
<name xml:lang="pa">ਆਡੀਓ-ਟਿਊਬ</name>
<name xml:lang="pl">AudioTube</name>
<name xml:lang="pt">AudioTube</name>
<name xml:lang="pt-BR">AudioTube</name>
<name xml:lang="ro">AudioTube</name>
<name xml:lang="ru">AudioTube</name>
<name xml:lang="sk">AudioTube</name>
<name xml:lang="sl">AudioTube</name>
<name xml:lang="sv">AudioTube</name>
<name xml:lang="tr">AudioTube</name>
<name xml:lang="uk">AudioTube</name>
<name xml:lang="x-test">xxAudioTubexx</name>
<summary>Convergent YouTube Music client</summary>
<summary xml:lang="ca">Client convergent per a la música de YouTube</summary>
<summary xml:lang="ca-valencia">Client convergent per a la música de YouTube</summary>
<summary xml:lang="de">Konvergentes YouTube-Musikprogramm</summary>
<summary xml:lang="en-GB">Convergent YouTube Music client</summary>
<summary xml:lang="es">Cliente de música de YouTube convergente</summary>
<summary xml:lang="eu">YouTube Music bezero konbergentea</summary>
<summary xml:lang="fi">Mukautuva YouTube Music -asiakas</summary>
<summary xml:lang="fr">Client convergent pour musique sur YouTube</summary>
<summary xml:lang="hi">अभिसृत यूट्यूब संगीत क्लाएंट</summary>
<summary xml:lang="it">Client YouTube Music convergente</summary>
<summary xml:lang="ko">올인원 YouTube Music 클라이언트</summary>
<summary xml:lang="nl">Convergente muziekclient van YouTube</summary>
<summary xml:lang="pl">Całościowy program do muzyki z YouTube</summary>
<summary xml:lang="pt">Cliente de música do YouTube convergente</summary>
<summary xml:lang="pt-BR">Um cliente convergente para o YouTube Music</summary>
<summary xml:lang="sl">Konvergentni odjemalec glasbe YouTube</summary>
<summary xml:lang="sv">Konvergent YouTube-musikprogram</summary>
<summary xml:lang="uk">Зручний музичний клієнт YouTube</summary>
<summary xml:lang="x-test">xxConvergent YouTube Music clientxx</summary>
<name xml:lang="zh-CN">AudioTube</name>
<name xml:lang="zh-TW">AudioTube</name>
<summary>YouTube Music App for phones and desktop computers</summary>
<summary xml:lang="ca">Aplicació de YouTube Music per a telèfons i ordinadors d'escriptori</summary>
<summary xml:lang="ca-valencia">Aplicació de YouTube Music per a telèfons i ordinadors d'escriptori</summary>
<summary xml:lang="eo">YouTube Muzik-Apo por aptelefonoj kaj komputiloj</summary>
<summary xml:lang="es">Aplicación de YouTube Music para teléfonos y equipos de escritorio</summary>
<summary xml:lang="eu">«YouTube Music» aplikazioa telefonoetarako eta mahaigaineko ordenagailuetarako</summary>
<summary xml:lang="fr">Application « Musique YouTube » pour téléphones et ordinateurs de bureau</summary>
<summary xml:lang="ia">App de YouTube Music per telephonos e computatores de scriptorio</summary>
<summary xml:lang="it">Applicazione YouTube Music per telefoni e computer desktop</summary>
<summary xml:lang="ja">スマホやデスクトップ PC 用の YouTube Music アプリ</summary>
<summary xml:lang="ka">YouTube-ის მუსიკის აპი ტელეფონებისთვის და კომპიუტერებისთვის</summary>
<summary xml:lang="nl">Toepassing voor YouTube Music voor telefoons en bureaubladcomputers</summary>
<summary xml:lang="pl">Aplikacja do Muzyki z YouTube dla telefonów i komputerów biurkowych</summary>
<summary xml:lang="pt-BR">Aplicativo do YouTube Music para celulares e computadores</summary>
<summary xml:lang="sl">Aplikacija YouTube Music za telefone in namizne računalnike</summary>
<summary xml:lang="sv">YouTube musikprogram för telefoner och skrivbordsdatorer</summary>
<summary xml:lang="tr">Telefonlar ve masaüstü bilgisayarlar için YouTube Müzik uygulaması</summary>
<summary xml:lang="uk">Додаток YouTube Music для телефонів та робочих станцій</summary>
<summary xml:lang="x-test">xxYouTube Music App for phones and desktop computersxx</summary>
<summary xml:lang="zh-TW">手機和電腦用的 YouTube Music 應用程式</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<developer_name>KDE Community</developer_name>
<developer_name xml:lang="ar">مجتمع كِيدِي</developer_name>
<developer_name xml:lang="az">KDE İcması</developer_name>
<developer_name xml:lang="ca">La comunitat KDE</developer_name>
<developer_name xml:lang="ca-valencia">La comunitat KDE</developer_name>
<developer_name xml:lang="cs">Komunita KDE</developer_name>
<developer_name xml:lang="de">KDE-Gemeinschaft</developer_name>
<developer_name xml:lang="en-GB">KDE Community</developer_name>
<developer_name xml:lang="eo">KDE-Komunumo</developer_name>
<developer_name xml:lang="es">Comunidad KDE</developer_name>
<developer_name xml:lang="eu">KDE komunitatea</developer_name>
<developer_name xml:lang="fi">KDE-yhteisö</developer_name>
<developer_name xml:lang="fr">Communauté de KDE</developer_name>
<developer_name xml:lang="gl">Comunidade KDE</developer_name>
<developer_name xml:lang="hi">केडीई समुदाय</developer_name>
<developer_name xml:lang="ia">Communitate de KDE</developer_name>
<developer_name xml:lang="id">Komunitas KDE</developer_name>
<developer_name xml:lang="it">Comunità KDE</developer_name>
<developer_name xml:lang="ja">KDE コミュニティ</developer_name>
<developer_name xml:lang="ka">KDE-ის საზოგადოება</developer_name>
<developer_name xml:lang="ko">KDE 커뮤니티</developer_name>
<developer_name xml:lang="nl">KDE-gemeenschap</developer_name>
<developer_name xml:lang="nn">KDE-fellesskapet</developer_name>
<developer_name xml:lang="pa">ਕੇਡੀਈ ਕਮਿਊਨਟੀ</developer_name>
<developer_name xml:lang="pl">Społeczność KDE</developer_name>
<developer_name xml:lang="pt">Comunidade do KDE</developer_name>
<developer_name xml:lang="pt-BR">A Comunidade KDE</developer_name>
<developer_name xml:lang="ro">Comunitatea KDE</developer_name>
<developer_name xml:lang="ru">Сообщество KDE</developer_name>
<developer_name xml:lang="sk">KDE komunita</developer_name>
<developer_name xml:lang="sl">Skupnost KDE</developer_name>
<developer_name xml:lang="sv">KDE-gemenskapen</developer_name>
<developer_name xml:lang="tr">KDE Topluluğu</developer_name>
<developer_name xml:lang="uk">Спільнота KDE</developer_name>
<developer_name xml:lang="x-test">xxKDE Communityxx</developer_name>
<developer_name xml:lang="zh-CN">KDE 社区</developer_name>
<developer_name xml:lang="zh-TW">KDE 社群</developer_name>
<content_rating type="oars-1.0"/>
<url type="homepage">https://apps.kde.org/en/audiotube</url>
<releases>
<release version="23.08.4" date="2023-12-07"/>
<release version="23.08.3" date="2023-11-09"/>
<release version="23.08.2" date="2023-10-12"/>
<release version="23.08.1" date="2023-09-14"/>
<release version="23.08.0" date="2023-08-24"/>
<release version="23.04.3" date="2023-07-06"/>
<release version="23.04.2" date="2023-06-08"/>
<release version="23.04.1" date="2023-05-11"/>
<release version="23.04.0" date="2023-04-20"/>
<release version="23.01" date="2023-01-30">
<url>https://plasma-mobile.org/2023/01/30/january-blog-post/</url>
</release>
<release version="22.11" date="2022-11-30">
<url>https://plasma-mobile.org/2022/11/30/plasma-mobile-gear-22-11/</url>
</release>
<release version="22.09" date="2022-09-27">
<url>https://www.plasma-mobile.org/2022/09/27/plasma-mobile-gear-22-09/</url>
</release>
<release version="22.06" date="2022-06-24">
<url>https://www.plasma-mobile.org/2022/06/28/plasma-mobile-gear-22-06/</url>
<description>
<ul>
<li>Add library page which shows favourites and most played songs</li>
<li>Improve layout of the search popup</li>
<li>General performance improvements including startup</li>
</ul>
</description>
</release>
<release version="22.04" date="2022-04-26">
<url>https://www.plasma-mobile.org/2022/04/26/plasma-mobile-gear-22-04/</url>
<description>
<ul>
<li>Update the version of ytmusicapi</li>
<li>General code-refactoring and translation updates</li>
</ul>
</description>
</release>
<release version="22.02" date="2022-02-09">
<url>https://www.plasma-mobile.org/2022/02/09/plasma-mobile-gear-22-02/</url>
<description>
<ul>
<li>Update the version of ytmusicapi</li>
</ul>
</description>
</release>
<release version="21.12" date="2021-12-07">
<url>https://www.plasma-mobile.org/2021/12/07/plasma-mobile-gear-21-12/</url>
</release>
<release version="21.08" date="2021-08-31">
<url>https://www.plasma-mobile.org/2021/08/31/plasma-mobile-gear-21-08/</url>
</release>
</releases>
<launchable type="desktop-id">org.kde.audiotube.desktop</launchable>
<screenshots>
<screenshot>
<image>https://cdn.kde.org/screenshots/audiotube/library.png</image>
</screenshot>
<screenshot>
<image>https://cdn.kde.org/screenshots/audiotube/player.png</image>
</screenshot>
<screenshot>
<image>https://cdn.kde.org/screenshots/audiotube/desktop.png</image>
</screenshot>
<screenshot>
<image>https://cdn.kde.org/screenshots/audiotube/mobile_album.png</image>
</screenshot>
<screenshot>
<image>https://cdn.kde.org/screenshots/audiotube/mobile_playlist.png</image>
</screenshot>
@@ -92,24 +181,37 @@ SPDX-License-Identifier: CC0-1.0
</recommends>
<description>
<p>AudioTube can search YouTube Music, list albums and artists, play automatically generated playlists, albums and allows to put your own playlist together.</p>
<p xml:lang="ar">يمكن لتيوب الصوتي البحث في موسيقى يوتيوب، وعرض الألبومات والفنانين، وتشغيل القوائم والألبومات المولدة تلقائيًا، ويسمح لك بوضع قائمة التشغيل الخاصة بك معًا.</p>
<p xml:lang="az">AudioTube YouTube Musiqi, albomların və ifaçıların siyahısı üzrə axtarış etməyə, yaradılmış mahnı siyahısı və albomları avtomatik oxutmağa və öz mahnı siyahınızı yaratmağa imkan verir.</p>
<p xml:lang="ca">L'AudioTube pot cercar música a YouTube, llistar àlbums i artistes, reproduir llistes de reproducció generades automàticament, àlbums i permet crear la vostra pròpia llista de reproducció.</p>
<p xml:lang="ca-valencia">L'AudioTube pot cercar música a YouTube, llistar àlbums i artistes, reproduir llistes de reproducció generades automàticament, àlbums i permet crear la vostra pròpia llista de reproducció.</p>
<p xml:lang="ca-valencia">L'AudioTube pot buscar música a YouTube, llistar àlbums i artistes, reproduir llistes de reproducció generades automàticament, àlbums i permet crear la vostra pròpia llista de reproducció.</p>
<p xml:lang="de">AudioTube kann Musik auf YouTube durchsuchen, Alben und Interpreten auflisten, automatisch generierte Wiedergabelisten und Alben abspielen und erlaubt es, eine eigene Wiedergabeliste zusammenzustellen.</p>
<p xml:lang="en-GB">AudioTube can search YouTube Music, list albums and artists, play automatically generated playlists, albums and allows to put your own playlist together.</p>
<p xml:lang="eo">AudioTube povas serĉi YouTube Music, listigi albumojn kaj artistojn, ludi aŭtomate generitajn ludlistojn, albumojn kaj permesas kunmeti vian propran ludliston.</p>
<p xml:lang="es">AudioTube puede buscar música de YouTube, listar álbumes y artistas, reproducir las listas de reproducción generadas, álbumes y le permite crear su propia lista de reproducción.</p>
<p xml:lang="eu">AudioTube-k YouTube Music-en bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
<p xml:lang="eu">«AudioTube»k «YouTube Music»n bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
<p xml:lang="fi">AudioTube osaa etsiä YouTube Music -haun, albumien ja artistien luettelun, luotujen soittolistojen automaattisen toiston ja omien soittolistojen kokoamisen.</p>
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur YouTube Music, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur la partie « Musique » de YouTube, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
<p xml:lang="gl">AudioTube pode buscar en YouTube Music, listar álbums e intérpretes, reproducir listas xeradas automaticamente e álbums, e permítelle confeccionar listas.</p>
<p xml:lang="hi">ऑडियोट्यूब यूट्यूब संगीत खोज सकता है, एल्बम और कलाकारों की सूची बना सकता है, स्वचालित रूप से उत्पन्न की गई गीतसूची, एल्बम बजा सकता है और आपकी अपनी खुद की प्लेलिस्ट को एक साथ रखने में मदद करता है।</p>
<p xml:lang="ia">AudioTube pote cercar in YouTube Music, listar albums e artistas, reproducer listas de reproduction generate automaticamente, albums e te permitte poner tu proprie lista de reproduction insimul.</p>
<p xml:lang="id">AudioTube dapat menelusuri YouTube Music, mendaftarkan album dan artis, putar daftar putar dan yang dibuat secara otomatis dan album, dan memungkinkan Anda untuk membuat daftar putar Anda sendiri.</p>
<p xml:lang="it">AudioTube può eseguire ricerche su YouTube Music, elencare album e artisti, riprodurre scalette e album generati automaticamente e ti consente di creare la tua scaletta.</p>
<p xml:lang="ja">AudioTube は、YouTube Music を検索してアルバムやアーティストの一覧を表示、アルバムや自動生成された再生リストを再生したり独自の再生りストを作成できます。</p>
<p xml:lang="ka">AudioTube -ს შეუძლია მოძებნოს მუსიკა YouTube-ზე, გაჩვენოთ ალბომებისა და შემსრულებლების სია, დაუკრას დაგენერირებული დასაკრავი სიები, ალბომები და საშუალებას გაძლევთ, თქვენი დასაკრავი სია შექმნათ.</p>
<p xml:lang="ko">AudioTube는 YouTube Music을 검색하고, 앨범과 아티스트를 표시하고, 자동 생성된 재생 목록, 앨범을 재생하고, 사용자 정의 재생 목록을 만들 수 있습니다.</p>
<p xml:lang="nl">AudioTube kan in YouTube Music zoeken, een lijst maken van albums en artiesten, automatically gegenereerde afspeellijsten, albums afspelen en biedt u het samenstellen van uw eigen afspeellijst.</p>
<p xml:lang="pl">AudioTube może wyszukać muzyki na YouTube, wypisać albumy i wykonawców, odtwarzać samoczynnie utworzone listy odtwarzania, albumy oraz umożliwia tworzenie własnych list odtwarzania.</p>
<p xml:lang="nn">Med AudioTube kan du søkja på YouTube Music, visa album og artistar, spela automatiske genererte spelelister og album samt laga eigne spelelister.</p>
<p xml:lang="pl">AudioTube może przeszukiwać serwis YouTube Music, wypisać albumy i wykonawców, odtwarzać samoczynnie utworzone listy odtwarzania, albumy oraz umożliwia tworzenie własnych list odtwarzania.</p>
<p xml:lang="pt">O AudioTube consegue pesquisar no YouTube Music, enumerar os álbuns e artistas, reproduzir listas geradas automaticamente, álbuns e permite-lhe reproduzir as suas próprias listas de reprodução.</p>
<p xml:lang="pt-BR">O AudioTube pode pesquisar no YouTube Music, listar álbuns e artistas, rodar listas de reprodução geradas automaticamente, álbuns inteiros, e criar a sua própria lista de reprodução.</p>
<p xml:lang="ru">AudioTube позволяет выполнять поиск в сервисе YouTube Music, просматривать списки найденных альбомов и исполнителей, проигрывать автоматически созданные списки воспроизведения и альбомы, а также использовать свои собственные списки воспроизведения.</p>
<p xml:lang="sl">AudioTube lahko išče po YouTube Music, izdela sezname albumov in avtorjev, samodejno predvaja generirane sezname, albume in sestavlja vaše sezname predvajanja.</p>
<p xml:lang="sv">AudioTube kan söka på YouTube Music, lista album och artister, spela upp automatiskt genererade spellistor, albums och låter dig sammanställa egna spellistor.</p>
<p xml:lang="tr">AudioTube, YouTube Müzik'te arama yapabilir; albümleri, sanatçıları listeler; kendiliğinden oluşturulmuş çalma listelerini, albümleri çalar ve kendi çalma listenizi oluşturmanıza izin verir.</p>
<p xml:lang="uk">AudioTube може виконувати пошук на YouTube Music, показувати списки альбомів та виконавців, відтворювати створені автоматично списки відтворення, альбоми та надає вам змогу створювати власні списки відворення.</p>
<p xml:lang="x-test">xxAudioTube can search YouTube Music, list albums and artists, play automatically generated playlists, albums and allows to put your own playlist together.xx</p>
<p xml:lang="zh-CN">AudioTube 可以搜索 YouTube Music 的内容,列出专辑和艺人,播放自动生成的播放列表,还可以自行制作播放列表。</p>
<p xml:lang="zh-TW">AudioTube 可以搜尋 YouTube Music、列出專輯與藝人、播放專輯或自動產生的播放清單,也讓您建立自己的播放清單。</p>
</description>
</component>
+28 -1
View File
@@ -1,50 +1,77 @@
[Desktop Entry]
Name=AudioTube
Name[ar]=تيوب الصوتي
Name[az]=AudioTube
Name[ca]=AudioTube
Name[ca@valencia]=AudioTube
Name[cs]=AudioTube
Name[de]=AudioTube
Name[en_GB]=AudioTube
Name[eo]=AudioTube
Name[es]=AudioTube
Name[eu]=AudioTube
Name[fi]=AudioTube
Name[fr]=AudioTube
Name[gl]=AudioTube
Name[hi]=ओडियो-ट्यूब
Name[ia]=AudioTube
Name[id]=AudioTube
Name[it]=AudioTube
Name[ka]=AudioTube
Name[ko]=AudioTube
Name[nl]=AudioTube
Name[nn]=AudioTube
Name[pa]=ਆਡੀਓ-ਟਿਊਬ
Name[pl]=AudioTube
Name[pt]=AudioTube
Name[pt_BR]=AudioTube
Name[ro]=AudioTube
Name[ru]=AudioTube
Name[sk]=AudioTube
Name[sl]=AudioTube
Name[sv]=AudioTube
Name[tr]=AudioTube
Name[uk]=AudioTube
Name[x-test]=xxAudioTubexx
Name[zh_CN]=AudioTube
Name[zh_TW]=AudioTube
Comment=YouTube Music client
Comment[ar]=عميل يوتيوب ميوزيك
Comment[az]=YouTube Musiqi müştərisi
Comment[ca]=Client de música de YouTube
Comment[ca@valencia]=Client de música de YouTube
Comment[cs]=Hudební klient YouTube
Comment[de]=YouTube-Musikprogramm
Comment[en_GB]=YouTube Music client
Comment[eo]=YouTube-Muzikkliento
Comment[es]=Cliente de música de YouTube
Comment[eu]=YouTube Music bezeroa
Comment[fi]=YouTube Music -asiakas
Comment[fr]=Client de musique sur Youtube
Comment[gl]=Cliente de música de YouTube.
Comment[hi]=यूट्यूब संगीत क्लाएंट
Comment[ia]=Cliente de musica de YouTube
Comment[id]=Klien YouTube Music
Comment[it]=Client YouTube Music
Comment[ja]=YouTube Music クライアント
Comment[ka]=YouTube Music -ის კლიენტი
Comment[ko]=YouTube Music 클라이언트
Comment[nl]=Muziekclient van YouTube
Comment[nn]=YouTube Music-klient
Comment[pa]=ਯੂਟਿਊਬ ਸੰਗੀਤ ਕਲਾਈਂਟ
Comment[pl]=Program do muzyki z YouTube
Comment[pl]=Program do YouTube Music
Comment[pt]=Cliente do YouTube Music
Comment[pt_BR]=Cliente YouTube Music
Comment[ro]=Client de muzică pentru YouTube
Comment[ru]=Клиент для YouTube Music
Comment[sk]=Hudobný klient YouTube
Comment[sl]=Glasbeni odjemalec Youtube
Comment[sv]=YouTube-musikprogram
Comment[tr]=YouTube Müzik İstemcisi
Comment[uk]=Музичний клієнт YouTube
Comment[x-test]=xxYouTube Music clientxx
Comment[zh_CN]=YouTube Music 客户端
Comment[zh_TW]=YouTube Music 用戶端
Version=1.0
Exec=audiotube
Icon=org.kde.audiotube
+80 -10
View File
@@ -1,10 +1,12 @@
{
"id": "org.kde.audiotube",
"runtime": "org.kde.Platform",
"runtime-version": "5.15",
"runtime-version": "6.6-kf6preview",
"sdk": "org.kde.Sdk",
"command": "audiotube",
"tags": ["nightly"],
"tags": [
"nightly"
],
"desktop-file-name-suffix": " (Nightly)",
"finish-args": [
"--share=ipc",
@@ -12,31 +14,99 @@
"--socket=x11",
"--socket=wayland",
"--socket=pulseaudio",
"--device=dri"
"--device=dri",
"--own-name=org.mpris.MediaPlayer2.AudioTube"
],
"separate-locales": false,
"cleanup": [
"/include/",
"/share/cmake/"
],
"modules": [
"flatpak/python3-youtube_dl.json",
"flatpak/python3-yt-dlp.json",
"flatpak/python3-ytmusicapi.json",
"flatpak/kirigami-addons.json",
{
"name": "qcoro",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/danvratil/qcoro/archive/refs/tags/v0.10.0.tar.gz",
"sha256": "b7c8f00273ad27d85814bf4ec93eb6922c75656800a61d11854d36355a4a1aec",
"x-checker-data": {
"type": "anitya",
"project-id": 236236,
"stable-only": true,
"url-template": "https://github.com/danvratil/qcoro/archive/refs/tags/v$version.tar.gz"
}
}
]
},
{
"name": "futuresql",
"buildsystem": "cmake-ninja",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release",
"-DQT_MAJOR_VERSION=6"
],
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/futuresql/futuresql-0.1.1.tar.xz",
"sha256": "e44ed8d5a9618b3ca7ba2983ed9c5f7572e6e0a5b199f94868834b71ccbebd43",
"x-checker-data": {
"type": "anitya",
"project-id": 368957,
"stable-only": true,
"url-template": "https://download.kde.org/stable/futuresql/futuresql-$version.tar.xz"
}
}
]
},
{
"name": "pybind11",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON",
"-DPYBIND11_TEST=OFF"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.6.2" } ]
"sources": [
{
"type": "archive",
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz",
"sha256": "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c",
"x-checker-data": {
"type": "anitya",
"project-id": 13384,
"url-template": "https://github.com/pybind/pybind11/archive/refs/tags/v$version.tar.gz"
}
}
]
},
{
"name": "org.kde.audiotube",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON"],
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON",
"-DQT_MAJOR_VERSION=6"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "dir", "path": ".", "skip": [".git"] } ]
"sources": [
{
"type": "dir",
"path": ".",
"skip": [
".git"
]
}
]
}
]
}
-3
View File
@@ -1,3 +0,0 @@
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+1 -1
View File
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="25" x2="25" y1="3" y2="42.605" gradientTransform="matrix(.26458 0 0 .26458 5.101e-5 3.6667e-7)" gradientUnits="userSpaceOnUse"><stop stop-color="#f47750" offset="0"/><stop stop-color="#ed1515" offset="1"/></linearGradient><linearGradient id="d" x1="24" x2="24" y1="35.353" y2="12.647" gradientUnits="userSpaceOnUse"><stop stop-color="#31363b" offset="0"/><stop stop-color="#5f6a73" offset="1"/></linearGradient><linearGradient id="c" x1="24" x2="24" y1="29" y2="19" gradientUnits="userSpaceOnUse"><stop stop-color="#4d4d4d" offset="0"/><stop stop-color="#737373" offset="1"/></linearGradient><linearGradient id="b" x1="6.35" x2="6.35" y1="9.525" y2="-1.8372" gradientUnits="userSpaceOnUse"><stop stop-color="#7f8c8d" offset="0"/><stop stop-color="#929d9e" offset="1"/></linearGradient></defs><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g stroke-width=".26458"><rect x="1.0584" y="1.0583" width="10.583" height="10.583" rx="1.5875" ry="1.5875" fill="#a83226" style="paint-order:stroke fill markers"/><rect x="1.0584" y="1.0583" width="10.583" height="10.319" rx="1.5875" ry="1.5875" fill="url(#a)" style="paint-order:stroke fill markers"/><circle cx="6.35" cy="6.35" r="3.175" fill="none" stroke="#eee" stroke-linecap="square" stroke-width=".26458"/><path d="m8.3465 6.35-3.0549 1.7637 3e-7 -1.7637-3e-7 -1.7637 1.5274 0.88187z" fill="#fff"/><path d="m2.3962 5.8208a3.9538 3.9538 0 0 1 3.9538-3.9538 3.9538 3.9538 0 0 1 3.9538 3.9538" fill="none" stroke="url(#b)" stroke-linecap="square" stroke-width=".26458"/><path d="m4.3731 2.3967a3.9538 3.9538 0 0 1 3.9538 1e-7" fill="none" stroke="#6b6b6b" stroke-linecap="round" stroke-width=".52917"/><path transform="scale(.26458)" d="m8 19c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2zm30 0c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2z" fill="url(#c)"/><path transform="scale(.26458)" d="m8 19c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2v-10h-2zm30 0v10h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2z" fill="url(#d)"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="48" height="48" viewBox="0 0 12.7 12.7"><defs><linearGradient id="c"><stop offset="0" stop-color="#dc8689"/><stop offset="1" stop-color="#d56062"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#da4453"/><stop offset="1" stop-color="#e74c3c"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#c0392b"/><stop offset="1" stop-color="#c0392b" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" id="e" x1="6.08542" x2="6.08542" y1="6.35" y2="11.3773" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#b" id="d" x1="6.61458" x2="6.61458" y1="6.2178" y2="1.0583" gradientTransform="translate(0 -.15143)" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#c" id="g" x1="10.58366" x2="11.64167" y1="6.08397" y2="6.08542" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#c" id="f" x1="1.05833" x2="2.38125" y1="6.08542" y2="6.08542" gradientTransform="translate(-3.43958)" gradientUnits="userSpaceOnUse"/></defs><rect width="10.583" height="10.583" x="1.0584" y="1.0583" fill="#a83226" paint-order="stroke fill markers" rx="1.5875" ry="1.5875"/><rect width="10.583" height="10.319" x="1.0584" y=".90687" fill="url(#d)" paint-order="stroke fill markers" rx="1.5875" ry="1.5875"/><circle cx="6.35" cy="6.34408" r="3.97467" fill="none" stroke="#a83226" stroke-linecap="square" stroke-width=".51752"/><path fill="url(#e)" d="M1.05885 6.08542v3.83645c0 .87947.70803 1.5875 1.5875 1.5875h7.40782c.87946 0 1.5875-.70803 1.5875-1.5875V6.08542Z" paint-order="stroke fill markers"/><path fill="#ad3327" d="M1.05833 6.08542v.52916h2.51355a.132.132 0 0 0 .13229-.13229v-.26458a.132.132 0 0 0-.1323-.1323H1.05834z"/><path fill="#ac3327" d="M9.6578 6.08542a.132.132 0 0 0-.13228.13229v.26458a.132.132 0 0 0 .13229.1323h1.98386v-.52917Z"/><circle cx="6.3499" cy="6.06637" r="3.97467" fill="none" stroke="#dc8689" stroke-linecap="square" stroke-width=".51752"/><g fill="#ad3327" transform="translate(-.52917 -.26458)"><rect width=".52917" height=".52917" x="4.49792" y="6.35" rx=".13229" ry=".13229"/><rect width=".52917" height="4.7625" x="5.29167" y="4.49792" rx=".13229" ry=".13229"/><rect width=".52917" height="3.70417" x="6.08542" y="5.02708" rx=".13229" ry=".13229"/><rect width=".52917" height="2.64583" x="6.87917" y="5.55625" rx=".13229" ry=".13229"/><rect width=".52917" height="1.5875" x="7.67292" y="6.08542" rx=".13229" ry=".13229"/></g><path fill="#a83226" d="M7.9375 6.489v.27958c0 .06128.059.11059.1323.11059h.26458c.07328 0 .13229-.0493.13229-.1106v-.27956c-.00353.0701-.0613.12557-.1323.12557H8.0698c-.071 0-.12876-.05548-.13229-.12557z"/><path fill="#ad3327" d="M8.73125 6.22443V6.504c0 .06128.059.11058.1323.11058h.26458c.07328 0 .13229-.0493.13229-.11058v-.27957c-.00353.07009-.0613.12557-.1323.12557h-.26458c-.071 0-.12876-.05548-.13229-.12557z"/><rect width=".52917" height=".52917" x="3.96875" y="5.82083" fill="#f0b4ba" rx=".13229" ry=".13229"/><rect width=".52917" height="5.29167" x="4.7625" y="3.43958" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="4.23333" x="5.55625" y="3.96875" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="3.175" x="6.35" y="4.49792" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="2.11667" x="7.14375" y="5.02708" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="1.05833" x="7.9375" y="5.55625" fill="#fff" rx=".13229" ry=".13229"/><path fill="#dc8689" d="M2.38125 5.82083V6.35h1.19063a.132.132 0 0 0 .13229-.1323v-.26457a.132.132 0 0 0-.1323-.1323z"/><rect width=".52917" height=".52917" x="9.26042" y="6.08542" fill="#f0b4ba" rx=".13229" ry=".13229" transform="translate(-.52917 -.26458)"/><path fill="#dc8689" d="M9.6573 5.82083a.132.132 0 0 0-.1323.1323v.26458a.132.132 0 0 0 .1323.13229h.66145v-.52917Z"/><rect width="1.32292" height=".52917" x="-2.38125" y="5.82083" fill="url(#f)" rx="0" ry="0" transform="scale(-1 1)"/><rect width="1.32292" height=".52917" x="10.31875" y="5.82083" fill="url(#g)" rx="0" ry="0"/></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

-3
View File
@@ -1,3 +0,0 @@
SPDX-FileCopyrightText: 2021 Mathis Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+603
View File
@@ -0,0 +1,603 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Zayed Al-Saidi <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-05-11 11:03+0400\n"
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
"Language-Team: ar\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Generator: Lokalize 21.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "شغّل"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "اخلط"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "أضف للطابور"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "افتح في المتصفّح"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "الألبوم • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "المزيد"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "راديو"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "الفنّانون"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "تشغيل الفيديو غير مدعوم حتى الآن. هل تريد تشغيل صوت فقط من \"%1\"؟"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "الألبومات"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "فردي"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "أغاني"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "الفيديوهات"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "حسنًا"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "ألغِ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "عنوان قائمة التشغيل"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "وصف قوائم التّشغيل"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Import playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Playlist URL (Youtube)"
msgstr "قائمة التشغيل"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add Song to Playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "New Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Rename playlist"
msgstr "قائمة التشغيل"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "أظهر الكلّ"
#: contents/ui/LibraryPage.qml:150
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "الأكثر تشغيلا"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "الأغاني المشغلة"
#: contents/ui/LibraryPage.qml:339
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "لا يوجد أي أغنية بعد"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "قوائم التّشغيل"
#: contents/ui/LibraryPage.qml:435
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "قوائم التّشغيل"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Remove from History"
msgid "Remove from Playlist"
msgstr "أزل من التّاريخ"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Import Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "تيوب الصوتي"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "لا يوجد وسائط تعمل"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "لا يوجد وسائط تعمل"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favourites"
msgstr "أزل المفضلة"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favourites"
msgstr "أضف للمفضلة"
#: contents/ui/MaximizedPlayerPage.qml:453
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "افتح في المتصفّح"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:631
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "الأغاني المفضّلة"
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "أزل المسار"
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Clear Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "اخلط"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "المكتبة"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "ابحث"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "قائمة غير معروفة من الأغاني"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "لا يوجد أي أغنية بعد"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "أزل من تاريخ البحث"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "البحوث الأخيرة:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "الفنّانون"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "مجهول"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "لا يوجد تطابق من البحوث الأخيرة"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr " اطوِ الشريط الجانبي"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "شغل التالي"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "أضف للطابور"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "أزل المفضلة"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "أضف للمفضلة"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "أزل من التّاريخ"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "زايد السعيدي"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "لا يوجد وصف"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
#~ msgid "YouTube Music Player"
#~ msgstr "مشغل يوتيوب ميوزيك"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "قائمة التشغيل"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "قائمة التشغيل"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Export Playlist"
#~ msgstr "قائمة التشغيل"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlists"
#~ msgstr "قائمة التشغيل"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Clear Playlist"
#~ msgstr "قائمة التشغيل"
#~ msgid "played Songs"
#~ msgstr "الأغاني المشغلة"
#~ msgid "Now Playing"
#~ msgstr "المشغل الآن"
#~ msgid "Back"
#~ msgstr "عُد"
#~ msgid "Play next"
#~ msgstr "شغل التالي"
#~ msgid "Clear"
#~ msgstr "امسح"
#~ msgid "Pause"
#~ msgstr "ألبث"
#~ msgid "Expand"
#~ msgstr "وسع"
+609
View File
@@ -0,0 +1,609 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Kheyyam Gojayev <[email protected]>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.04.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Başladın"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Qarışıq"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "İfaçılar"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Video göstərilməsi hələlik dəstəklənmir. Siz yalnız \"%1\" videosunun səsini "
"oynatmaq istəyirsiniz?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albomlar"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Musiqilər"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Mahnılar"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videolar"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OLDU"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "İmtina"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Title"
msgstr "Mahnı siyahıları"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Description"
msgstr "Mahnı siyahıları"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Import playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist URL (Youtube)"
msgstr "Mahnı siyahıları"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add Song to Playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Rename playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Hamısı göstərilsin"
#: contents/ui/LibraryPage.qml:150
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Daha çox dinlənilən"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Oxudulan mahnılar"
#: contents/ui/LibraryPage.qml:339
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Hələlik burada mahnılar yoxdur"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Mahnı siyahıları"
#: contents/ui/LibraryPage.qml:435
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "Mahnı siyahıları"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "Media faylı oynadılmır"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Media faylı oynadılmır"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove from Favourites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add to Favourites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Seçilmiş mahnılar"
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Mahnını silin"
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Qarışıq"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Axtarın"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Naməlum mahnı siyahısı"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Hələlik burada mahnılar yoxdur"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "İfaçılar"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Bilinməyən"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Sonrakını oxudun"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Süçilmişlər"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Süçilmişlər"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xəyyam Qocayev"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
#: playlistimporter.cpp:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "Mahnı siyahıları"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "Mahnı siyahıları"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "Mahnı siyahıları"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "Mahnı siyahıları"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "Mahnı siyahıları"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "Mahnı siyahıları"
#, fuzzy
#~| msgid "Played Songs"
#~ msgid "played Songs"
#~ msgstr "Oxudulan mahnılar"
#~ msgid "Now Playing"
#~ msgstr "İndi səslənir"
#~ msgid "Back"
#~ msgstr "Geriyə"
#~ msgid "Play next"
#~ msgstr "Sonrakını başladın"
#~ msgid "Clear"
#~ msgstr "Təmizləyin"
#~ msgid "Pause"
#~ msgstr "Fasilə"
#~ msgid "Expand"
#~ msgstr "Açmaq"
+536
View File
@@ -0,0 +1,536 @@
# Translation of audiotube.po to Catalan
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Antoni Bella Pérez <[email protected]>, 2021.
# Josep M. Ferrer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 09:12+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"S'està executant amb la versió no provada del «ytmusicapi» %1. Si es "
"produeixen errors, informeu-ne a la distribució."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reprodueix"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Afegeix a la cua"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Obre en el navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Comparteix"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Més"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Ràdio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Àlbums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "D'acord"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancel·la"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Afegeix una llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Títol de la llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descripció de la llista de reproducció"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de la llista de reproducció (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Afegeix una cançó a la llista de reproducció"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Llista de reproducció nova"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Reanomena la llista de reproducció"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Encara no hi ha cap llista de reproducció"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Reanomena"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Suprimeix"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Elimina de la llista de reproducció"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Aquesta llista de reproducció encara està buida"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "No s'està reproduint cap cançó"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Tanca el reproductor maximitzat"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Afegeix a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obre el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Comparteix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Afegeix a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons properes"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Llista desconeguda de cançons"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Encara no hi ha cap cançó"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "La llista de reproducció s'ha importat correctament"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de cerques"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Cerques anteriors:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Resultats principals"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha cerques anteriors coincidents"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Comparteix a"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat al porta-retalls"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Quant a"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Redueix la barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reprodueix el següent"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Afegeix a la cua"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Elimina de les preferides"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Afegeix a les preferides"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Elimina de l'historial"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Afegeix a la llista de reproducció"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Flux de música des de YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
+536
View File
@@ -0,0 +1,536 @@
# Translation of audiotube.po to Catalan (Valencian)
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Antoni Bella Pérez <[email protected]>, 2021.
# Josep M. Ferrer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 09:12+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca@valencia\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"S'està executant amb la versió no provada de «ytmusicapi» %1. Si es "
"produïxen errors, informeu-ne a la distribució."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproduïx"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Afig a la cua"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Obri en el navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Compartix"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Més"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Ràdio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Àlbums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "D'acord"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancel·la"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Afig una llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Títol de la llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descripció de la llista de reproducció"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de la llista de reproducció (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Afig una cançó a la llista de reproducció"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Llista de reproducció nova"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Canvia el nom la llista de reproducció"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Encara no hi ha cap llista de reproducció"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Canvia el nom"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Suprimix"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Elimina de la llista de reproducció"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta llista de reproducció encara està buida"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "No s'està reproduint cap cançó"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Tanca el reproductor maximitzat"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Afig a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obri el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Compartix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Afig a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons properes"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Busca"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Llista desconeguda de cançons"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Encara no hi ha cap cançó"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "La llista de reproducció s'ha importat correctament"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de busques"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Busques anteriors:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Resultats principals"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha busques anteriors coincidents"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Compartix a"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat a dins del porta-retalls"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Quant a"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Reduïx la barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproduïx el següent"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Afig a la cua"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Elimina de les preferides"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Afig a les preferides"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Elimina de l'historial"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Afig a la llista de reproducció"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Flux de música des de YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunitat KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
+533
View File
@@ -0,0 +1,533 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Vit Pelcak <[email protected]>
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-31 16:27+0100\n"
"Last-Translator: Vit Pelcak <[email protected]>\n"
"Language-Team: Czech <[email protected]>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Aplikace běží s netestovanou verzí ytmusicapi %1. Pokud narazíte na chyby, "
"prosím nahlaste je vydavateli vaší distribuce."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Přehrát"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Zamíchat"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Přidat do fronty"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Otevřít v prohlížeči"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Sdílet"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Více"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Umělec"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Přehrávání videa ještě není podporováno. Chcete z \"%1\" přehrávat pouze "
"zvuk?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Alba"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Písně"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videa"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Zrušit"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Přidat seznam médií"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Název seznamu skladeb"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Popis seznamu skladeb"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importovat seznam skladeb"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL seznamu skladeb (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Přidat píseň do seznamu skladeb"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nový seznam skladeb"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Přejmenovat seznam skladeb"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Oblíbené"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Zobrazit vše"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Zatím žádné oblíbené"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Nejčastěji hrané"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Přehrané skladby"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Zatím nebyly přehrány žádné skladby"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Seznamy skladeb"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Žádné seznamy skladeb"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Přejmenovat"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Smazat"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Odstranit ze seznamu skladeb"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Tento seznam skladeb je prázdný"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importovat seznam skladeb"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nepřehrává se žádná hudba"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Zavřít minimalizovaný přehrávač"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nepřehrává se žádné médium"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Odstranit z oblíbených"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Přidat k oblíbeným"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otevřít šuplík hlasitosti"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Povolit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Ztlumit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrýt text písně"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Zobrazit text písně"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Sdílet píseň"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Přidat do místního seznamu stop"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Skrýt frontu"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Zobrazit frontu"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Odstranit skladbu"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Vymazat frontu"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Zamíchat frontu"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Nadcházející písně"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Knihovna"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Hledat"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Neznámý seznam skladeb"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Zatím zde nejsou žádné skladby"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Seznam skladeb byl úspěšně importován."
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Seznam skladeb"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "odstranit z historie hledání"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Předchozí hledání:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Umělci"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Nejlepší výsledky"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Neodpovídají žádná předchozí hledání"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Sdílet s"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopírovat odkaz"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Odkaz byl zkopírován do schránky"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "O aplikaci"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Svinout postranní panel"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Přehrát následující"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Zařadit do fronty"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Odstranit oblíbené"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Přidat oblíbené"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Odstranit z historie"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Přidat do seznamu stop"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Přehrávejte hudbu z Hudba YouTube"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunita KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Správce"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Návrhář"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vít Pelčák"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Neoficiální API pro hudbu YouTube"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Žádný popis"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Bez názvu"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Žádné album"
+595
View File
@@ -0,0 +1,595 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Burkhard Lück <[email protected]>, 2021.
# Frederik Schwarzer <[email protected]>, 2021, 2022, 2023.
# Frank Steinmetzger <[email protected]>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-07-09 01:01+0200\n"
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.07.70\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Wiedergabe"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Zufällig"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "An Warteschlange anhängen"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "In Browser öffnen"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Teilen"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Mehr"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Interpret"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Die Video-Wiedergabe wird noch nicht unterstützt. Möchten Sie nur die "
"Audiospur von „%1“ abspielen?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Alben"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Abbrechen"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Wiedergabeliste hinzufügen"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Titel der Wiedergabeliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Beschreibung der Wiedergabeliste"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Wiedergabeliste importieren"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Adresse der Wiedergabeliste (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Lied zur Wiedergabeliste hinzufügen"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Neue Wiedergabeliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Wiedergabeliste umbenennen"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoriten"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Alle anzeigen"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Noch keine Favoriten"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Am meisten abgespielt"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Abgespielte Stücke"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Bisher keine Lieder abgespielt"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Wiedergabelisten"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Bisher keine Wiedergabelisten"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Umbenennen"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Löschen"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Aus Wiedergabeliste entfernen"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Diese Wiedergabeliste ist noch leer"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Wiedergabeliste importieren"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Es wird kein Lied wiedergegeben"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Es werden keine Medien wiedergegeben"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Aus Favoriten entfernen"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Zu Favoriten hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Lautstärkenleiste öffnen"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Audio-Stummschaltung aufheben"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Audio stumm schalten"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedtext ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Liedtext anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Lied teilen"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Zu einer lokalen Wiedergabeliste hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Warteschlange ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Warteschlange anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Stück entfernen"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Warteschlange leeren"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Warteschlange durchmischen"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Kommende Lieder"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Bibliothek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Suchen"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Unbekannte Liste von Liedern"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Bisher keine Lieder hier"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Wiedergabeliste erfolgreich importiert"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "Aus Suchverlauf löschen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Vorherige Suchvorgänge:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Interpreten"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Beste Ergebnisse"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Unbekannt"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Keine passenden vorherigen Suchvorgänge"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Teilen auf"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Verknüpfung kopieren"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Verknüpfung in die Zwischenablage kopiert"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Über"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Seitenleiste einklappen"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Nächste Wiedergabe"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Zur Warteschlange hinzufügen"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Favoriten entfernen"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Favoriten hinzufügen"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Aus Verlauf löschen"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Zur Wiedergabeliste hinzufügen"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Inoffizielle API für Musik auf YouTube"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "Copyright © 2021-2023 Jonah Brüchert, 2021-2023 KDE-Gemeinschaft"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Betreuer"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Deutsches KDE-Übersetzerteam"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Inoffizielle API für Musik auf YouTube"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Keine Beschreibung"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Kein Titel"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Kein Album"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube-Musikprogramm"
#~ msgid "Export"
#~ msgstr "Exportieren"
#~ msgid "Import Playlist from Url"
#~ msgstr "Wiedergabeliste von Adresse importieren"
#~ msgid "Import Playlist from File"
#~ msgstr "Wiedergabeliste aus Datei importieren"
#~ msgid "Export Playlist"
#~ msgstr "Wiedergabeliste exportieren"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Wiedergabelistendateien (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Wiedergabelisten importieren"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Wiedergabelistendateien (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Speichern fehlgeschlagen"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Importieren von %1 fehlgeschlagen"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Clear Playlist"
#~ msgstr "Wiedergabeliste"
#~ msgid "played Songs"
#~ msgstr "Abgespielte Stücke"
#~ msgid "Now Playing"
#~ msgstr "Aktueller Titel"
#~ msgid "Back"
#~ msgstr "Zurück"
#~ msgid "Play next"
#~ msgstr "Nächste Wiedergabe"
#~ msgid "Clear"
#~ msgstr "Löschen"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Expand"
#~ msgstr "Erweitern"
#~ msgid "Play only Audio"
#~ msgstr "Nur Audio abspielen"
+585
View File
@@ -0,0 +1,585 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Steve Allewell <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-06-17 12:08+0100\n"
"Last-Translator: Steve Allewell <[email protected]>\n"
"Language-Team: British English\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.03.70\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Play"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Shuffle"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Append to queue"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Open in Browser"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Share"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "More"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancel"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Add playlist"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Playlist Title"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Playlist Description"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Import playlist"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Playlist URL (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Add Song to Playlist"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "New Playlist"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Rename playlist"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favourites"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Show All"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "No Favourites Yet"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Most played"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Played Songs"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "No Songs Played Yet"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Playlists"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "No Playlists Yet"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Rename"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Delete"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Remove from Playlist"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "This playlist is still empty"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Import Playlist"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "No song playing"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Close Maximised Player"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "No media playing"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Remove from Favourites"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Add to Favourites"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Open Volume Drawer"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Unmute Audio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Mute Audio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Hide Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Show Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Share Song"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Add to a local playlist"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Hide Queue"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Show Queue"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Remove Track"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Clear Queue"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Shuffle Queue"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Upcoming Songs"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Library"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Search"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Unknown list of songs"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "No songs here yet"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Playlist successfully imported"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Playlist"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "remove from search history"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Previous Searches:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artists"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Top Results"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Unknown"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "No matching previous searches"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Share to"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copy Link"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Link copied to clipboard"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "About"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Collapse Sidebar"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Play Next"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Add to queue"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Remove Favourite"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Add Favourite"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Remove from History"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Add to playlist"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Unofficial API for YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Maintainer"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Steve Allewell"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Unofficial API for YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "No description"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "No title"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "No album"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube Music Player"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Import Playlist"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Import Playlist"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Import Playlist"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Import Playlist"
#~ msgid "Clear Playlist"
#~ msgstr "Clear Playlist"
#~ msgid "played Songs"
#~ msgstr "played Songs"
#~ msgid "Now Playing"
#~ msgstr "Now Playing"
#~ msgid "Back"
#~ msgstr "Back"
#~ msgid "Play next"
#~ msgstr "Play next"
#~ msgid "Clear"
#~ msgstr "Clear"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Expand"
#~ msgstr "Expand"
#~ msgid "Play only Audio"
#~ msgstr "Play only Audio"
+534
View File
@@ -0,0 +1,534 @@
# translation of audiotube.pot to esperanto
# Copyright (C) 2023 Free Software Foundation, Inc.
# This file is distributed under the same license as the audiotube package.
# Oliver Kellogg <[email protected], 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-30 18:56+0100\n"
"Last-Translator: Oliver Kellogg <[email protected]>\n"
"Language-Team: Esperanto <[email protected]>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: translate-po (https://github.com/zcribe/translate-po)\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Funkcianta kun neprovita versio de ytmusicapi %1. Se vi spertas erarojn, "
"bonvolu raporti ilin al via distribuo."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Ludi"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Miksi"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Aldoni al vico"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Malfermi en Retumilo"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Kunhavigi"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Albumo • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Pli"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artisto"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Video-reproduktado ankoraŭ ne estas subtenata. Ĉu vi volas ludi nur la "
"sonojn de \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumoj"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Unuopaĵoj"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Kantoj"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videoj"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "bone"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Nuligi"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Aldoni ludliston"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Ludlista Titolo"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Ludlisto Priskribo"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importi ludliston"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de Ludlisto (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Aldoni Kanton al Ludlisto"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nova Ludlisto"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Alinomi ludliston"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Plej ŝatataj"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Montri Ĉion"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Neniuj Favoritoj Ankoraŭ"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Plej ludis"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Luditaj Kantoj"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ankoraŭ Neniuj Kantoj Luditaj"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Ludlistoj"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Neniuj Ludlistoj Ankoraŭ"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Alinomi"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Forigi"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Forigi el Ludlisto"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Ĉi tiu ludlisto ankoraŭ estas malplena"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importi Ludliston"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Neniu kanto ludanta"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Fermi Maksimumigitan Ludanton"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Neniu aŭdvidaĵo ludanta"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Forigi el Favoritoj"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Aldoni al Favoritoj"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Malfermi Voluman Keston"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Malŝalti Audio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silentigi Audio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Kaŝi Kantotekstojn"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Montri kantotekstojn"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Kunhavigi Kanton"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Aldoni al loka ludlisto"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Kaŝi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Montri Vicon"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Forigi Trakon"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Viŝi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Miksi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Venontaj Kantoj"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteko"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Serĉi"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Nekonata listo de kantoj"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ankoraŭ neniuj kantoj ĉi tie"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Ludlisto sukcese importita"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Ludlisto"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "forigi el serĉhistorio"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Antaŭaj Serĉoj:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistoj"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Plej bonaj Rezultoj"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Nekonata"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Neniuj kongruaj antaŭaj serĉoj"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Kunhavigi al"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopii Ligilon"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligilo kopiita al tondujo"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Pri"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Malvastigi Flankbreton"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Ludi Poste"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Aldoni al vico"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Forigi Favoriton"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Aldoni Favoriton"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Forigi el Historio"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Aldoni al ludlisto"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Fluigi muzikon de YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-Komunumo"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Prizorganto"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Dezajnisto"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Oliver Kellogg"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Neoficiala API por YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Neniu priskribo"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Neniu titolo"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Neniu albumo"
+596
View File
@@ -0,0 +1,596 @@
# Spanish translations for audiotube.po package.
# Copyright (C) 2021 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Automatically generated, 2021.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Eloy Cuadra <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-02 01:27+0100\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Ejecutando la versión no probada de ytmusicapi %1. Si experimenta errores, "
"notifíquelos a su distribución."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproducir"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Desordenar"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Añadir a la cola"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Abrir en el navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Compartir"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Más"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"La reproducción de vídeo aún no está permitida. ¿Desea reproducir solo el "
"sonido de «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Álbumes"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Sencillos"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Canciones"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Aceptar"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Añadir lista de reproducción"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Título de la lista de reproducción"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descripción de la lista de reproducción"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importar lista de reproducción"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de la lista de reproducción (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Añadir canción a la lista de reproducción"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nueva lista de reproducción"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Cambiar nombre de la lista de reproducción"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostrar todas"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Todavía no hay favoritas"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Más reproducidas"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Canciones reproducidas"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Todavía no se han reproducido canciones"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listas de reproducción"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Todavía no hay listas de reproducción"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Cambiar nombre"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Borrar"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Eliminar de la lista de reproducción"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta lista de reproducción está vacía"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importar lista de reproducción"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "No se está reproduciendo ninguna canción"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Cerrar reproductor maximizado"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Ningún medio en reproducción"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Eliminar de favoritas"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Añadir a favoritas"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir cajón del volumen"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Reanudar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letra"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letra"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Compartir canción"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Añadir a una lista de reproducción local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar cola"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostrar cola"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Eliminar pista"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Borrar cola"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar cola"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas canciones"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Buscar"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de canciones desconocida"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Todavía no contiene canciones"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de reproducción importada correctamente"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista de reproducción"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "eliminar del historial de búsqueda"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Búsquedas anteriores:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Resultados principales"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Desconocido"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "No hay búsquedas anteriores coincidentes"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Compartir con"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copiar enlace"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Se ha copiado el enlace en el portapapeles"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Acerca de"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Contraer la barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproducir siguiente"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Añadir a la cola"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Eliminar favorita"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Añadir favorita"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Eliminar del historial"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Añadir a la lista de reproducción"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Transmisión de música de YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 La Comunidad KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Responsable"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Diseñador"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Eloy Cuadra"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial de YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sin descripción"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Sin título"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Sin álbumes"
#~ msgid "YouTube Music Player"
#~ msgstr "Reproductor de música de YouTube"
#~ msgid "Export"
#~ msgstr "Exportar"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importar lista de reproducción de URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importar lista de reproducción de un archivo"
#~ msgid "Export Playlist"
#~ msgstr "Exportar lista de reproducción"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Archivo de lista de reproducción m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importar listas de reproducción"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Archivos de lista de reproducción m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "No se ha podido guardar el archivo"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "No se ha podido importar %1"
#~ msgid "Clear Playlist"
#~ msgstr "Borrar la lista de reproducción"
#~ msgid "played Songs"
#~ msgstr "canciones reproducidas"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Reproduciendo"
#~ msgid "Back"
#~ msgstr "Volver"
#~ msgid "Play next"
#~ msgstr "Reproducir siguiente"
#~ msgid "Clear"
#~ msgstr "Borrar todo"
#~ msgid "Pause"
#~ msgstr "Pausar"
#~ msgid "Expand"
#~ msgstr "Expandir"
#~ msgid "Play only Audio"
#~ msgstr "Reproducir solo el sonido"
+589
View File
@@ -0,0 +1,589 @@
# Translation for audiotube.po to Euskara/Basque (eu).
# Copyright (C) 2021-2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# KDE euskaratzeko proiektuko arduraduna <[email protected]>.
#
# Translators:
# SPDX-FileCopyrightText: 2021, 2022, 2023 Iñigo Salvador Azurmendi <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 23:13+0100\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Probatu gabeko «ytmusicapi» %1 bertsioarekin exekutatzen. Erroreak izaten "
"badituzu, mesedez, jakinarazi zure banatzaileari."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Jo"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Nahastu"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Jarri ilaran"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Ireki arakatzailean"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Partekatu"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Albuma • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Gehiago"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Irratia"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Oraindik ez dago bideoa atzera jotzeko euskarririk. «%1»(r)en audioa "
"bakarrik jo nahi duzu?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumak"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Banakoa"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Abestiak"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Bideoak"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Ados"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Utzi"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Gehitu jotze-zerrenda"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Jotze-zerrendaren titulua"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Jotze-zerrendaren deskribapena"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Jotze-zerrendaren URL (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Gehitu abestia jotze-zerrendara"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Jotze-zerrenda berria"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Berrizendatu jotze-zerrenda"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Gogokoak"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Erakutsi denak"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Oraindik Gogokorik ez"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Gehien jotakoa"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Jotako abestiak"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Oraindik ez dago jotako abestirik"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Jotze-zerrendak"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Oraindik jotze-zerrendarik ez"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Berrizendatu"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Ezabatu"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Kendu jotze-zerrendatik"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Jotze-zerrenda hau oraindik hutsik dago"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Ez da abestirik jotzen ari"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Itxi maximizatutako jotzailea"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Ez da euskarririk jotzen ari"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Kendu gogokoetatik"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Gehitu gogokoetara"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ireki bolumenaren tiradera"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Ozendu audioa"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Isilarazi audioa"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%%1"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Ezkutatu hitzak"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Erakutsi hitzak"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Partekatu abestia"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Gehitu bertako jotze-zerrenda batera."
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Ezkutatu ilara"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Erakutsi ilara"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Kendu pista"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Hustu ilara"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Nahastu ilara"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Hurrengo abestiak"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Liburutegia"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Bilatu"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Abesti zerrenda ezezaguna"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Hemen oraindik ez dago abestirik"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Jotze-zerrenda ondo inportatu da"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "Kendu bilaketa-historiatik"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Aurreko bilaketak:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistak"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Emaitza nagusiak"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Ezezaguna"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Ez dago bat datorren aurreko bilaketarik"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Partekatu honi,"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopiatu esteka"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Esteka arbelera kopiatu da"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Honi buruz"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Tolestu Alboko-barra"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Jo hurrengoa"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Gehitu ilaran"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Kendu gogokoa"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Gehitu gogokoa"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Kendu historiatik"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Gehitu jotze-zerrendara"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "«YouTube Music»etik musika korrontea"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Komunitatea"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Arduraduna"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Diseinatzailea"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Iñigo Salvador Azurmendi"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "«YouTube Music»erako API ez-ofiziala"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Deskribapenik ez"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Titulurik ez"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Albumik ez"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube musika jotzailea"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Jotze-zerrenda"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Jotze-zerrenda"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Jotze-zerrenda"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Jotze-zerrenda"
#~ msgid "Clear Playlist"
#~ msgstr "Garbitu jotze-zerrenda"
#~ msgid "played Songs"
#~ msgstr "jotako abestiak"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Orain jotzen"
#~ msgid "Back"
#~ msgstr "Atzera"
#~ msgid "Play next"
#~ msgstr "Jo hurrengoa"
#~ msgid "Clear"
#~ msgstr "Garbitu"
#~ msgid "Pause"
#~ msgstr "Eten"
#~ msgid "Expand"
#~ msgstr "Zabaldu"
#~ msgid "Play only Audio"
#~ msgstr "Audio bakarrik jo"
+586
View File
@@ -0,0 +1,586 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Tommi Nieminen <[email protected]>, 2021, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-06-27 18:07+0300\n"
"Last-Translator: Tommi Nieminen <[email protected]>\n"
"Language-Team: Finnish <[email protected]>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Käytössä on ytmusicapin testaamaton versio %1. Jos kohtaat virheitä, ilmoita "
"niistä jakelullesi."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Toista"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Sekoita"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Lisää jonoon"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Avaa selaimeen"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Jaa"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Albumi • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Lisää"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artisti"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Videotoistoa ei vielä tueta. Haluatko toistaa videosta ”%1” vain äänen?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumit"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singlet"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Kappaleet"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videot"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Peru"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Lisää soittolista"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Soittolistan otsikko"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Soittolistan kuvaus"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Tuo soittolista"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Soittolistan verkko-osoite (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Lisää kappale soittolistaan"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Uusi soittolista"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Muuta soittolistan nimeä"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Suosikit"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Näytä kaikki"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Ei vielä suosikkeja"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Soitetuimmat"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Soitetut kappaleet"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ei vielä soitettuja kappaleita"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Soittolistat"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Ei vielä soittolistoja"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Muuta nimeä"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Poista"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Poista soittolistalta"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Soittolista on yhä tyhjä"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Tuo soittolista"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Mitään ei soiteta"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Sulje suurennettu soitin"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Mitään ei toisteta"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Poista suosikeista"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Lisää suosikkeihin"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Avaa äänenvoimakkuus"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Poista äänen vaimennus"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Vaimenna ääni"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Piilota sanat"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Näytä sanoitukset"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Jaa kappale"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Lisää paikalliseen soittolistaan"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Piilota jono"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Näytä jono"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Poista raita"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Tyhjennä jono"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Sekoita jono"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Tulossa olevat kappaleet"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Kirjasto"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Etsi"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Tuntematon kappaleluettelo"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ei vielä kappaleita"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Soittolistan tuonti onnistui"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Soittolista"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "poista hakuhistoriasta"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Aiemmat haut:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistit"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Parhaat tulokset"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Ei osumia aiemmista hauista"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Jaa kohteeseen"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopioi linkki"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Linkki kopioitu leikepöydälle"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Tietoa"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Supista sivupaneeli"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Toista seuraava"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Lisää jonoon"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Poista suosikki"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Lisää suosikki"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Poista historiasta"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Lisää soittolistaan"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Epävirallinen YouTube Music -API"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-yhteisö"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Ylläpitäjä"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Suunnittelija"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Tommi Nieminen"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Epävirallinen YouTube Music -API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Ei kuvausta"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Ei otsikkoa"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Ei albumia"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube-musiikkisoitin"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Tuo soittolista"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Tuo soittolista"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Tuo soittolista"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Tuo soittolista"
#~ msgid "Clear Playlist"
#~ msgstr "Tyhjennä soittolista"
#, fuzzy
#~| msgid "Played Songs"
#~ msgid "played Songs"
#~ msgstr "Soitetut kappaleet"
#~ msgid "Now Playing"
#~ msgstr "Nyt soi"
#~ msgid "Back"
#~ msgstr "Takaisin"
#~ msgid "Play next"
#~ msgstr "Toista seuraava"
#~ msgid "Clear"
#~ msgstr "Tyhjennä"
#~ msgid "Pause"
#~ msgstr "Tauko"
#~ msgid "Expand"
#~ msgstr "Laajenna"
#~ msgid "Play only Audio"
#~ msgstr "Toista vain ääni"
+592
View File
@@ -0,0 +1,592 @@
# SPDX-FileCopyrightText: 2021, 2022, 2023 Xavier Besnard <[email protected]>
# Xavier Besnard <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-30 15:15+0100\n"
"Last-Translator: Xavier Besnard <[email protected]>\n"
"Language-Team: fr\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"En cours d'exécution avec la version non testée de ytmusicapi %1. Si vous "
"rencontrez des erreurs, veuillez les signaler à votre distribution."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Lire"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Mélanger"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Ajouter à la file de lecture"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Ouvrir dans un navigateur"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Partager"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Et plus encore"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artiste"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"La lecture de vidéos n'est pas encore prise en charge. Voulez-vous vraiment "
"lire uniquement l'audio de « %1 » ?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Titres uniques"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Chansons"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vidéos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Ok"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Annuler"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Ajouter une liste de lecture"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Titre de la liste de lecture"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Description de la liste de lecture"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importer une liste de lecture"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de liste de lecture (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Ajouter une chanson à la liste de lecture"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nouvelle liste de lecture"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Renommer une liste de lecture"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Signets"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Tout afficher"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Encore aucun signet"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Les plus lus"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Titres lus"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encore aucune chanson jouée"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listes de lecture"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Aucune liste de lecture pour l'instant"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Renommer"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Supprimer"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Supprimer de la liste de lecture"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "La liste de lecture est vide pour l'instant."
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importer une liste de lecture"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Aucune chanson en lecture"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Fermer le lecteur en mode maximisé"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Aucun média en lecture"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Supprimer des signets"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Ajouter aux signets"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ouvrir le réglage de volume"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Remettre le son"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Mettre le son en pause"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Masquer les paroles"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Afficher les paroles"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Partager une chanson"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Ajouter à la liste locale de lecture"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Masquer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Afficher la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Supprimer une piste"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Effacer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Re-distribuer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Prochaines chansons"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Bibliothèque"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Rechercher"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Liste inconnue de titres"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Aucun titre ici encore"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "La liste de lecture a été importée avec succès"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Liste de lecture"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "supprimer de l'historique de recherche"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Recherches précédentes :"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Principaux résultats"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Inconnu"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Aucune correspondance avec les recherches précédentes"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Partager vers"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copier un lien"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Lien copié dans le presse-papier."
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "À propos"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Réduire la barre latérale"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Lire le suivant"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Ajouter à la file de lecture"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Supprimer un signet"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Ajouter un signet"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Supprimer de l'historique"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Ajouter à la liste de lecture"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musique en streaming provenant de « YouTube Musique »"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021 - 2023 Jonah Brüchert, 2021 - 2023 La communauté de KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mainteneur"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Concepteur"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xavier Besnard"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API non officiel pour le site « YouTube Musique »"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Aucune description"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Aucun titre"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Aucun album"
#~ msgid "YouTube Music Player"
#~ msgstr "Lecteur de musique pour YouTube"
#~ msgid "Export"
#~ msgstr "Exporter"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importer une liste de lecture à partir de l'URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importer une liste de lecture à partir d'un fichier"
#~ msgid "Export Playlist"
#~ msgstr "Exporter une liste de lecture"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Fichier de liste de lecture m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importer des listes de lecture"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Fichiers de liste de lecture m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "L'enregistrement a échoué"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Impossible d'importer %1"
#~ msgid "Clear Playlist"
#~ msgstr "Effacer une liste de lecture"
#~ msgid "played Songs"
#~ msgstr "Titres lus"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "En cours de lecture"
#~ msgid "Back"
#~ msgstr "En arrière"
#~ msgid "Play next"
#~ msgstr "Lire le suivant"
#~ msgid "Clear"
#~ msgstr "Effacer"
#~ msgid "Pause"
#~ msgstr "Pause"
#~ msgid "Expand"
#~ msgstr "Développer"
#~ msgid "Play only Audio"
#~ msgstr "Ne lire que l'audio"
+554
View File
@@ -0,0 +1,554 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2023 Adrián Chaves (Gallaecio)
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-30 18:19+0100\n"
"Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
"Language-Team: Galician <[email protected]>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Usando unha versión non probada de ytmusicapi, a %1. Informe á súa "
"distribución de detecta algún erro."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproducir"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Desordenar"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Engadir á cola"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Compartir"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Álbum — %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Máis"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Intérprete"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Non é posíbel reproducir vídeo. Quere reproducir o son de «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Álbums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Sós"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Cancións"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Aceptar"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Engadir unha lista de reprodución"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Título da lista de reprodución"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descrición da lista de reprodución"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importar unha lista de reprodución"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL da lista de reprodución (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Engadir a canción á lista de reprodución"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nova lista de reprodución"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Renomear a lista de reprodución"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Amosalo todo"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Non hai favoritas."
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Máis reproducido"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Cancións reproducidas"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Non se reproduciron cancións."
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listas de reprodución"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Non hai listas de reprodución."
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Renomear"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Eliminar"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Retirar da lista de reprodución"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "A lista de reprodución está baleira."
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importar unha lista de reprodución"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Non se está a reproducir ningunha canción."
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Pechar o reprodutor maximizado"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Non se está a reproducir nada."
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Retirar das favoritas"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Engadir ás favoritas"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir o caixón do volume"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Activar o son"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Agochar a letra"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Amosar a letra"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Compartir a canción"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Engadir a unha lista de reprodución local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Agochar a cola"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Amosar a cola"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Retirar a pista"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Borrar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Vindeiras cancións"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Colección"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Buscar"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de cancións descoñecidas"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Non hai cancións."
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Importouse a lista."
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista de reprodución"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "Retirar do historial de buscas"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Buscas anteriores:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Intérpretes"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Resultados principais"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Descoñecida"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Ningunha busca anterior coincide."
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Compartir con"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copiar a ligazón"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "A ligazón copiouse no portapapeis."
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Sobre"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Recoller a barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproducir a seguinte"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Engadir á cola"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Retiras das favoritas"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Engadir ás favoritas"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Retirar do historial"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Engadir á lista de reprodución"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Escoita música de YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert; 2021-2023 Comunidade KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mantemento."
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Deseño."
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Adrian Chaves (Gallaecio)"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API non oficial de YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sen descrición"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Sen título"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Sen álbum"
#~ msgid "YouTube Music Player"
#~ msgstr "Reprodutor de música de YouTube"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importar unha lista de reprodución"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Importar unha lista de reprodución"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Importar unha lista de reprodución"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Importar unha lista de reprodución"
+595
View File
@@ -0,0 +1,595 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Raghavendra Kamath <[email protected]>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 21.08.1\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "बजाएँ"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "फेंटें"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "रेडियो"
#: contents/ui/ArtistPage.qml:105
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "कलाकार"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"वीडियो चलाना अभी तक समर्थित नहीं है। क्या आप केवल \"%1\" का ध्वनी चलाना चाहते हैं?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "एल्बम्स"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "एक गीत"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "गीत"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "वीडियो"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr ""
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Title"
msgstr "गीत-सूचीयाँ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Description"
msgstr "गीत-सूचीयाँ"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Import playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist URL (Youtube)"
msgstr "गीत-सूचीयाँ"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add Song to Playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Rename playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LibraryPage.qml:435
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "ओडियो-ट्यूब"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "गीत-सूचीयाँ"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "गाना हटाएँ"
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Clear"
msgid "Clear Queue"
msgstr "साफ करें"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "फेंटें"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "खोजें"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "कलाकार"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "अज्ञात"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "अगला बजाएँ"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "गीत-सूची में जोड़ें"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "राघवेंद्र कामत"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
#: playlistimporter.cpp:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "गीत-सूचीयाँ"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "गीत-सूचीयाँ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "गीत-सूचीयाँ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "गीत-सूचीयाँ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "गीत-सूचीयाँ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "गीत-सूचीयाँ"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "कोई मीडिया नहीं बजा रहा है"
#~ msgid "Play next"
#~ msgstr "अगला बजाएँ"
#~ msgid "Pause"
#~ msgstr "रोकें"
#~ msgid "Expand"
#~ msgstr "विस्तृत करें"
#~ msgid "Play only Audio"
#~ msgstr "केवल ध्वनी चलाएँ"
+564
View File
@@ -0,0 +1,564 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# giovanni <[email protected]>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-13 14:53+0100\n"
"Last-Translator: giovanni <[email protected]>\n"
"Language-Team: Interlingua <[email protected]>\n"
"Language: ia\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Executante con version non essayate de ytmusicapi %1. Si tu experientia "
"errores, pro favor reporta los a tu distribution."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproduce"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Shuffle (miscer)"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Appende a cauda"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Aperi con navigator"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Comparti"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Altere"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Reproduction de video a retro (playback) non es ancora supportate. Tu vole "
"solmente reproducer le audio de \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumes"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singules"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Cantos"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancella"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Adde lista de reproduction"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Titulo de Lista de reproduction"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Description de lista de reproduction"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importa lista de reproduction"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL de Lista de reproduction (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Adde Canto al lista de reproduction"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nove lista de reproduction"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Renomina Lista de reproduction"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoritos"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Monstra omne"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Ancora nulle favoritos"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Plus reproducite"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Cantos sonate"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nulle cantos ancora sonate"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listas de reproduction"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Nulle lista de reproduction ancora"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Renomina"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Dele"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Remove ex lista de reproduction"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Iste lista de reproduction es vacue"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importa lista de reproduction"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nulle canto reproducente"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Claude reproductor de sono (player) maximizate"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Necun media reproducente"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Remove ex favoritos"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Adde a favoritos"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Aperi designator de volumine"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Audio Non silente"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Audio Silente"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Cela parolas de canto"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Monstra parolas"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Comparti canto"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Adde a un lista de reproduction local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Cela cauda"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Monstra cauda"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Remove tracia"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Netta cauda"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Misce (shuffle) cauda"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Cantos a venir"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Libreria"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Incognite lista de reproduction"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Hic nulle cantos ancora"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de reproduction importate con successo"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista de reproduction"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "remove ex chronologia de cerca"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Previe cercas:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Exitos al culmine (Top)"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Incognite"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Nulle previes cerca correspondente"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Comparti a"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copia Ligamine"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligamine copiate a area de transferentia"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "A proposito"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Plica barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproduce proxime"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Adde a cauda"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Remove favorito"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Adde favorito"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Remove ex chronologia"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Adde al lista de reproduction"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musica de stream (fluxo) ab YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Communitate de KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mantenitor"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designator"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Giovanni Sora"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API non official per YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Nulle description"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Necun titulo"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Necun album"
#~ msgid "YouTube Music Player"
#~ msgstr "Reproductor musical de YouTube"
#~ msgid "Export"
#~ msgstr "Exporta"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importa lista de reproduction ab Url"
#~ msgid "Import Playlist from File"
#~ msgstr "Importa lista de reproduction ab File"
#~ msgid "Export Playlist"
#~ msgstr "Exporta lista de reproduction"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 File de Lista de Reproduction (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importa listas de reproduction"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 Files de Lista de Reproduction (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Il falleva a salveguardar"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Il falleva a importar %1"
+590
View File
@@ -0,0 +1,590 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Linerly <[email protected]>, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-06-16 19:34+0700\n"
"Last-Translator: Linerly <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.3.1\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Berjalan dengan versi ytmusicapi %1 yang belum diuji. JIka Anda mengalami "
"kesalahan, silakan laporkan ke distribusi Anda."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Putar"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Acak"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Tambahkan ke antrean"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Buka di Peramban"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Bagikan"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Lainnya"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artis"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Pemutaran video belum didukung. Apakah Anda ingin memutar audionya dari "
"\"%1\" saja?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Lagu"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Video"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Oke"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Batalkan"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Tambahkan ke daftar putar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Judul Daftar Putar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Deskripsi Daftar Putar"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add playlist"
msgid "Import playlist"
msgstr "Tambahkan ke daftar putar"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlist Title"
msgid "Playlist URL (Youtube)"
msgstr "Judul Daftar Putar"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Tambahkan Lagu ke Daftar Putar"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Daftar Putar Baru"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Ubah nama daftar putar"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favorit"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Tampilkan Semua"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Belum Ada Favorit"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Paling banyak diputar"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Lagu yang telah diputar"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Belum Ada Lagu Yang Diputar"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Daftar Putar"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Belum Ada Daftar Putar"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Ubah Nama"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Hapus"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Hapus dari Daftar Putar"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Daftar putar ini masih kosong"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Import Playlist"
msgstr "Daftar Putar"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "Tidak ada media yang diputarkan"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Tutup Pemutar Termaksimalkan"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Tidak ada media yang diputarkan"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favourites"
msgstr "Hapus Favorit"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favourites"
msgstr "Tambahkan Favorit"
#: contents/ui/MaximizedPlayerPage.qml:453
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "Buka di Peramban"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Suarakan Audio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Bisukan Audio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:631
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Bagikan Lagu"
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Tambahkan ke Daftar Putar"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:729
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Hapus Trek"
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Acak"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Lagu Berikutnya"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Pustaka"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Cari"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Daftar lagu yang tidak diketahui"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Belum ada lagu di sini"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Daftar putar berhasil diimpor"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Daftar Putar"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "hapus dari riwayat pencarian"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pencarian Sebelumnya:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artis"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Hasil Teratas"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Tidak diketahui"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Tidak ada pencarian sebelumnya yang cocok"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Bagikan ke"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Salin Tautan"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Tautan disalin ke papan klip"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Tentang"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Tutup Bilah Samping"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Putar Berikutnya"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Tambahkan ke antrean"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Hapus Favorit"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Tambahkan Favorit"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Hapus dari Riwayat"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Tambahkan ke daftar putar"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "API tidak resmi untuk YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunitas KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Pemelihara"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Perancang"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Linerly"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API tidak resmi untuk YouTube Music"
#: playlistimporter.cpp:22
#, fuzzy, kde-format
#| msgid "Playlist Description"
msgid "No description"
msgstr "Deskripsi Daftar Putar"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Tidak ada judul"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Tidak ada album"
#~ msgid "YouTube Music Player"
#~ msgstr "Pemutar YouTube Music"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Daftar Putar"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Daftar Putar"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Daftar Putar"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Daftar Putar"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Clear Playlist"
#~ msgstr "Daftar Putar"
#~ msgid "played Songs"
#~ msgstr "Lagu yang telah diputar"
#~ msgid "Now Playing"
#~ msgstr "Sekarang Diputarkan"
#~ msgid "Back"
#~ msgstr "Kembali"
#~ msgid "Play next"
#~ msgstr "Putar berikutnya"
+594
View File
@@ -0,0 +1,594 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Vincenzo Reale <[email protected]>
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-08 09:28+0100\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"In esecuzione con una versione non verificata di ytmusicapi %1. Se riscontri "
"errori, segnalali alla tua distribuzione."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Riproduci"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Mescola"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Aggiungi alla coda"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Apri nel browser"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Condividi"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Altro"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"La riproduzione dei video non è ancora supportata. Vuoi riprodurre solo "
"l'audio di «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singoli"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Brani"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Video"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Annulla"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Aggiungere scaletta"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Titolo della scaletta"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descrizione della scaletta"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importa scaletta"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL della scaletta (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Aggiungere brano alla scaletta"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nuova scaletta"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Rinomina la scaletta"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Preferiti"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostra tutto"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Ancora nessun preferito"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Più riprodotti"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Brani riprodotti"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ancora nessun brano riprodotto"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Scalette"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Ancora nessuna scaletta"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Rinomina"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Elimina"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Rimuovi dalla scaletta"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Questa scaletta è ancora vuota"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importa scaletta"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nessun brano in riproduzione"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Chiudi il lettore massimizzato"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nessun supporto in riproduzione"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Rimuovi dai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Aggiungi ai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Apri il cassetto del volume"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Rimuovi il silenzio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silenzia l'audio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Nascondi i testi"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra i testi"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Condividi brano"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Aggiungi a una scaletta locale"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Nascondi la coda"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostra la coda"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Rimuovi traccia"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Cancella la coda"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Mescola la coda"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Prossimi brani"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Raccolta"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Elenco di brani sconosciuto"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Non c'è ancora alcun brano"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Scaletta importato correttamente"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Scaletta"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "rimuovi dalla cronologia delle ricerche"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Ricerche precedenti:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artisti"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Migliori risultati"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Sconosciuto"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Nessuna ricerca precedente corrispondente"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Condividi con"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copia collegamento"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Collegamento copiato negli appunti"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Informazioni"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Contrai la barra laterale"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Riproduci successivo"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Aggiungi alla coda"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Rimuovi preferito"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Aggiungi preferito"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Rimuovi dalla cronologia"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Aggiungi alla scaletta"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Riproduci musica da YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunità KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Responsabile"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Progettista"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vincenzo Reale"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API non ufficiale per YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Nessuna descrizione"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Nessun titolo"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Nessun album"
#~ msgid "YouTube Music Player"
#~ msgstr "Lettore musicale YouTube"
#~ msgid "Export"
#~ msgstr "Esporta"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importa scaletta da URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importa scaletta da file"
#~ msgid "Export Playlist"
#~ msgstr "Esporta scaletta"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "File di scaletta m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importa scalette"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "File di scaletta m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Salvataggio non riuscito"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Impossibile importare %1"
#~ msgid "Clear Playlist"
#~ msgstr "Pulisci la scaletta"
#~ msgid "played Songs"
#~ msgstr "Brani riprodotti"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "In riproduzione"
#~ msgid "Back"
#~ msgstr "Indietro"
#~ msgid "Play next"
#~ msgstr "Riproduci successivo"
#~ msgid "Clear"
#~ msgstr "Pulisci"
#~ msgid "Pause"
#~ msgstr "Pausa"
#~ msgid "Expand"
#~ msgstr "Espandi"
#~ msgid "Play only Audio"
#~ msgstr "Riproduci solo l'audio"
+531
View File
@@ -0,0 +1,531 @@
# maboroshin <pc.genkaku.in>, 2023.
# Fumiaki Okushi <[email protected]>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-24 09:45+0900\n"
"Last-Translator: maboroshin <pc.genkaku.in>\n"
"Language-Team: Japanese <[email protected]>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
"X-Generator: Poedit 2.2.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"未テストのバージョンの ymusicapi %1 で実行中です。エラー発生の際は、使用中の"
"ディストリビューションに報告してください。"
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "再生"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "シャッフル"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "キューに追加"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "ブラウザーで開く"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "共有"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "アルバム • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "もっと"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "ラジオ"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "アーティスト"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "動画の再生はまだ未対応です。「%1」の音声のみを再生しますか?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "アルバム"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "シングル"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "曲"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "動画"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "キャンセル"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "再生リスト追加"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "再生リスト名"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "リストの説明"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "再生リストのインポート"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "再生リストの URL (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "再生リストに曲を追加"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "新規再生リスト"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "再生リストの名前を変更"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "お気に入り"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "すべて表示"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "まだお気に入りなし"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "再生回数が多い"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "履歴"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "まだ再生した曲なし"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "再生リスト"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "まだ再生リストなし"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "名前の変更"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "削除"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "再生リストから除去"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "この再生リストはまだ曲が未登録"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "再生リストのインポート"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "再生中の曲なし"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "最大化したプレーヤーを閉じる"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "再生中のメディアなし"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "お気に入りから削除"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "お気に入りに追加"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "音声のミュート解除"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "音声をミュート"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "歌詞を隠す"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "歌詞を表示"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "曲を共有"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "端末内の再生リストに曲を追加"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "再生キューを隠す"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "再生キューを表示"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "曲の除去"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "キューを消去"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "キューをシャッフル"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "次の曲"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "ライブラリ"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "検索"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "不明の曲リスト"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "まだここに曲の登録なし"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "再生リストのインポートに成功"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "再生リスト"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "検索履歴から除去"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "以前の検索:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "アーティスト"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "検索上位"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "不明"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "以前の検索との一致なし"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "共有"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "リンクをコピー"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "リンクをクリップボードにコピーしました"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "情報"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "サイドバーをたたむ"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "次に再生"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "再生キューに追加"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "お気に入りから除去"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "お気に入りに追加"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "履歴から除去"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "再生リストに追加"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Music から音楽を配信"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "保守管理者"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "デザイナー"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "maboroshin"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "pc.genkaku.in"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music 用の非公式 API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "説明なし"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "タイトルなし"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "アルバムなし"
+582
View File
@@ -0,0 +1,582 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-30 05:19+0100\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.4.1\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"გაშვებულია ytmusicapi %1-ის დაუტესტავი ვერსიით. თუ შეცდომებს გადააწყდებით, "
"მიწერეთ თქვენი დისტრიბუტივის მომწოდებელ კომპანიას."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "დაკვრა"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "შემთხვევით"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "რიგის ბოლოში მიწერა"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "ბრაუზერში გახსნა"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "გაზიარება"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "ალბომი • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "მეტი"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "რადიო"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "შემსრულებელი"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"ვიდეოს დაკვრა ჯერ მხარდაჭერილი არაა. გნებავთ \"%1\"-ის მხოლოდ ხმა დავუკრა?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "ალბომები"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "სინგლები"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "სიმღერები"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "ვიდეო"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "კარგი"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "გაუქმენა"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "დასაკრავი სიაში დამატება"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "დასაკრავი სიის სათაური"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "დასაკრავი სიის აღწერა"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "დასაკრავი სიის შემოტანა"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "დასაკრავი სიის ბმული (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "სიმღერის დასაკრავ სიაში ჩამატება"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "ახალი დასაკრავი სია"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "დასაკრავი სიის სახელის გადარქმევა"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "რჩეულები"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "ყველას ჩვენება"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "რჩეულების გარეშე"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "ხშირად დაკრულები"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "დაკრული სიმღერები"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "სიმღერები ჯერ არ დაგიკრავთ"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "დასაკრავი სიები"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "დასაკრავი სიების გარეშე"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "გადარქმევა"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "წაშლა"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "დასაკრავი სიიდან წაშლა"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "ეს დასაკრავი სია ჯერ კიდევ ცარიელია"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "დასაკრავი სიის შემოტანა"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "მთელ ეკრანზე გაშლილი დამკვრელის დახურვა"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "რჩეულებიდან წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "რჩეულებში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "ხმის დახატვის გახსნა"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "ხმის ჩართვა"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "ხმის დადუმება"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "ლირიკის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "ლირიკის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "სიმღერის გაზიარება"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "ლოკალურ დასაკრავ სიაში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "რიგის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "რიგის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "აუდიობილიკის წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "რიგის გასუფთავება"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "შემთხვევით"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "მომავალი სიმღერები"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "ბიბლიოთეკა"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "ძებნა"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "უცნობი სიმღერების სია"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "აქ ჯერ სიმღერები არაა"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "დასაკრავი სიის შემოტანა წარმატებულია"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "დასაკრავი სია"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "ძებნის ისტორიიდან წაშლა"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "წინა ძებნები:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "შემსრულებლები"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "საუკეთესო შედეგები"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "უცნობი"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "წინა ძებნებს არ ემთხვევა"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "გაზიარება"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "ბმულის კოპირება"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "ბმული დაკოპირებულია"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "შესახებ"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "გვერდითი ზოლის ჩაკეცვა"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "შემდეგის დაკვრა"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "რიგში ჩამატება"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "რჩეულის წაშლა"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "რჩეულის დამატება"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "ისტორიიდან წაშლა"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "დასაკრავ სიაში დამატება"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "დასტრიმეთ მუსიკა YouTube Music-დან"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "წამყვანი პროგრამისტი"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "დიზაინერი"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Temuri Doghonadze"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music-ის არაოფიციალური API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "აღწერის გარეშე"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "სათაურის გარეშე"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "ალბომის გარეშე"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube-ის მუსიკის დამკვრელი"
#~ msgid "Export"
#~ msgstr "გატანა"
#~ msgid "Import Playlist from Url"
#~ msgstr "დასაკრავი სიის შემოტანა ბმულით"
#~ msgid "Import Playlist from File"
#~ msgstr "დასაკრავი სიის შემოტანა ფაილიდან"
#~ msgid "Export Playlist"
#~ msgstr "დასაკრავი სიის გატანა"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 დასაკრავი სიის ფაილი (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "დასაკრავი სიების შემოტანა"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 დასაკრავი სიის ფაილები (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "შენახვის შეცდომა"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "%1-ის შემოტანის შეცდომა"
#~ msgid "Clear Playlist"
#~ msgstr "დასაკრავი სიის გასუფთავება"
#~ msgid "played Songs"
#~ msgstr "დაკრული სიმღერები"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "მიმდინარეობს დაკვრა"
#~ msgid "Back"
#~ msgstr "უკან"
#~ msgid "Play next"
#~ msgstr "შემდეგის დაკვრა"
+585
View File
@@ -0,0 +1,585 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Shinjo Park <[email protected]>, 2021, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-07-18 13:25+0200\n"
"Last-Translator: Shinjo Park <[email protected]>\n"
"Language-Team: Korean <[email protected]>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"테스트되지 않은 ytmusicapi %1 버전을 사용하고 있습니다. 오류가 발생했다면 배"
"포판에 보고해 주십시오."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "재생"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "무순서 재생"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "대기열에 추가"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "브라우저로 열기"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "공유"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "앨범 • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "더 보기"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "라디오"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "아티스트"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "비디오 재생은 지원하지 않습니다. \"%1\"의 오디오만 재생하시겠습니까?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "앨범"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "싱글"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "곡"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "비디오"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "확인"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "취소"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "재생 목록 추가"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "재생 목록 제목"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "재생 목록 설명"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "재생 목록 가져오기"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "재생 목록 URL(YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "재생 목록에 곡 추가"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "새 재생 목록"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "재생 목록 이름 바꾸기"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "책갈피"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "모두 표시"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "책갈피에 등록된 항목 없음"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "가장 많이 재생됨"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "재생한 노래"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "재생한 곡 없음"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "재생 목록"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "재생 목록 없음"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "이름 바꾸기"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "삭제"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "재생 목록에서 삭제"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "재생 목록이 비어 있습니다"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "재생 목록 가져오기"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "재생 중인 곡 없음"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "최대화된 재생기 닫기"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "재생 중인 미디어 없음"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "책갈피에서 삭제"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "책갈피에 추가"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "음량 서랍 열기"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "오디오 음소거 해제"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "오디오 음소거"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "가사 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "가사 표시"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "노래 공유"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "로컬 재생 목록에 추가"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "대기열 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "대기열 표시"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "트랙 삭제"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "대기열 비우기"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "대기열 무순서 재생"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "다음에 재생될 곡"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "라이브러리"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "검색"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "알 수 없는 노래 목록"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "목록에 등록된 곡 없음"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "재생 목록을 가져왔습니다"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "재생 목록"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "검색 기록에서 삭제"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "이전 검색:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "아티스트"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "상위 결과"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "일치하는 이전 검색 없음"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "다음으로 공유"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "링크 복사"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "클립보드에 링크 복사됨"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "정보"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "사이드바 접기"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "다음 재생"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "대기열에 추가"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "책갈피 삭제"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "책갈피에 추가"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "과거 기록에서 삭제"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "재생 목록에 추가"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Music 비공식 API"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "관리자"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "디자이너"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "박신조"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music 비공식 API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "설명 없음"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "제목 없음"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "앨범 없음"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube Music 재생기"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "재생 목록"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "재생 목록"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Export Playlist"
#~ msgstr "재생 목록"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Import Playlists"
#~ msgstr "재생 목록"
#~ msgid "Clear Playlist"
#~ msgstr "재생 목록 비우기"
#, fuzzy
#~| msgid "Played Songs"
#~ msgid "played Songs"
#~ msgstr "재생한 노래"
#~ msgid "Now Playing"
#~ msgstr "지금 재생 중"
#~ msgid "Back"
#~ msgstr "뒤로"
#~ msgid "Play next"
#~ msgstr "다음 재생"
#~ msgid "Clear"
#~ msgstr "지우기"
#~ msgid "Pause"
#~ msgstr "일시 정지"
#~ msgid "Expand"
#~ msgstr "확장"
#~ msgid "Play only Audio"
#~ msgstr "오디오만 재생"
+530
View File
@@ -0,0 +1,530 @@
# Lithuanian translations for audiotube package.
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Automatically generated, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-02-23 00:57+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n"
"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr ""
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr ""
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr ""
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr ""
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr ""
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr ""
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr ""
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr ""
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr ""
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr ""
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr ""
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr ""
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr ""
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr ""
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr ""
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr ""
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr ""
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
+594
View File
@@ -0,0 +1,594 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# SPDX-FileCopyrightText: 2021, 2022, 2023 Freek de Kruijf <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 23:15+0100\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Uitvoeren met ongeteste versie van ytmusicapi %1. Als u fouten ervaart, "
"rapporteer deze aan uw distributie."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Afspelen"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Willekeurig afspelen"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Achter aan wachtrij toevoegen"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "In browser openen"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Delen"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Meer"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artiest"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Afspelen van video wordt nog niet ondersteund. Wilt u alleen het geluid van "
"\"%1\" afspelen?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Enkelvoudige"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Video's"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Annuleren"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Aan afspeellijst toevoegen"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Titel van afspeellijst"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Beschrijving van afspeellijst"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Afspeellijst importeren"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL van afspeellijst (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Song aan afspeellijst toevoegen"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nieuwe afspeellijst"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Afspeellijst hernoemen"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favorieten"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Alles tonen"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Nog geen favorieten"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Meest afgespeeld"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Afgespeelde songs"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nog geen songs afgespeeld"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Afspeellijsten"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Nog geen afspeellijst"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Hernoemen"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Verwijderen"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Uit afspeellijst verwijderen"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Deze afspeellijst is nog leeg"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Afspeellijst importeren"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Er speelt geen song"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Gemaximaliseerde speler sluiten"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Er speelt geen medium"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Uit favorieten verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Aan favorieten toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Volume lader openen"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Dempen van geluid opheffen"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Geluid dempen"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedteksten verbergen"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Liedteksten tonen"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Songs delen"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Aan een lokale afspeellijst toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Wachtrij verbergen"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Wachtrij tonen"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Track verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Wachtrij wissen"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Wachtrij voor willekeurig afspelen"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Aankomende songs"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Bibliotheek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Zoeken"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Onbekende lijst met songs"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Er zijn hier nog geen songs"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Afspeellijst met succes geïmporteerd"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Afspeellijst"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "uit zoekgeschiedenis verwijderen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Vorige zoekopdrachten:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artiesten"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Top resultaten"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Onbekend"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Geen overeenkomende vorige zoekopdrachten"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Delen (share) naar"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Koppeling kopiëren"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Koppeling gekopieerd naar klembord"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Info over"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Zijbalk invouwen"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Volgende afspelen"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Aan wachtrij toevoegen"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Favoriet verwijderen"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Favoriet toevoegen"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Uit geschiedenis verwijderen"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Aan afspeellijst toevoegen"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Muziek streamen van YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-gemeenschap"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Onderhouder"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Ontwerper"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Freek de Kruijf - 2021 t/m 2023"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Niet officiële API voor YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Geen beschrijving"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Geen titel"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Geen album"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube muziekspeler"
#~ msgid "Export"
#~ msgstr "Exporteren"
#~ msgid "Import Playlist from Url"
#~ msgstr "Afspeellijst uit URL importeren"
#~ msgid "Import Playlist from File"
#~ msgstr "Afspeellijst uit bestand importeren"
#~ msgid "Export Playlist"
#~ msgstr "Afspeellijst exporteren"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 afspeellijstbestand (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Afspeellijsten importeren"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 afspeellijstbestand (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Opslaan is mislukt"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Importeren van %1 is mislukt"
#~ msgid "Clear Playlist"
#~ msgstr "Afspeellijst wissen"
#~ msgid "played Songs"
#~ msgstr "afgespeelde songs"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Speelt nu"
#~ msgid "Back"
#~ msgstr "Terug"
#~ msgid "Play next"
#~ msgstr "Volgende afspelen"
#~ msgid "Clear"
#~ msgstr "Wissen"
#~ msgid "Pause"
#~ msgstr "Pauzeren"
#~ msgid "Expand"
#~ msgstr "Uitbreiden"
#~ msgid "Play only Audio"
#~ msgstr "Alleen geluid afspelen"
+532
View File
@@ -0,0 +1,532 @@
# Translation of audiotube to Norwegian Nynorsk
#
# Øystein Steffensen-Alværvik <[email protected]>, 2022.
# Karl Ove Hufthammer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-08-24 21:35+0200\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.3\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Spel av"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Stokk om"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Legg i avspelingskøen"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Opna i nettlesar"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Del"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Meir"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Videoavspeling er endå ikkje støtta. Vil du spela av lyden til «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singelplater"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Songar"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videoar"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Avbryt"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Legg til i speleliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Namn på speleliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Skildring av speleliste"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importer speleliste"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Speleliste-URL (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Legg song til speleliste"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Ny speleliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Endra namn på speleliste"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favorittar"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Vis alle"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Ingen favorittar enno"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Oftast avspela"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Avspela songar"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ingen avspela songar enno"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Spelelister"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Ingen spelelister enno"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Endra namn"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Slett"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Fjern frå speleliste"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Spelelista er framleis tom"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importer speleliste"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Ingen song vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Lukk maksimert spelar"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Inkje medium vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Fjern frå favorittar"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Merk som favoritt"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Opna lydstyrke-skuff"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Slå av lyddemping"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Demp lyd"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Gøym songtekst"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Vis songtekst"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Del song"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Legg til i lokal speleliste"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Gøym avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Vis avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Fjern spor"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Tøm avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Stokk om på avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Framtidige songar"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Bibliotek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Søk"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Ukjend songliste"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ingen songar enno"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Spelelista vart importert"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Speleliste"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "Fjern frå søkjeloggen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Tidlegare søk:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistar"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Ingen samsvarande tidlegare søk"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Del til"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopier lenkje"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Lenkje kopiert til utklippstavla"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Om"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Fald saman sidestolpe"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Spel som neste"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Legg i avspelingskøen"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Fjern frå favorittar"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Legg til favorittar"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Fjern frå loggen"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Legg til i speleliste"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-fellesskapet"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Vedlikehaldar"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designar"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected],[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Inga skildring"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Utan tittel"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Ingen album"
+594
View File
@@ -0,0 +1,594 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# A S Alam <[email protected]>, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2022-01-01 09:11-0800\n"
"Last-Translator: A S Alam <[email protected]>\n"
"Language-Team: Punjabi <[email protected]>\n"
"Language: pa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.04.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "ਚਲਾਓ"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "ਰਲਵੇਂ"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "ਰੇਡੀਓ"
#: contents/ui/ArtistPage.qml:105
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "ਵਿਡੀਓ ਪਲੇਅਬੈਕ ਹਾਲੇ ਸਹਾਇਕ ਨਹੀਂ ਹੈ। ਕੀ ਤੁਸੀਂ \"%1\" ਦਾ ਆਡੀਓ ਹੀ ਚਲਾਉਣਾ ਚਾਹੋਗੇ?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "ਐਲਬਮਾਂ"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "ਇਕੱਲੇ"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "ਗੀਤ"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "ਵਿਡੀਓ"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "ਠੀਕ ਹੈ"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Title"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Description"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Import playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist URL (Youtube)"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add Song to Playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Rename playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LibraryPage.qml:435
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "ਆਡੀਓ-ਟਿਊਬ"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "ਟਰੈਕ ਨੂੰ ਹਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Clear"
msgid "Clear Queue"
msgstr "ਮਿਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "ਰਲਵੇਂ"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "ਖੋਜੋ"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "ਅਣਪਛਾਤਾ"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "ਅਗਲਾ ਚਲਾਓ"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "alam yellow @ gmail.com"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
#: playlistimporter.cpp:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#~ msgid "Play next"
#~ msgstr "ਅਗਲਾ ਚਲਾਓ"
#~ msgid "Pause"
#~ msgstr "ਵਿਰਾਮ"
#~ msgid "Expand"
#~ msgstr "ਫੈਲਾਓ"
#~ msgid "Play only Audio"
#~ msgstr "ਸਿਰਫ਼ ਆਡੀਓ ਹੀ ਚਲਾਓ"
+587
View File
@@ -0,0 +1,587 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Łukasz Wojniłowicz <[email protected]>, 2021, 2022, 2023.
# Ignacy Kajdan <[email protected]>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 09:28+0100\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 23.04.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Uruchomiono na niesprawdzonej wersji ytmusicapi %1. Jeśli doświadczasz "
"błędów, to zgłoś je swojej dystrybucji."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Odtwórz"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Wymieszaj"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Dodaj do kolejki"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Otwórz w przeglądarce"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Udostępnij"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Więcej"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Wykonawca"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Odtwarzanie wideo nie jest jeszcze obsługiwane. Czy odtworzyć tylko dźwięk z "
"„%1”?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumy"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Piosenki"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Filmy"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Anuluj"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Dodaj do listy odtwarzania"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Tytuł listy odtwarzania"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Opis listy odtwarzania"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Zaimportuj listę odtwarzania"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Adres URL listy odtwarzania (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Usuń do listy odtwarzania"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nowa lista odtwarzania"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Przemianuj listę odtwarzania"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Ulubione"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Pokaż wszystkie"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Nie ma jeszcze żadnych ulubionych"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Najczęściej odtwarzane"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Odtwarzane utwory"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Jeszcze nie odtworzono żadnego utworu"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listy odtwarzania"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Nie ma jeszcze żadnej listy odtwarzania"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Przemianuj"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Usuń"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Usuń z listy odtwarzania"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Lista odtwarzania nadal jest pusta"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Zaimportuj listę odtwarzania"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nie jest odtwarzana żadna piosenka"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Zamknij zmaksymalizowany odtwarzacz"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nic nie jest odtwarzane"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Usuń z ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Dodaj do ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otwórz szufladę głośności"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Usuń wyciszenie dźwięku"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Wycisz dźwięk"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Ukryj słowa"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Pokaż słowa"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Udostępnij utwór"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj do miejscowej listy odtwarzania"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Ukryj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Pokaż kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Usuń utwór"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Wyczyść kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Wymieszaj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Nadchodzące utwory"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteka"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Szukaj"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Nieznana lista utworów"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Jeszcze nie ma tutaj utworów"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Pomyślnie zaimportowano listy odtwarzania"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "usuń z historii wyszukiwania"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Poprzednie wyszukiwania:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Wykonawcy"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Szczytowe wyniki"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Udostępnij"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Skopiuj odnośnik"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Skopiowano odnośnik do schowka"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "O programie"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Zwiń pasek boczny"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Odtwórz następny"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Dodaj do kolejki"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Usuń z ulubionych"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Dodaj do ulubionych"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Usuń z historii"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Dodaj do listy odtwarzania"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Strumieniuj muzykę z Muzyki YouTube"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Społeczność KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Opiekun"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Projektant"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Nieoficjalne API do Muzyki YouTube"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Brak opisu"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Nienazwane"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Nie ma żadnego albumu"
#~ msgid "YouTube Music Player"
#~ msgstr "Odtwarzacz muzyki YouTube"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Zaimportuj listę odtwarzania"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Zaimportuj listę odtwarzania"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Zaimportuj listę odtwarzania"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Zaimportuj listę odtwarzania"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Clear Playlist"
#~ msgstr "Lista odtwarzania"
#~ msgid "played Songs"
#~ msgstr "odtworzone utwory"
#~ msgid "Now Playing"
#~ msgstr "Teraz odtwarzany"
#~ msgid "Back"
#~ msgstr "Wstecz"
#~ msgid "Play next"
#~ msgstr "Odtwórz następny"
#~ msgid "Clear"
#~ msgstr "Wyczyść"
#~ msgid "Pause"
#~ msgstr "Wstrzymaj"
#~ msgid "Expand"
#~ msgstr "Rozwiń"
#~ msgid "Play only Audio"
#~ msgstr "Odtwórz tylko dźwięk"
+569
View File
@@ -0,0 +1,569 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-07-08 12:56+0100\n"
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
"Language-Team: Portuguese <[email protected]>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-POFile-SpellExtra: Singles AudioTube YouTube Music Jonah Brüchert Mathis\n"
"X-POFile-IgnoreConsistency: Singles\n"
"X-POFile-SpellExtra: ytmusicapi\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"A executar com uma versão não testada do 'ytmusicapi' %1. Se ocorrerem "
"alguns erros, por favor comunique-os à sua distribuição."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Baralhar"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Adicionar à fila"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no Navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Partilhar"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Mais"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Álbuns"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "'Singles'"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Adicionar à lista de reprodução"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Título da Lista de Reprodução"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descrição da Lista de Reprodução"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importar uma lista de reprodução"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL da Lista de Reprodução (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Adicionar a Música à Lista"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nova Lista de Reprodução"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Mudar o nome da lista de reprodução"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoritos"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostrar Tudo"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Ainda sem Favoritos"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Mais Tocadas"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Músicas Tocadas"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ainda sem Músicas Reproduzidas"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listas de Reprodução"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Ainda sem Listas de Reprodução"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Mudar o Nome"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Apagar"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Remover da Lista de Reprodução"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta lista de reprodução continua vazia"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importar uma Lista de Reprodução"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nada em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Fechar o Leitor Maximizado"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nada em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Remover dos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Adicionar aos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir a Área do Volume"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Repor o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Esconder as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Partilhar a Música"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar a uma lista de reprodução local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Esconder a Fila"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostrar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Remover a Faixa"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Limpar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Baralhar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas Músicas"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Procurar"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de músicas desconhecida"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ainda sem músicas aqui"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "A lista de reprodução foi importada com sucesso"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisas"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pesquisas Anteriores:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Resultados de Topo"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Sem pesquisas anteriores correspondentes"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Partilhar em"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copiar a Ligação"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligação copiada para a área de transferência"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Acerca"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Fechar a Barra Lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproduzir o Seguinte"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Adicionar à fila"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Remover o Favorito"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Adicionar aos Favoritos"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Remover do Histórico"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Adicionar à lista de reprodução"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "API não oficial do YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 de Jonah Brüchert, 2021-2023 da Comunidade do KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Manutenção"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Desenhador"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "José Nuno Pires"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Sem título"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Sem álbum"
#~ msgid "YouTube Music Player"
#~ msgstr "Leitor de Música do YouTube"
#~ msgid "Export"
#~ msgstr "Exportar"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importar uma Lista de Reprodução de um URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importar uma Lista de Reprodução de um Ficheiro"
#~ msgid "Export Playlist"
#~ msgstr "Exportar a Lista de Reprodução"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Ficheiro de Lista de Reprodução m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importar Listas de Reprodução"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Ficheiros de Lista de Reprodução m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Não Foi Possível Gravar"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Não Foi Possível Importar a %1"
+592
View File
@@ -0,0 +1,592 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Luiz Fernando Ranghetti <[email protected]>, 2021, 2022, 2023.
# Thiago Masato Costa Sueto <[email protected]>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-08 15:45-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
"Language-Team: Brazilian Portuguese <[email protected]>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 22.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Executando uma versão não testada do ytmusicapi %1. Se você tiver erros, "
"comunique-os à sua distribuição."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Embaralhar"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Anexar à fila"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no navegador"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Compartilhar"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Mais"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Álbuns"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Vídeos"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Adicionar à lista de músicas"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Título da lista de músicas"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Descrição da listas de músicas"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importar lista de músicas"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL da lista de músicas (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Adicionar música à lista de músicas"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Nova lista de músicas"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Renomear lista de músicas"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Mostrar tudo"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Nenhuma favorita ainda"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Mais reproduzidas"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Músicas reproduzidas"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nenhuma música reproduzida ainda"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Listas de músicas"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Nenhuma lista de músicas ainda"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Renomear"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Excluir"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Remover da lista de músicas"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta lista de música está vazia"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importar lista de músicas"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nenhuma música em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Fechar reprodutor maximizado"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nenhuma mídia em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Remover dos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Adicionar aos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir gaveta de volume"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Ativar som"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Desativar som"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letras"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letras"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Compartilhar música"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar à lista de músicas local"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar fila"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Mostrar fila"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Remover faixa"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Limpar fila"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Embaralhar fila"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas músicas"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Pesquisar"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de músicas desconhecida"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Nenhuma música ainda"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de músicas importada com sucesso"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Lista de músicas"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisa"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pesquisas anteriores:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Principais resultados"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Nenhuma pesquisa anterior correspondente"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Compartilhar para"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Copiar link"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Link copiado para a área de transferência"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Sobre"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Recolher barra lateral"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Reproduzir próxima"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Adicionar à fila"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Remover das favoritas"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Adicionar favorita"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Remover do histórico"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Adicionar à lista de músicas"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Transmita música do YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunidade KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Mantenedor"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Luiz Fernando Ranghetti"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Nenhuma música"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Nenhum álbum"
#~ msgid "YouTube Music Player"
#~ msgstr "Reprodutor de músicas do Youtube"
#~ msgid "Export"
#~ msgstr "Exportar"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importar lista de músicas da URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importar lista de músicas do arquivo"
#~ msgid "Export Playlist"
#~ msgstr "Exportar lista de músicas"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Arquivo de lista de músicas m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importar listas de músicas"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Arquivos de lista de músicas m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Falha ao salvar"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Falha ao importar %1"
#~ msgid "Clear Playlist"
#~ msgstr "Limpar lista de músicas"
#~ msgid "played Songs"
#~ msgstr "músicas reproduzidas"
#~ msgid "Now Playing"
#~ msgstr "Reproduzindo agora"
#~ msgid "Back"
#~ msgstr "Voltar"
#~ msgid "Play next"
#~ msgstr "Reproduzir próxima"
#~ msgid "Clear"
#~ msgstr "Limpar"
#~ msgid "Pause"
#~ msgstr "Pausar"
#~ msgid "Expand"
#~ msgstr "Expandir"
#~ msgid "Play only Audio"
#~ msgstr "Reproduzir apenas áudio"
+572
View File
@@ -0,0 +1,572 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Alexander Yavorsky <[email protected]>, 2022, 2023.
# Olesya Gerasimenko <[email protected]>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-13 16:08+0300\n"
"Last-Translator: Olesya Gerasimenko <[email protected]>\n"
"Language-Team: Basealt Translation Team\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 23.04.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Программа работает с непроверенной версией ytmusicapi %1. Если возникнут "
"ошибки, сообщите о них авторам дистрибутива."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Воспроизвести"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Перемешать"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Добавить в очередь воспроизведения"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Открыть в браузере"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Поделиться"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Дополнительно"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Радио"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Исполнитель"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Воспроизведение видео пока не поддерживается. Воспроизвести звук трека «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Альбомы"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Синглы"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Треки"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Видеозаписи"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "ОК"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Отмена"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Создание списка воспроизведения"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Название"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Описание"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Импорт списка воспроизведения"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL-адрес списка воспроизведения (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Добавление трека в список воспроизведения"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Создать список воспроизведения"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Переименовать список воспроизведения"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Избранное"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Показать все"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "В избранное ещё ничего не добавлено"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Часто воспроизводимые"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Воспроизведённые треки"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Пока ничего не воспроизводилось"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Списки воспроизведения"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Пока нет ни одного списка воспроизведения"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Переименовать"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Удалить"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Удалить из списка воспроизведения"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Список воспроизведения всё ещё пуст"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Импорт списка воспроизведения"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Ничего не воспроизводится"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Закрыть развёрнутый проигрыватель"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Ничего не воспроизводится"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Убрать из избранного"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Добавить в избранное"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Открыть выдвижную панель громкости"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Включить звук"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Отключить звук"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Скрыть текст"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Показать текст"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Опубликовать трек"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Добавить в локальный список воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Скрыть очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Показать очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Удалить дорожку"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Очистить очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Перемешать очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Следующие треки"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Библиотека"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Поиск"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Неизвестный список треков"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Пока нет ни одного трека"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Список воспроизведения успешно импортирован"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Список воспроизведения"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "Удалить из истории поиска"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Предыдущие поисковые запросы:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Исполнители"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Лучшие результаты"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Неизвестный тип"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Выбор способа публикации"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Копировать адрес ссылки"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ссылка скопирована в буфер обмена"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "О программе"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Свернуть боковую панель"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Воспроизвести следующим"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Добавить в очередь воспроизведения"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Убрать из избранного"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Добавить в избранное"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Удалить из журнала"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Добавить в список воспроизведения"
#: main.cpp:74
#, fuzzy, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Неофициальный API для YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 сообщество KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Сопровождающий"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Александр Яворский, Павел Чернышов, Мария Шикунова"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected], [email protected]"
#: main.cpp:86
#, fuzzy, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Неофициальный API для YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Описание отсутствует"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Название отсутствует"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Альбом отсутствует"
#~ msgid "YouTube Music Player"
#~ msgstr "Музыкальный проигрыватель YouTube"
#, fuzzy
#~ msgid "Import Playlist from Url"
#~ msgstr "Список воспроизведения"
#, fuzzy
#~ msgid "Import Playlist from File"
#~ msgstr "Список воспроизведения"
#, fuzzy
#~ msgid "Export Playlist"
#~ msgstr "Список воспроизведения"
#, fuzzy
#~ msgid "Import Playlists"
#~ msgstr "Список воспроизведения"
#, fuzzy
#~ msgid "Clear Playlist"
#~ msgstr "Список воспроизведения"
#~ msgid "played Songs"
#~ msgstr "Воспроизведённые треки"
#~ msgid "Now Playing"
#~ msgstr "Текущий трек"
#~ msgid "Back"
#~ msgstr "Назад"
#~ msgid "Clear"
#~ msgstr "Очистить"
#~ msgid "Pause"
#~ msgstr "Приостановить"
+585
View File
@@ -0,0 +1,585 @@
# translation of audiotube.po Slovak
# Roman Paholik <[email protected]>, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2022-04-07 18:01+0200\n"
"Last-Translator: Roman Paholik <[email protected]>\n"
"Language-Team: Slovak <[email protected]>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 21.12.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Prehrať"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Zamiešať"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:105
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "Interpreti"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumy"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videá"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Zrušiť"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Title"
msgstr "Zoznamy skladieb"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist Description"
msgstr "Zoznamy skladieb"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Import playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist URL (Youtube)"
msgstr "Zoznamy skladieb"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add Song to Playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Rename playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:435
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "No song playing"
msgstr "Neprehráva sa žiadne médium"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Neprehráva sa žiadne médium"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "Zoznamy skladieb"
#: contents/ui/MaximizedPlayerPage.qml:428
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:692
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:987
#, fuzzy, kde-format
#| msgid "Clear"
msgid "Clear Queue"
msgstr "Vyčistiť"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Zamiešať"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Hľadať"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Interpreti"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Neznáme"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, fuzzy, kde-format
#| msgid "Play"
msgid "Play Next"
msgstr "Prehrať"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "Pridať do zoznamu skladieb"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Roman Paholík"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:22
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "Zoznamy skladieb"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "Neprehráva sa žiadne médium"
#~ msgid "Pause"
#~ msgstr "Pozastaviť"
#~ msgid "Expand"
#~ msgstr "Rozvinúť"
+593
View File
@@ -0,0 +1,593 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Matjaž Jeran <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-30 06:36+0100\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Generator: Poedit 3.4\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Poganjanje netestirane različice ytmusicapi %1. Če ste izkusili napako, jo "
"poročajte vaši distribuciji."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Predvajaj"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Premešaj"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Dodaj v v čakalno vrsto"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Odpri v brskalniku"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Deli"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Več"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Avtor"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Video playback še ni podprt. Ali želite predvajati samo zvok \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albumi"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singli"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Glasba"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videposnetki"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "V redu"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Prekliči"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Dodaj seznam predvajanja"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Naslov seznama predvajanja"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Opis seznama predvajanja"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Uvozi seznam predvajanja"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "URL naslov seznama predvajanja (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Dodaj pesem v seznam predvajanja"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Novi seznam predvajanja"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Preimenuj seznam predvajanja"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Priljubljene"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Prikaži vse"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Še ni nobenih priljubljenih"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Največkrat predvajane"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Predvajane pesmi"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Še ni nobene predvajane pesmi"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Seznami predvajanja"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Še ni nobenega seznama predvajanja"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Preimenuj"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Zbriši"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Odstrani iz seznama predvajanja"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Ta seznam predvajanja je še prazen"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Uvozi seznam predvajanja"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Nobene pesmi se ne predvaja"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Zapri maksimiziran predvajalnik"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Nič se ne predvaja"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Odstrani iz priljubljenih"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Dodaj med priljubljene"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Odpri predal glasnosti"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Povrni zvok"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Utišaj"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrij besedila"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Prikazuj besedila"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Deli pesem"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj v lokalni seznam predvajanja"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Skrij čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Prikazuj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Odstrani sled"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Počisti čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Premešaj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Prihajajoče pesmi"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Knjižnica"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Išči"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Neznan seznam pesmi"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Tu še ni nobene pesmi"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Seznam pesmi uspešno uvožen"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Seznam predvajanja"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "odstrani iz zgodovine iskanj"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Prejšnja iskanja:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Avtorji"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Najboljši rezultati"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Neznano"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Ni zadetkov iz prejšnjih iskanj"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Deli z"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopiraj povezavo"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Povezava skopirana na odložišče"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "O programu"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Strni stransko vrstico"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Predvajaj naslednjo"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Dodaj v v čakalno vrsto"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Odstrani priljubljenega"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Dodaj priljubljenega"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Odstrani iz zgodovine"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Dodaj v seznam predvajanja"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Pretočna glasba iz storitve YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Skupnost KDE"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Vzdrževalec"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Oblikovalec"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Matjaž Jeran"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Neuradni API za Youtube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Ni opisa"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Ni naslova"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Ni albuma"
#~ msgid "YouTube Music Player"
#~ msgstr "Predvajalnik glasbe YouTube"
#~ msgid "Export"
#~ msgstr "Izvozi"
#~ msgid "Import Playlist from Url"
#~ msgstr "Uvozi seznam predvajanja iz Url"
#~ msgid "Import Playlist from File"
#~ msgstr "Uvozi seznam predvajanja iz datoteke"
#~ msgid "Export Playlist"
#~ msgstr "Izvozi seznam predvajanja"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 Seznam predvajanja (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Uvozi sezname predvajanja"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 Seznami predvajanja (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Shranjevanje ni uspelo"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Neuspelo uvažanje %1"
#~ msgid "Clear Playlist"
#~ msgstr "Očisti seznam predvajanja"
#~ msgid "played Songs"
#~ msgstr "predvajane pesmi"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Pravkar predvajano"
#~ msgid "Back"
#~ msgstr "Nazaj"
#~ msgid "Play next"
#~ msgstr "Predvajaj naslednjo"
#~ msgid "Clear"
#~ msgstr "Očisti"
#~ msgid "Pause"
#~ msgstr "Premor"
#~ msgid "Expand"
#~ msgstr "Razširi"
#~ msgid "Play only Audio"
#~ msgstr "Predvajaj samo zvok"
+585
View File
@@ -0,0 +1,585 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Stefan Asserhäll <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-11-01 07:21+0100\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.3\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Kör med en oprövad version av ytmusicapi %1. Om du råkar ut för fel, "
"rapportera dem till din distribution."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Spela"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Blanda"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Lägg till i kö"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Öppna i webbläsare"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Dela"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Mer"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Videouppspelning stöds inte ännu. Vill du bara spela ljudet på \"%1\"?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singlar"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Låtar"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videor"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Ok"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Avbryt"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Lägg till spellista"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Spellistans titel"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Spellistans beskrivning"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Importera spellista"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Spellistans webbadress (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Lägg till låt i spellista"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Ny spellista"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Byt namn på spellista"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Favoriter"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Visa alla"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Inga favoriter nu"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Mest spelade"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Spelade låtar"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Inga låtar spelade ännu"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Spellistor"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Inga spellistor ännu"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Byt namn"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Ta bort"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Ta bort från spellista"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Spellistan är fortfarande tom"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Importera spellista"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Ingen låt spelas"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Stäng maximerad spelare"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Inga media spelar"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Ta bort från favoriter"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Lägg till i favoriter"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Öppna volymlåda"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Ljud på"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Tysta ljud"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Dölj Sångtext"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Visa sångtext"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Dela låt"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Lägg till i lokal spellista"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Dölj kö"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Visa kö"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Ta bort spår"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Rensa kö"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Blanda kö"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Kommande låtar"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Bibliotek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Sök"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Okänd låtlista"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Inga låtar här ännu"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Spellista importerad med lyckat resultat"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Spellista"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "ta bort från sökhistorik"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Föregående sökningar:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Artister"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Inga matchande tidigare sökningar"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Dela med"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Kopiera länk"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Länk kopierad till klippbordet"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Om"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Dra ihop sidorad"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Spela nästa"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Lägg till i kö"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Ta bort favorit"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Lägg till favorit"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Ta bort från historik"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Lägg till i spellista"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Strömma musik från YouTube musik"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-gemenskapen"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Underhåll"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Stefan Asserhäll"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Inofficiellt programmeringsgränssnitt för YouTube musik"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Ingen beskrivning"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Namnlös"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Inget album"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube musikspelare"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "Spellistor"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "Spellistor"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "Spellistor"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "Spellistor"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "Spellistor"
#, fuzzy
#~| msgid "Played Songs"
#~ msgid "played Songs"
#~ msgstr "Spelade låtar"
#~ msgid "Now Playing"
#~ msgstr "Spelar nu"
#~ msgid "Back"
#~ msgstr "Bakåt"
#~ msgid "Play next"
#~ msgstr "Spela nästa"
#~ msgid "Clear"
#~ msgstr "Rensa"
#~ msgid "Pause"
#~ msgstr "Paus"
#~ msgid "Expand"
#~ msgstr "Expandera"
#~ msgid "Play only Audio"
#~ msgstr "Spela bara ljud"
+591
View File
@@ -0,0 +1,591 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# SPDX-FileCopyrightText: 2022, 2023 Emir SARI <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 14:02+0300\n"
"Last-Translator: Emir SARI <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"ytmusicapi %1 denenmemiş sürümüyle çalışıyor. Hatalarla karşılaşırsanız "
"lütfen bunları dağıtımınıza bildirin."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Çal"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Karıştır"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Kuyruğa iliştir"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Tarayıcıda Aç"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Paylaş"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Albüm • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Daha Fazla"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Radyo"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Sanatçı"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Video oynatımı henüz desteklenmiyor. \"%1\" videosunun yalnızca sesinin "
"çalınmasını ister misiniz?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Albümler"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Tekliler"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Şarkılar"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Videolar"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Tamam"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "İptal"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Çalma listesi ekle"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Çalma Listesi Başlığı"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Çalma Listesi Açıklaması"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Çalma listesi içe aktar"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Çalma Listesi URL'si (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Çalma Listesine Şarkı Ekle"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Yeni Çalma Listesi"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Çalma Listesini Yeniden Adlandır"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Beğeniler"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Tümünü Göster"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Henüz Beğeni Yok"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "En Çok Çalınanlar"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Çalınan Şarkılar"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Henüz Şarkı Çalınmamış"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Çalma Listeleri"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Çalma Listesi Yok"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Yeniden Adlandır"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Sil"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Çalma Listesinden Kaldır"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Bu çalma listesi hâlâ boş"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Çalma Listesi İçe Aktar"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Çalan şarkı yok"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Büyütülmüş Çaları Kapat"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Ortam çalmıyor"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Beğenilerden Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Beğenilere Ekle"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ses Düzeyi Çekmecesini Aç"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Sesi Aç"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Sesi Kapat"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%​%1"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Şarkı Sözlerini Gizle"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Şarkı Sözlerini Göster"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Şarkıyı Paylaş"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Yerel bir çalma listesine ekle"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Kuyruğu Gizle"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Kuyruğu Göster"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Parçayı Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Kuyruğu Temizle"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Kuyruğu Karıştır"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Sıradaki Şarkılar"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Kitaplık"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Ara"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Bilinmeyen şarkılar listesi"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Burada henüz şarkı yok"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Çalma listesi başarıyla içe aktarıldı"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Çalma Listesi"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "arama geçmişinden kaldır"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Önceki Aramalar:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Sanatçılar"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "En İyi Sonuçlar"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Bilinmiyor"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Daha önceden yapılmış eşleşen arama yok"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Paylaşılacak konum"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Bağlantıyı Kopyala"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Bağlantı panoya kopyalandı"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Hakkında"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Kenar Çubuğunu Daralt"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Sonrakini Çal"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Kuyruğa ekle"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Beğenilerden Kaldır"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Beğenilere Ekle"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Geçmişten Kaldır"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Çalma listesine ekle"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Müzik'ten müzik çal"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Topluluğu"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Bakımcı"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Tasarımcı"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Emir SARI"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Müzik için resmi olmayan API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Açıklama yok"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Başlık yok"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Albüm yok"
#~ msgid "YouTube Music Player"
#~ msgstr "YouTube Müzik Çaları"
#~ msgid "Export"
#~ msgstr "Dışa Aktar"
#~ msgid "Import Playlist from Url"
#~ msgstr "URL'den Çalma Listesi İçe Aktar"
#~ msgid "Import Playlist from File"
#~ msgstr "Dosyadan Çalma Listesi İçe Aktar"
#~ msgid "Export Playlist"
#~ msgstr "Çalma Listesini Dışa Aktar"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 Çalma Listesi Dosyası (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Çalma Listeleri İçe Aktar"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "m3u, m3u8 Çalma Listesi Dosyaları (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Kaydetme başarısız"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "%1 yolu içe aktarılamadı"
#~ msgid "Clear Playlist"
#~ msgstr "Çalma Listesini Temizle"
#~ msgid "played Songs"
#~ msgstr "Çalınan Şarkılar"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Şimdi Çalınıyor"
#~ msgid "Back"
#~ msgstr "Geri"
#~ msgid "Play next"
#~ msgstr "Sonrakini çal"
#~ msgid "Clear"
#~ msgstr "Temizle"
#~ msgid "Pause"
#~ msgstr "Duraklat"
#~ msgid "Expand"
#~ msgstr "Genişlet"
+595
View File
@@ -0,0 +1,595 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the PACKAGE package.
#
# Yuri Chornoivan <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-10-29 08:31+0200\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n"
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 20.12.0\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Працюємо із неперевіреною версією ytmusicapi %1. Якщо ви стикаєтеся з "
"помилками, будь ласка, повідомте про них авторам вашого дистрибутива."
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "Відтворити"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "Перемішати"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "Дописати до черги"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "Відкрити у переглядачі"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "Оприлюднити"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "Більше"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "Радіо"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "Виконавець"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Підтримки відтворення відео ще не передбачено. Хочете, щоб було відтворено "
"лише звукову частину «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "Альбоми"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Одинарні"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "Пісні"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "Відео"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "Гаразд"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "Скасувати"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "Додати список відтворення"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "Заголовок списку відтворення"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "Опис списку відтворення"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "Імпортувати список відтворення"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Адреса списку відтворення (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "Додати композицію до списку відтворення"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "Новий список композицій"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "Перейменувати список відтворення"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "Улюблені"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "Показати всі"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "Улюблених творів ще немає"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "Часто слухали"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "Відтворені композиції"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "Відтворення композицій ще не відбувалося"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "Списки відтворення"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "Списків відтворення ще немає"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "Перейменувати"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "Вилучити"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "Вилучити зі списку"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "Цей список відтворення все ще порожній"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "Імпортувати список відтворення"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Закрити максимізований програвач"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "Вилучити з улюблених"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "Додати до улюбленого"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "Відкрити висувну панель гучності"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "Увімкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "Вимкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "Приховати текст"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "Показати текст"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "Оприлюднити композицію"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "Додати до локального списку відтворення"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "Приховати чергу"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "Показати чергу"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "Вилучити композицію"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "Спорожнити чергу"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "Перемішати чергу"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "Майбутні композиції"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "Бібліотека"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "Пошук"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Невідомий список композицій"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Тут ще немає композицій"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "Список відтворення успішно імпортовано"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "Список відтворення"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "вилучити з журналу пошуку"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Попередні пошуки:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "Виконавці"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "Найкращі результати"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "Невідомий"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "Немає відповідних попередніх пошуків"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "Оприлюднити"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "Копіювати посилання"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "Посилання скопійовано до буфера обміну"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "Відомості"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "Згорнути бічну панель"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "Відтворити наступну"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "Додати до черги"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "Вилучити з улюблених"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "Додати до улюблених"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "Вилучити із журналу"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "Додати до списку відтворення"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Трансляція музики з YouTube Music"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© Jonah Brüchert, 2021-2023; KDE Community,2021-2023"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "Супровідник"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Юрій Чорноіван"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "Неофіційний програмний інтерфейс до YouTube Music"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "Без опису"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "Без заголовка"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "Без альбому"
#~ msgid "YouTube Music Player"
#~ msgstr "Програвач YouTube Music"
#~ msgid "Export"
#~ msgstr "Експортувати"
#~ msgid "Import Playlist from Url"
#~ msgstr "Імпортувати список відтворення з адреси"
#~ msgid "Import Playlist from File"
#~ msgstr "Імпортувати список відтворення з файла"
#~ msgid "Export Playlist"
#~ msgstr "Експортувати список відтворення"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "файл списку відтворення m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Імпортувати список відтворення"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "файли списків відтворення m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "Не вдалося зберегти"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "Не вдалося імпортувати %1"
#~ msgid "Clear Playlist"
#~ msgstr "Спорожнити список відтворення"
#~ msgid "played Songs"
#~ msgstr "Відтворені композиції"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Зараз відтворюємо"
#~ msgid "Back"
#~ msgstr "Назад"
#~ msgid "Play next"
#~ msgstr "Відтворити наступну"
#~ msgid "Clear"
#~ msgstr "Спорожнити"
#~ msgid "Pause"
#~ msgstr "Призупинити"
#~ msgid "Expand"
#~ msgstr "Розгорнути"
#~ msgid "Play only Audio"
#~ msgstr "Відтворити лише звук"
+529
View File
@@ -0,0 +1,529 @@
msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2024-01-06 03:32\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-trunk/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 48698\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "播放"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "随机播放"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "追加到队列"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "在浏览器中打开"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "分享"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "专辑:%1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "更多"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "电台"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "艺术家"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "视频播放尚未被支持。您想要只播放“%1”中的音频吗?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "专辑"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "单曲"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "曲目"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "视频"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "确定"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "取消"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "添加播放列表"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "播放列表标题"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "播放列表描述"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr ""
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr ""
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "添加歌曲到播放列表"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "新建播放列表"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "重命名播放列表"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "收藏夹"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "显示全部"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "无收藏夹"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "最常播放"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "已播放歌曲"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "未播放歌曲"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "播放列表"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "无播放列表"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "重命名"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "删除"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "从播放列表中移除"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "此播放列表未包含歌曲"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "没有播放的歌曲"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "关闭最大化播放器"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "没有正在播放的媒体"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "移出收藏夹"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "移入收藏夹"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "打开音量控制器"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "取消静音"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "静音"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "隐藏歌词"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "显示歌词"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "分享歌曲"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "添加到本地播放列表"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "隐藏队列"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "显示队列"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "移除曲目"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "清空队列"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "随机队列"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "即将播放的歌曲"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "曲库"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "搜索"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "未知歌曲列表"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "此处无歌曲"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "播放列表"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "从搜索历史中移除"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "历史搜索"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "艺人"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "没有匹配的历史搜索"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "分享到"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "复制链接"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "链接已复制到剪贴板"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "关于"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "折叠侧栏"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "播放下一首"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "加入队列"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "从收藏中删除"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "添加收藏夹"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "从历史记录中删除"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "添加到播放列表"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Qi Binye, Tyson Tan"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr ""
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr ""
+533
View File
@@ -0,0 +1,533 @@
# Chinese translations for audiotube package
# audiotube 套件的正體中文翻譯.
# Copyright (C) 2022 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Automatically generated, 2022.
# Kisaragi Hiu <[email protected]>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-12-22 01:38+0000\n"
"PO-Revision-Date: 2023-12-15 20:37+0900\n"
"Last-Translator: Kisaragi Hiu <[email protected]>\n"
"Language-Team: Traditional Chinese <[email protected]>\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 24.01.80\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"此次執行使用未測試的 ytmusicapi 版本 %1。發生問題時請回報給您的發行版。"
#: contents/ui/AlbumPage.qml:71 contents/ui/LibraryPage.qml:38
#: contents/ui/LibraryPage.qml:64 contents/ui/LibraryPage.qml:85
#: contents/ui/LibraryPage.qml:225 contents/ui/LibraryPage.qml:251
#: contents/ui/LibraryPage.qml:272 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:93 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "播放"
#: contents/ui/AlbumPage.qml:78 contents/ui/ArtistPage.qml:83
#: contents/ui/LibraryPage.qml:45 contents/ui/LibraryPage.qml:70
#: contents/ui/LibraryPage.qml:93 contents/ui/LibraryPage.qml:232
#: contents/ui/LibraryPage.qml:257 contents/ui/LibraryPage.qml:281
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:100
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "隨機播放"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:75
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:289 contents/ui/LocalPlaylistPage.qml:106
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr "加入待播清單末端"
#: contents/ui/AlbumPage.qml:91 contents/ui/ArtistPage.qml:91
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr "在瀏覽器開啟"
#: contents/ui/AlbumPage.qml:96 contents/ui/ArtistPage.qml:96
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "分享"
#: contents/ui/AlbumPage.qml:106
#, kde-format
msgid "Album • %1"
msgstr "專輯 • %1"
#: contents/ui/AlbumPage.qml:160 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:171 contents/ui/PlaybackHistory.qml:195
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:148
#, kde-format
msgid "More"
msgstr "更多"
#: contents/ui/ArtistPage.qml:77
#, kde-format
msgid "Radio"
msgstr "廣播"
#: contents/ui/ArtistPage.qml:105
#, kde-format
msgid "Artist"
msgstr "藝人"
#: contents/ui/ArtistPage.qml:129 contents/ui/SearchPage.qml:74
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "尚不支援影片播放。您是否要只播放 \"%1\" 的音效?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "專輯"
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "單曲"
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr "歌曲"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "影片"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "確定"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "取消"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr "新增播放清單"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr "播放清單標題"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr "播放清單描述"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, kde-format
msgid "Import playlist"
msgstr "匯入播放清單"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "播放清單網址 (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr "將歌曲加入播放清單"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:103
#: contents/ui/LocalPlaylistsPage.qml:129
#: contents/ui/LocalPlaylistsPage.qml:144
#, kde-format
msgid "New Playlist"
msgstr "新播放清單"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr "重新命名播放清單"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:125
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:138 contents/ui/Sidebar.qml:143
#, kde-format
msgid "Favourites"
msgstr "最愛"
#: contents/ui/LibraryPage.qml:120 contents/ui/LibraryPage.qml:309
#: contents/ui/LibraryPage.qml:408
#, kde-format
msgid "Show All"
msgstr "顯示全部"
#: contents/ui/LibraryPage.qml:150
#, kde-format
msgid "No Favourites Yet"
msgstr "尚無最愛"
#: contents/ui/LibraryPage.qml:218
#, kde-format
msgid "Most played"
msgstr "最常播放"
#: contents/ui/LibraryPage.qml:314 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:159
#: contents/ui/Sidebar.qml:164
#, kde-format
msgid "Played Songs"
msgstr "履歷"
#: contents/ui/LibraryPage.qml:339
#, kde-format
msgid "No Songs Played Yet"
msgstr "尚無播放過的歌曲"
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistsPage.qml:19
#: contents/ui/LocalPlaylistsPage.qml:80 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:179
#, kde-format
msgid "Playlists"
msgstr "播放清單"
#: contents/ui/LibraryPage.qml:435
#, kde-format
msgid "No Playlists Yet"
msgstr "尚無播放清單"
#: contents/ui/LibraryPage.qml:455 contents/ui/LibraryPage.qml:477
#: contents/ui/LocalPlaylistsPage.qml:34 contents/ui/LocalPlaylistsPage.qml:56
#, kde-format
msgid "Rename"
msgstr "重新命名"
#: contents/ui/LibraryPage.qml:464 contents/ui/LibraryPage.qml:485
#: contents/ui/LocalPlaylistsPage.qml:43 contents/ui/LocalPlaylistsPage.qml:64
#, kde-format
msgid "Delete"
msgstr "刪除"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr "從播放清單中移除"
#: contents/ui/LocalPlaylistPage.qml:80
#, kde-format
msgid "This playlist is still empty"
msgstr "尚未加入歌曲到此播放清單"
#: contents/ui/LocalPlaylistsPage.qml:111
#: contents/ui/LocalPlaylistsPage.qml:134
#: contents/ui/LocalPlaylistsPage.qml:149 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr "匯入播放清單"
#: contents/ui/main.qml:127 main.cpp:72
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:280
#, kde-format
msgid "No song playing"
msgstr "沒有播放歌曲"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "關閉最大化播放器"
#: contents/ui/MaximizedPlayerPage.qml:205
#: contents/ui/MinimizedPlayerControls.qml:113
#, kde-format
msgid "No media playing"
msgstr "沒有播放任何媒體"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Remove from Favourites"
msgstr "從最愛中移除"
#: contents/ui/MaximizedPlayerPage.qml:428
#, kde-format
msgid "Add to Favourites"
msgstr "加入最愛"
#: contents/ui/MaximizedPlayerPage.qml:453
#, kde-format
msgid "Open Volume Drawer"
msgstr "開啟音量側邊欄"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Unmute Audio"
msgstr "取消靜音"
#: contents/ui/MaximizedPlayerPage.qml:561
#, kde-format
msgid "Mute Audio"
msgstr "靜音"
#: contents/ui/MaximizedPlayerPage.qml:600
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Hide Lyrics"
msgstr "隱藏歌詞"
#: contents/ui/MaximizedPlayerPage.qml:631
#, kde-format
msgid "Show Lyrics"
msgstr "顯示歌詞"
#: contents/ui/MaximizedPlayerPage.qml:651 contents/ui/SongMenu.qml:178
#: contents/ui/SongMenu.qml:264
#, kde-format
msgid "Share Song"
msgstr "分享歌曲"
#: contents/ui/MaximizedPlayerPage.qml:692
#, kde-format
msgid "Add to a local playlist"
msgstr "加入至本地播放清單"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Hide Queue"
msgstr "隱藏待播清單"
#: contents/ui/MaximizedPlayerPage.qml:729
#, kde-format
msgid "Show Queue"
msgstr "顯示待播清單"
#: contents/ui/MaximizedPlayerPage.qml:952
#: contents/ui/MaximizedPlayerPage.qml:1189
#, kde-format
msgid "Remove Track"
msgstr "移除音軌"
#: contents/ui/MaximizedPlayerPage.qml:987
#, kde-format
msgid "Clear Queue"
msgstr "清除待播清單"
#: contents/ui/MaximizedPlayerPage.qml:1012
#, kde-format
msgid "Shuffle Queue"
msgstr "隨機排序待播清單"
#: contents/ui/MaximizedPlayerPage.qml:1042
#, kde-format
msgid "Upcoming Songs"
msgstr "接下來的歌曲"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:108
#, kde-format
msgid "Library"
msgstr "媒體庫"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:119
#, kde-format
msgid "Search"
msgstr "搜尋"
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "未知的歌曲列表"
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "這裡還沒有任何歌曲"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr "成功匯入播放清單"
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "播放清單"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:394
#, kde-format
msgid "remove from search history"
msgstr "從搜尋歷史中移除"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "先前的搜尋:"
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "藝人"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr "熱門搜尋結果"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:22
#, kde-format
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchWithDropdown.qml:340
#, kde-format
msgid "No matching previous searches"
msgstr "沒有符合的先前的搜尋"
#: contents/ui/ShareMenu.qml:40
#, kde-format
msgid "Share to"
msgstr "分享至"
#: contents/ui/ShareMenu.qml:48 contents/ui/ShareMenu.qml:98
#, kde-format
msgid "Copy Link"
msgstr "複製連結"
#: contents/ui/ShareMenu.qml:53 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Link copied to clipboard"
msgstr "連結已複製到剪貼簿"
#: contents/ui/Sidebar.qml:200
#, kde-format
msgid "About"
msgstr "關於"
#: contents/ui/Sidebar.qml:214
#, kde-format
msgid "Collapse Sidebar"
msgstr "折疊側邊欄"
#: contents/ui/SongMenu.qml:103 contents/ui/SongMenu.qml:200
#, kde-format
msgid "Play Next"
msgstr "接著播放"
#: contents/ui/SongMenu.qml:111 contents/ui/SongMenu.qml:206
#, kde-format
msgid "Add to queue"
msgstr "加入待播清單"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Remove Favourite"
msgstr "移除最愛"
#: contents/ui/SongMenu.qml:121 contents/ui/SongMenu.qml:216
#, kde-format
msgid "Add Favourite"
msgstr "新增最愛"
#: contents/ui/SongMenu.qml:138 contents/ui/SongMenu.qml:230
#, kde-format
msgid "Remove from History"
msgstr "從履歷中移除"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:239
#, kde-format
msgid "Add to playlist"
msgstr "加入至播放清單"
#: main.cpp:74
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "從 YouTube Music 串流播放音樂"
#: main.cpp:76
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE 社群"
#: main.cpp:77
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:77
#, kde-format
msgid "Maintainer"
msgstr "維護者"
#: main.cpp:78
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:78
#, kde-format
msgid "Designer"
msgstr "設計師"
#: main.cpp:79
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Kisaragi Hiu"
#: main.cpp:79
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:86
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music 非官方 API"
#: playlistimporter.cpp:22
#, kde-format
msgid "No description"
msgstr "無描述"
#: playlistimporter.cpp:56
#, kde-format
msgid "No title"
msgstr "無標題"
#: playlistimporter.cpp:58
#, kde-format
msgid "No album"
msgstr "無專輯"
+2 -2
View File
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
ytmusicapi==0.17.3
youtube_dl
ytmusicapi==1.3.1
yt-dlp
+29 -10
View File
@@ -11,6 +11,7 @@ target_include_directories(ytm PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(ytm PRIVATE -DRANDALL_WAS_HERE)
add_subdirectory(example)
add_subdirectory(qtmpris)
add_executable(audiotube
main.cpp
@@ -24,22 +25,40 @@ add_executable(audiotube
playlistutils.cpp
errorhandler.cpp
playerutils.cpp
thumbnailsource.cpp
abstractytmusicmodel.cpp
multiiterableview.h
library.cpp
localplaylistmodel.cpp
localplaylistsmodel.cpp
playlistimporter.cpp
resources.qrc
blur.cpp
clipboard.cpp
)
target_link_libraries(audiotube
Qt5::Core
Qt5::Gui
Qt5::Qml
Qt5::Quick
Qt5::QuickControls2
Qt5::Svg
KF5::I18n
KF5::CoreAddons
KF5::Crash
Qt::Core
Qt::Gui
Qt::Qml
Qt::Quick
Qt::QuickControls2
Qt::Svg
Qt::Widgets
Qt::Concurrent
Qt::Multimedia
KF6::I18n
KF6::CoreAddons
KF6::Crash
KF6::WindowSystem
FutureSQL${QT_MAJOR_VERSION}::FutureSQL
QCoro${QT_MAJOR_VERSION}::Core
qtmprisdeclarative
ytm
)
target_compile_definitions(audiotube PRIVATE -DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
target_compile_definitions(audiotube PRIVATE
-DAUDIOTUBE_VERSION_STRING="${RELEASE_SERVICE_VERSION}"
-DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
install(TARGETS audiotube ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+27
View File
@@ -0,0 +1,27 @@
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "abstractytmusicmodel.h"
#include "asyncytmusic.h"
AbstractYTMusicModel::AbstractYTMusicModel(QObject *parent)
: QAbstractListModel(parent)
{
}
bool AbstractYTMusicModel::loading() const
{
return m_loading;
}
void AbstractYTMusicModel::setLoading(bool loading)
{
if (m_loading == loading)
return;
m_loading = loading;
Q_EMIT loadingChanged();
}
+28
View File
@@ -0,0 +1,28 @@
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QAbstractListModel>
///
/// Base class for all models that work with data from the AsyncYTMusic class.
/// It provides a loading property, that is automatically set to false if a query fails.
///
class AbstractYTMusicModel : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(bool loading READ loading WRITE setLoading NOTIFY loadingChanged)
public:
explicit AbstractYTMusicModel(QObject *parent = nullptr);
bool loading() const;
void setLoading(bool loading);
Q_SIGNAL void loadingChanged();
private:
bool m_loading = false;
};
+43 -31
View File
@@ -3,29 +3,32 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "albummodel.h"
#include "playlistutils.h"
#include <QDebug>
#include <QStringBuilder>
AlbumModel::AlbumModel(QObject *parent)
: QAbstractListModel(parent)
: AbstractYTMusicModel(parent)
{
connect(this, &AlbumModel::browseIdChanged, this, [=] {
connect(this, &AlbumModel::browseIdChanged, this, [this] {
setLoading(true);
YTMusicThread::instance()->fetchAlbum(m_browseId);
});
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::fetchAlbumFinished, this, [=](const album::Album &album) {
setLoading(false);
auto future = YTMusicThread::instance()->fetchAlbum(m_browseId);
QCoro::connect(std::move(future), this, [=, this](album::Album &&album) {
setLoading(false);
beginResetModel();
m_album = album;
endResetModel();
std::sort(m_album.thumbnails.begin(), m_album.thumbnails.end());
beginResetModel();
m_album = std::move(album);
endResetModel();
std::sort(m_album.thumbnails.begin(), m_album.thumbnails.end());
Q_EMIT titleChanged();
Q_EMIT thumbnailUrlChanged();
Q_EMIT playlistIdChanged();
Q_EMIT titleChanged();
Q_EMIT artistsChanged();
Q_EMIT thumbnailUrlChanged();
Q_EMIT playlistIdChanged();
});
});
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::errorOccurred, this, [=] {
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::errorOccurred, this, [=, this] {
setLoading(false);
});
}
@@ -43,12 +46,15 @@ QVariant AlbumModel::data(const QModelIndex &index, int role) const
case VideoId:
return QString::fromStdString(m_album.tracks[index.row()].video_id.value_or(std::string()));
case Artists:
return QVariant::fromValue(std::vector<meta::Artist> {
{
m_album.tracks[index.row()].artists,
std::nullopt
}
});
return QVariant::fromValue(m_album.tracks[index.row()].artists);
case ThumbnailUrl:
if (!m_album.thumbnails.empty()) {
return QString::fromStdString(m_album.thumbnails.front().url);
} else {
return {};
}
case ArtistsDisplayString:
return PlaylistUtils::artistsToString(m_album.tracks[index.row()].artists);
}
Q_UNREACHABLE();
@@ -61,7 +67,9 @@ QHash<int, QByteArray> AlbumModel::roleNames() const
return {
{Title, "title"},
{VideoId, "videoId"},
{Artists, "artists"}
{Artists, "artists"},
{ThumbnailUrl, "thumbnailUrl"},
{ArtistsDisplayString, "artistsDisplayString"}
};
}
@@ -81,15 +89,9 @@ QString AlbumModel::title() const
return QString::fromStdString(m_album.title);
}
bool AlbumModel::loading() const
QString AlbumModel::artists() const
{
return m_loading;
}
void AlbumModel::setLoading(bool loading)
{
m_loading = loading;
Q_EMIT loadingChanged();
return PlaylistUtils::artistsToString(m_album.artists);
}
@@ -104,5 +106,15 @@ QUrl AlbumModel::thumbnailUrl() const
QString AlbumModel::playlistId() const
{
return QString::fromStdString(m_album.playlist_id);
return QString::fromStdString(m_album.audio_playlist_id);
}
QUrl AlbumModel::webUrl() const
{
return QUrl(YTMUSIC_WEB_BASE_URL % "/playlist?list=" % QString::fromStdString(m_album.audio_playlist_id));
}
const album::Album &AlbumModel::album() const
{
return m_album;
}
+13 -8
View File
@@ -8,22 +8,26 @@
#include <QUrl>
#include "asyncytmusic.h"
#include "abstractytmusicmodel.h"
class AlbumModel : public QAbstractListModel
class AlbumModel : public AbstractYTMusicModel
{
Q_OBJECT
Q_PROPERTY(QString browseId READ browseId WRITE setBrowseId NOTIFY browseIdChanged REQUIRED)
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QString artists READ artists NOTIFY artistsChanged)
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
Q_PROPERTY(bool loading READ loading WRITE setLoading NOTIFY loadingChanged)
Q_PROPERTY(QString playlistId READ playlistId NOTIFY playlistIdChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY playlistIdChanged)
public:
enum Role {
Title = Qt::UserRole + 1,
VideoId,
Artists
Artists,
ThumbnailUrl,
ArtistsDisplayString
};
explicit AlbumModel(QObject *parent = nullptr);
@@ -39,19 +43,20 @@ public:
QString title() const;
Q_SIGNAL void titleChanged();
bool loading() const;
void setLoading(bool loading);
Q_SIGNAL void loadingChanged();
QString artists() const;
Q_SIGNAL void artistsChanged();
QUrl thumbnailUrl() const;
Q_SIGNAL void thumbnailUrlChanged();
QString playlistId() const;
Q_SIGNAL void playlistIdChanged();
QUrl webUrl() const;
const album::Album &album() const;
private:
QString m_browseId;
bool m_loading = false;
album::Album m_album;
};
+69 -61
View File
@@ -4,58 +4,66 @@
#include "artistmodel.h"
#include <QStringBuilder>
#include <asyncytmusic.h>
ArtistModel::ArtistModel(QObject *parent)
: QAbstractListModel(parent)
: AbstractYTMusicModel(parent)
, m_view(albums, singles, songs, videos)
{
connect(this, &ArtistModel::channelIdChanged, this, [=] {
connect(this, &ArtistModel::channelIdChanged, this, [this] {
if (m_channelId.isEmpty()) {
return;
}
setLoading(true);
YTMusicThread::instance()->fetchArtist(m_channelId);
auto future = YTMusicThread::instance()->fetchArtist(m_channelId);
QCoro::connect(std::move(future), this, [=, this](artist::Artist &&artist) {
setLoading(false);
beginResetModel();
m_artist = std::move(artist);
std::sort(m_artist.thumbnails.begin(), m_artist.thumbnails.end());
albums = m_artist.albums ? m_artist.albums->results : std::vector<artist::Artist::Album>();
for (auto &album : albums) {
std::sort(album.thumbnails.begin(), album.thumbnails.end());
}
singles = m_artist.singles ? m_artist.singles->results : std::vector<artist::Artist::Single>();
for (auto &single : singles) {
std::sort(single.thumbnails.begin(), single.thumbnails.end());
}
songs = m_artist.songs ? m_artist.songs->results : std::vector<artist::Artist::Song>();
for (auto &song : songs) {
std::sort(song.thumbnails.begin(), song.thumbnails.end());
}
videos = m_artist.videos ? m_artist.videos->results : std::vector<artist::Artist::Video>();
for (auto &video : videos) {
std::sort(video.thumbnails.begin(), video.thumbnails.end());
}
// std::span can't know if the data pointer underneath it was changed, so re-create
m_view = MultiIterableView(albums, singles, songs, videos);
endResetModel();
Q_EMIT titleChanged();
Q_EMIT thumbnailUrlChanged();
});
});
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::fetchArtistFinished, this, [=](const artist::Artist &artist) {
setLoading(false);
beginResetModel();
m_artist = artist;
std::sort(m_artist.thumbnails.begin(), m_artist.thumbnails.end());
auto albums = m_artist.albums ? m_artist.albums->results : std::vector<artist::Artist::Album>();
auto singles = m_artist.singles ? m_artist.singles->results : std::vector<artist::Artist::Single>();
auto songs = m_artist.songs ? m_artist.songs->results : std::vector<artist::Artist::Song>();
auto videos = m_artist.videos ? m_artist.videos->results : std::vector<artist::Artist::Video>();
m_view = std::optional(MultiIterableView(std::move(albums),
std::move(singles),
std::move(songs),
std::move(videos)));
endResetModel();
Q_EMIT titleChanged();
Q_EMIT thumbnailUrlChanged();
});
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::errorOccurred, this, [=] {
connect(&YTMusicThread::instance().get(), &AsyncYTMusic::errorOccurred, this, [this] {
setLoading(false);
});
}
int ArtistModel::rowCount(const QModelIndex &parent) const
{
return parent.isValid() ? 0 : m_view ? int(m_view->size()) : 0;
return parent.isValid() ? 0 : m_view.size();
}
QVariant ArtistModel::data(const QModelIndex &index, int role) const
{
if (!m_view) {
return {};
}
switch (role) {
case Title:
return QString::fromStdString(std::visit([&](auto&& item) {
@@ -71,8 +79,8 @@ QVariant ArtistModel::data(const QModelIndex &index, int role) const
}
Q_UNREACHABLE();
}, m_view.value()[index.row()]));
case Type:
}, m_view[index.row()]));
case TypeRole:
return std::visit([&](auto&& item) {
using T = std::decay_t<decltype(item)>;
if constexpr(std::is_same_v<T, artist::Artist::Album>) {
@@ -86,7 +94,7 @@ QVariant ArtistModel::data(const QModelIndex &index, int role) const
}
Q_UNREACHABLE();
}, m_view.value()[index.row()]);
}, m_view[index.row()]);
case Artists:
return QVariant::fromValue(std::vector<meta::Artist> {
{
@@ -108,7 +116,14 @@ QVariant ArtistModel::data(const QModelIndex &index, int role) const
}
Q_UNREACHABLE();
}, m_view.value()[index.row()]);
}, m_view[index.row()]);
case ThumbnailUrl:
return std::visit([&](auto&& item) {
if (!item.thumbnails.empty()) {
return QString::fromStdString(item.thumbnails.front().url);
}
return QString();
}, m_view[index.row()]);
}
Q_UNREACHABLE();
@@ -120,9 +135,10 @@ QHash<int, QByteArray> ArtistModel::roleNames() const
{
return {
{Title, "title"},
{Type, "type"},
{TypeRole, "type"},
{Artists, "artists"},
{VideoId, "videoId"}
{VideoId, "videoId"},
{ThumbnailUrl, "thumbnailUrl"}
};
}
@@ -151,33 +167,25 @@ QUrl ArtistModel::thumbnailUrl() const
return QUrl(QString::fromStdString(m_artist.thumbnails.back().url));
}
bool ArtistModel::loading() const
QUrl ArtistModel::webUrl() const
{
return m_loading;
}
void ArtistModel::setLoading(bool loading)
{
m_loading = loading;
Q_EMIT loadingChanged();
return QUrl(YTMUSIC_WEB_BASE_URL % u"channel/" % m_channelId);
}
void ArtistModel::triggerItem(int row)
{
if (m_view) {
std::visit([&](auto&& item) {
using T = std::decay_t<decltype(item)>;
if constexpr(std::is_same_v<T, artist::Artist::Album>) {
Q_EMIT openAlbum(QString::fromStdString(item.browse_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Single>) {
Q_EMIT openAlbum(QString::fromStdString(item.browse_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Song>) {
Q_EMIT openSong(QString::fromStdString(item.video_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Video>) {
Q_EMIT openVideo(QString::fromStdString(item.video_id), QString::fromStdString(item.title));
} else {
Q_UNREACHABLE();
}
}, m_view.value()[row]);
}
std::visit([&](auto&& item) {
using T = std::decay_t<decltype(item)>;
if constexpr(std::is_same_v<T, artist::Artist::Album>) {
Q_EMIT openAlbum(QString::fromStdString(item.browse_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Single>) {
Q_EMIT openAlbum(QString::fromStdString(item.browse_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Song>) {
Q_EMIT openSong(QString::fromStdString(item.video_id));
} else if constexpr(std::is_same_v<T, artist::Artist::Video>) {
Q_EMIT openVideo(QString::fromStdString(item.video_id), QString::fromStdString(item.title));
} else {
Q_UNREACHABLE();
}
}, m_view[row]);
}
+18 -11
View File
@@ -10,9 +10,12 @@
#include <optional>
#include <ytmusic.h>
#include "multiiterableview.h"
class ArtistModel : public QAbstractListModel
#include "multiiterableview.h"
#include "abstractytmusicmodel.h"
class ArtistModel : public AbstractYTMusicModel
{
Q_OBJECT
@@ -20,7 +23,7 @@ class ArtistModel : public QAbstractListModel
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
Q_PROPERTY(bool loading READ loading WRITE setLoading NOTIFY loadingChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY channelIdChanged)
public:
enum Type {
@@ -33,9 +36,10 @@ public:
enum Role {
Title,
Type,
TypeRole,
Artists,
VideoId
VideoId,
ThumbnailUrl
};
explicit ArtistModel(QObject *parent = nullptr);
@@ -54,9 +58,7 @@ public:
QUrl thumbnailUrl() const;
Q_SIGNAL void thumbnailUrlChanged();
bool loading() const;
void setLoading(bool loading);
Q_SIGNAL void loadingChanged();
QUrl webUrl() const;
Q_INVOKABLE void triggerItem(int row);
@@ -66,10 +68,15 @@ public:
private:
QString m_channelId;
bool m_loading = false;
artist::Artist m_artist;
std::optional<MultiIterableView<
std::vector<artist::Artist::Album> albums;
std::vector<artist::Artist::Single> singles;
std::vector<artist::Artist::Song> songs;
std::vector<artist::Artist::Video> videos;
MultiIterableView<
artist::Artist::Album, artist::Artist::Single, artist::Artist::Song, artist::Artist::Video
>> m_view;
> m_view;
};
+87 -103
View File
@@ -6,6 +6,13 @@
#include <QThread>
#include <QDebug>
#include <QJsonObject>
#include <QJsonArray>
#include <QFutureInterface>
#include <QCoreApplication>
#include <QTimer>
#include <KLocalizedString>
#include <pybind11/embed.h>
@@ -13,10 +20,21 @@
namespace py = pybind11;
template <typename R, typename T, typename OP>
std::optional<R> map_optional(const std::optional<T> &optional, OP op) {
#include <iostream>
#include <algorithm>
#include <unordered_map>
#include <ranges>
#include <type_traits>
#include <memory>
template <typename T, typename OP>
std::optional<std::invoke_result_t<OP, T>> mapOptional(const std::optional<T> &optional, OP op) {
if (optional.has_value()) {
return op(optional.value());
if constexpr (std::is_member_function_pointer<OP>::value) {
return (&optional.value()->*op)();
} else {
return op(optional.value());
}
}
return std::nullopt;
@@ -37,156 +55,120 @@ AsyncYTMusic::AsyncYTMusic(QObject *parent)
qRegisterMetaType<std::vector<meta::Artist>>();
qRegisterMetaType<meta::Artist>();
connect(this, &AsyncYTMusic::startSearch, this, &AsyncYTMusic::internalSearch);
connect(this, &AsyncYTMusic::startFetchArtist, this, &AsyncYTMusic::internalFetchArtist);
connect(this, &AsyncYTMusic::startFetchAlbum, this, &AsyncYTMusic::internalFetchAlbum);
connect(this, &AsyncYTMusic::startFetchSong, this, &AsyncYTMusic::internalFetchSong);
connect(this, &AsyncYTMusic::startFetchPlaylist, this, &AsyncYTMusic::internalFetchPlaylist);
connect(this, &AsyncYTMusic::startFetchArtistAlbums, this, &AsyncYTMusic::internalFetchArtistAlbums);
connect(this, &AsyncYTMusic::startExtractVideoInfo, this, &AsyncYTMusic::internalExtractVideoInfo);
connect(this, &AsyncYTMusic::startFetchWatchPlaylist, this, &AsyncYTMusic::internalFetchWatchPlaylist);
connect(this, &AsyncYTMusic::errorOccurred, this, [](const QString &err) {
std::cerr << qPrintable(err);
std::cerr << qPrintable(err) << std::endl;
});
QTimer::singleShot(0, this, [this]() {
QCoro::connect(version(), this, [this](auto &&version) {
if (version != TESTED_YTMUSICAPI_VERSION) {
Q_EMIT errorOccurred(i18n("Running with untested version of ytmusicapi %1. "
"If you experience errors, please report them to your distribution.", version));
}
});
});
}
//
// search
//
void AsyncYTMusic::search(const QString &query)
QFuture<std::vector<search::SearchResultItem>> AsyncYTMusic::search(const QString &query)
{
Q_EMIT startSearch(query);
}
void AsyncYTMusic::internalSearch(const QString &query)
{
try {
Q_EMIT searchFinished(m_ytm->search(query.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->search(query.toStdString());
});
}
//
// fetchArtist
//
void AsyncYTMusic::fetchArtist(const QString &channelId)
QFuture<artist::Artist> AsyncYTMusic::fetchArtist(const QString &channelId)
{
Q_EMIT startFetchArtist(channelId);
}
void AsyncYTMusic::internalFetchArtist(const QString &channelId)
{
try {
Q_EMIT fetchArtistFinished(m_ytm->get_artist(channelId.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_artist(channelId.toStdString());
});
}
//
// fetchAlbum
//
void AsyncYTMusic::fetchAlbum(const QString &browseId)
QFuture<album::Album> AsyncYTMusic::fetchAlbum(const QString &browseId)
{
Q_EMIT startFetchAlbum(browseId);
}
void AsyncYTMusic::internalFetchAlbum(const QString &browseId)
{
try {
Q_EMIT fetchAlbumFinished(m_ytm->get_album(browseId.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_album(browseId.toStdString());
});
}
//
// fetchSong
//
void AsyncYTMusic::fetchSong(const QString &videoId)
QFuture<std::optional<song::Song>> AsyncYTMusic::fetchSong(const QString &videoId)
{
Q_EMIT startFetchSong(videoId);
}
return invokeAndCatchOnThread([=, this]() -> std::optional<song::Song> {
if (videoId.isEmpty()) {
return {};
}
void AsyncYTMusic::internalFetchSong(const QString &videoId)
{
try {
Q_EMIT fetchSongFinished(m_ytm->get_song(videoId.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return m_ytm->get_song(videoId.toStdString());
});
}
//
// fetchPlaylist
//
void AsyncYTMusic::fetchPlaylist(const QString &playlistId) {
Q_EMIT startFetchPlaylist(playlistId);
}
void AsyncYTMusic::internalFetchPlaylist(const QString &playlistId)
{
try {
Q_EMIT fetchPlaylistFinished(m_ytm->get_playlist(playlistId.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
QFuture<playlist::Playlist> AsyncYTMusic::fetchPlaylist(const QString &playlistId) {
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_playlist(playlistId.toStdString());
});
}
//
// fetchArtistAlbum
//
void AsyncYTMusic::fetchArtistAlbums(const QString &channelId, const QString &params)
QFuture<std::vector<artist::Artist::Album>> AsyncYTMusic::fetchArtistAlbums(const QString &channelId, const QString &params)
{
Q_EMIT startFetchArtistAlbums(channelId, params);
}
void AsyncYTMusic::internalFetchArtistAlbums(const QString &channelid, const QString &params)
{
try {
Q_EMIT fetchArtistAlbumsFinished(m_ytm->get_artist_albums(channelid.toStdString(), params.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_artist_albums(channelId.toStdString(), params.toStdString());
});
}
//
// extractVideoInfo
//
void AsyncYTMusic::extractVideoInfo(const QString &videoId)
QFuture<video_info::VideoInfo> AsyncYTMusic::extractVideoInfo(const QString &videoId)
{
Q_EMIT startExtractVideoInfo(videoId);
}
void AsyncYTMusic::internalExtractVideoInfo(const QString &videoId)
{
try {
Q_EMIT extractVideoInfoFinished(m_ytm->extract_video_info(videoId.toStdString()));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->extract_video_info(videoId.toStdString());
});
}
//
// fetchWatchPlaylist
//
void AsyncYTMusic::fetchWatchPlaylist(const std::optional<QString> &videoId, const std::optional<QString> &playlistId)
QFuture<watch::Playlist> AsyncYTMusic::fetchWatchPlaylist(const std::optional<QString> &videoId, const std::optional<QString> &playlistId)
{
Q_EMIT startFetchWatchPlaylist(videoId, playlistId);
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_watch_playlist(
mapOptional(videoId, &QString::toStdString),
mapOptional(playlistId, &QString::toStdString)
);
});
}
void AsyncYTMusic::internalFetchWatchPlaylist(const std::optional<QString> &videoId, const std::optional<QString> &playlistId)
QFuture<Lyrics> AsyncYTMusic::fetchLyrics(const QString &browseId)
{
try {
Q_EMIT fetchWatchPlaylistFinished(m_ytm->get_watch_playlist(
map_optional<std::string>(videoId, [](const QString &value) { return value.toStdString(); }),
map_optional<std::string>(playlistId, [](const QString &value) { return value.toStdString(); })
));
} catch (const py::error_already_set &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
return invokeAndCatchOnThread([=, this]() {
return m_ytm->get_lyrics(
browseId.toStdString()
);
});
}
QFuture<QString> AsyncYTMusic::version()
{
return invokeAndCatchOnThread([this]() {
return QString::fromStdString(m_ytm->get_version());
});
}
YTMusicThread &YTMusicThread::instance()
@@ -203,17 +185,19 @@ YTMusicThread::~YTMusicThread()
AsyncYTMusic *YTMusicThread::operator->()
{
return &m_ytm;
return m_ytm;
}
AsyncYTMusic &YTMusicThread::get()
{
return m_ytm;
return *m_ytm;
}
YTMusicThread::YTMusicThread()
: m_ytm(new AsyncYTMusic())
{
connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, m_ytm, &QObject::deleteLater);
setObjectName(QStringLiteral("YTMusicAPI"));
m_ytm.moveToThread(this);
m_ytm->moveToThread(this);
start();
}
+38 -39
View File
@@ -6,11 +6,19 @@
#include <QObject>
#include <QThread>
#include <QFuture>
#include <QFutureWatcher>
#include <QCoroTask>
#include <QCoroFuture>
#include <iostream>
#include <vector>
#include <ytmusic.h>
constexpr QStringView YTMUSIC_WEB_BASE_URL = u"https://music.youtube.com/";
Q_DECLARE_METATYPE(std::vector<artist::Artist::Album>);
Q_DECLARE_METATYPE(std::vector<search::SearchResultItem>)
Q_DECLARE_METATYPE(artist::Artist)
@@ -53,30 +61,26 @@ class AsyncYTMusic : public QObject
public:
// public functions need to be thread safe
void search(const QString &query);
Q_SIGNAL void searchFinished(std::vector<search::SearchResultItem>);
QFuture<std::vector<search::SearchResultItem>> search(const QString &query);
void fetchArtist(const QString &channelId);
Q_SIGNAL void fetchArtistFinished(artist::Artist);
QFuture<artist::Artist> fetchArtist(const QString &channelId);
void fetchAlbum(const QString &browseId);
Q_SIGNAL void fetchAlbumFinished(album::Album);
QFuture<album::Album> fetchAlbum(const QString &browseId);
void fetchSong(const QString &videoId);
Q_SIGNAL void fetchSongFinished(song::Song);
QFuture<std::optional<song::Song> > fetchSong(const QString &videoId);
void fetchPlaylist(const QString &playlistId);
Q_SIGNAL void fetchPlaylistFinished(playlist::Playlist);
QFuture<playlist::Playlist> fetchPlaylist(const QString &playlistId);
void fetchArtistAlbums(const QString &channelId, const QString &params);
Q_SIGNAL void fetchArtistAlbumsFinished(std::vector<artist::Artist::Album>);
QFuture<std::vector<artist::Artist::Album>> fetchArtistAlbums(const QString &channelId, const QString &params);
void extractVideoInfo(const QString &videoId);
Q_SIGNAL void extractVideoInfoFinished(video_info::VideoInfo);
QFuture<video_info::VideoInfo> extractVideoInfo(const QString &videoId);
void fetchWatchPlaylist(const std::optional<QString> &videoId = std::nullopt ,
QFuture<watch::Playlist> fetchWatchPlaylist(const std::optional<QString> &videoId = std::nullopt ,
const std::optional<QString> &playlistId = std::nullopt);
Q_SIGNAL void fetchWatchPlaylistFinished(watch::Playlist);
QFuture<Lyrics> fetchLyrics(const QString &browseId);
QFuture<QString> version();
Q_SIGNAL void errorOccurred(const QString &error);
@@ -84,29 +88,24 @@ protected:
explicit AsyncYTMusic(QObject *parent = nullptr);
private:
Q_SIGNAL void startSearch(const QString &query);
Q_SLOT void internalSearch(const QString &query);
/// Invokes the given function on the thread of the YTMusic object, and handles exceptions that occur while invoking it.
template <typename Func>
QFuture<std::invoke_result_t<Func>> invokeAndCatchOnThread(Func fun) {
using ReturnType = std::invoke_result_t<Func>;
auto interface = std::make_shared<QFutureInterface<ReturnType>>();
QMetaObject::invokeMethod(this, [=, this]() {
ReturnType val;
try {
val = fun();
} catch (const std::exception &err) {
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
Q_SIGNAL void startFetchArtist(const QString &channelId);
Q_SLOT void internalFetchArtist(const QString &channelId);
Q_SIGNAL void startFetchAlbum(const QString &browseId);
Q_SLOT void internalFetchAlbum(const QString &browseId);
Q_SIGNAL void startFetchSong(const QString &videoId);
Q_SLOT void internalFetchSong(const QString &videoId);
Q_SIGNAL void startFetchPlaylist(const QString &playlistId);
Q_SLOT void internalFetchPlaylist(const QString &playlistId);
Q_SIGNAL void startFetchArtistAlbums(const QString &channelid, const QString &params);
Q_SLOT void internalFetchArtistAlbums(const QString &channelid, const QString &params);
Q_SIGNAL void startExtractVideoInfo(const QString &videoId);
Q_SLOT void internalExtractVideoInfo(const QString &videoId);
Q_SIGNAL void startFetchWatchPlaylist(const std::optional<QString> &videoId, const std::optional<QString> &playlistId);
Q_SLOT void internalFetchWatchPlaylist(const std::optional<QString> &videoId, const std::optional<QString> &playlistId);
interface->reportResult(val);
interface->reportFinished();
});
return interface->future();
}
// Python interpreter will be initialized from the thread calling the methods
Lazy<YTMusic> m_ytm;
@@ -123,5 +122,5 @@ public:
private:
YTMusicThread();
AsyncYTMusic m_ytm;
AsyncYTMusic *m_ytm;
};
+32
View File
@@ -0,0 +1,32 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#include "blur.h"
#include <KWindowEffects>
#include <QQuickWindow>
#include <QQuickItem>
Blur::Blur(QObject *parent): QObject(parent)
{
}
void Blur::setBlur(QQuickItem *item, bool blur)
{
auto setWindows = [item, blur]() {
auto reg = QRect(QPoint(0, 0), item->window()->size());
KWindowEffects::enableBackgroundContrast(item->window(), blur, 1, 1, 1, reg);
KWindowEffects::enableBlurBehind(item->window(), blur, reg);
};
disconnect(item->window(), &QQuickWindow::heightChanged, this, nullptr);
disconnect(item->window(), &QQuickWindow::widthChanged, this, nullptr);
connect(item->window(), &QQuickWindow::heightChanged, this, setWindows);
connect(item->window(), &QQuickWindow::widthChanged, this, setWindows);
setWindows();
}
+20
View File
@@ -0,0 +1,20 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#pragma once
#include <QObject>
class QQuickItem;
class Blur : public QObject
{
Q_OBJECT
public:
Blur(QObject *parent = 0);
Q_INVOKABLE void setBlur(QQuickItem *item, bool blur);
};
+23
View File
@@ -0,0 +1,23 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "clipboard.h"
#include <QClipboard>
#include <QGuiApplication>
Clipboard::Clipboard(QObject *parent)
: QObject{parent}
{
}
void Clipboard::setText(const QString &text)
{
QGuiApplication::clipboard()->setText(text);
Q_EMIT textChanged();
}
QString Clipboard::text() const
{
return QGuiApplication::clipboard()->text();
}
+24
View File
@@ -0,0 +1,24 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#ifndef CLIPBOARD_H
#define CLIPBOARD_H
#include <QObject>
class Clipboard : public QObject
{
Q_OBJECT
Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
public:
explicit Clipboard(QObject *parent = nullptr);
void setText(const QString &text);
QString text() const;
Q_SIGNAL void textChanged();
};
#endif // CLIPBOARD_H
+13
View File
@@ -0,0 +1,13 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
import QtQuick 2.15
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
import org.kde.ytmusic 1.0
FormCard.AboutPage {
aboutData: About
}
+181
View File
@@ -0,0 +1,181 @@
// SPDX-FileCopyrightText: 2023 Jonah Brüchert <[email protected]>
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import Qt5Compat.GraphicalEffects
import QtQuick.Controls 2.15 as Controls
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.15 as Kirigami
Item {
id: root
property alias contentItem: content.children
property alias title: favTitle.text
property alias subtitle: favSubtitle.text
property bool showIcon: true
signal clicked
signal optionsClicked
implicitWidth: mainLayout.implicitWidth
implicitHeight: mainLayout.implicitHeight
MouseArea {
id: coverArea
acceptedButtons: Qt.LeftButton | Qt.RightButton
anchors.fill: parent
onClicked: (mouse) => {
if (mouse.button === Qt.RightButton) {
root.optionsClicked()
} else if (mouse.button === Qt.LeftButton) {
root.clicked()
}
}
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput) {
selection.visible = true
favTitle.color = Kirigami.Theme.hoverColor
favSubtitle.color = Kirigami.Theme.hoverColor
favTitle.font.bold = true
playAnimationPosition.running = true
playAnimationOpacity.running = true
}
}
onExited: {
selection.visible = false
favTitle.color = Kirigami.Theme.textColor
favSubtitle.color = Kirigami.Theme.disabledTextColor
favTitle.font.bold = false
}
}
ColumnLayout {
id: mainLayout
anchors.fill: parent
Kirigami.ShadowedRectangle {
id: cover
color: Kirigami.Theme.backgroundColor
Layout.margins: 5
width: 200
height: 200
radius: 10
shadow.size: 15
shadow.xOffset: 5
shadow.yOffset: 5
shadow.color: Qt.rgba(0, 0, 0, 0.2)
Item {
id: icon
anchors.fill: parent
Item {
id: content
anchors.fill: parent
layer.enabled: true
layer.effect: OpacityMask {
maskSource: mask
}
}
Rectangle {
id: mask
anchors.fill: content
visible: false
radius: 10
}
}
Rectangle {
id: selection
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.hoverColor
radius: 10
opacity: 0.2
}
Item {
visible: root.showIcon
height: parent.height
width: parent.width
NumberAnimation on opacity {
id: playAnimationOpacity
easing.type: Easing.OutCubic
running: false
from: 0
to: 1
}
NumberAnimation on y {
id: playAnimationPosition
easing.type: Easing.OutCubic
running: false
from: 20
to: 0
duration: 100
}
Rectangle {
height: 45
width: 45
radius: 50
color: Kirigami.Theme.hoverColor
opacity: 0.8
anchors.centerIn: parent
}
Kirigami.Icon {
x: 100 - 0.43 * height
y: 100 - 0.5 * height
color: "white"
source: "media-playback-start"
}
}
visible: false
anchors.fill: parent
radius: 9
border.color: Kirigami.Theme.hoverColor
border.width: 2
color: "transparent"
}
}
RowLayout {
Layout.maximumWidth: 210
ColumnLayout {
Layout.fillWidth: true
Controls.Label {
id: favTitle
Layout.fillWidth: true
leftPadding: 5
elide: Text.ElideRight
enabled: false
}
Controls.Label {
id: favSubtitle
Layout.fillWidth: true
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
elide: Text.ElideRight
enabled: false
}
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "overflow-menu"
onPressed: root.optionsClicked()
}
}
}
}
+129 -35
View File
@@ -9,66 +9,160 @@ import QtQuick.Layouts 1.3
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
property alias browseId: albumModel.browseId
id: root
property string browseId
title: albumModel.title
actions {
main: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(albumModel.playlistId)
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !root.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
parent: overlay
x: root.width - width - margin
y: root.height - height - margin
NumberAnimation on y {
id: appear
easing.type: Easing.InCubic
running: false
from: root.height
to: root.height - action.height - action.margin
duration: 100
}
NumberAnimation on y {
id: disappear
easing.type: Easing.OutCubic
running: false
from: root.height - action.height - action.margin
to: root.height
duration: 100
onFinished: action.visible = false
}
rightAction: Kirigami.Action {
icon.name: "media-playlist-shuffle"
onTriggered: applicationWindow().playShufflePlaylist(albumModel.playlistId)
text: "Shuffle"
}
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
onTriggered: applicationWindow().playPlaylist(albumModel.playlistId)
text: "Play"
}
}
ListView {
header: Kirigami.ItemViewHeader {
backgroundImage.source: albumModel.thumbnailUrl
id: songList
footer: Item { height: 60 }
header: ListHeader {
visibleActions: [
Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(albumModel.playlistId)
}
},
Kirigami.Action {
icon.name: "media-playlist-shuffle"
text: i18n("Shuffle")
onTriggered: {
applicationWindow().playShufflePlaylist(albumModel.playlistId)
}
}
]
overflowActions: [
Kirigami.Action {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onTriggered: UserPlaylistModel.appendAlbum(albumModel)
},
Kirigami.Action {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(albumModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered:{
openShareMenu(albumModel.title, albumModel.webUrl)
}
}
]
title: albumModel.title
imageSourceURL: albumModel.thumbnailUrl
subtitle: i18n("Album • %1" , albumModel.artists)
width: songList.width
}
reuseItems: true
model: AlbumModel {
id: albumModel
browseId: root.browseId
}
delegate: Kirigami.SwipeListItem {
SongMenu {
id: menu
}
delegate: Controls.ItemDelegate {
id: delegateItem
required property string title
required property string videoId
required property var artists
required property string thumbnailUrl
required property string artistsDisplayString
required property int index
RowLayout {
Layout.fillHeight: true
Kirigami.Icon {
Layout.fillHeight: true
source: "emblem-music-symbolic"
}
width: parent.width
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: if (mouse.button === Qt.RightButton) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
} else if (mouse.button === Qt.LeftButton) {
play(delegateItem.videoId)
}
RowLayout {
id: content
anchors.fill: parent
Controls.Label {
text: (delegateItem.index + 1)
font.bold: true
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
Layout.preferredWidth: 30
}
Controls.Label {
Layout.fillWidth: true
text: delegateItem.title
elide: Qt.ElideRight
}
Controls.ToolButton {
icon.name: "overflow-menu"
text: i18n("More")
display: Controls.AbstractButton.IconOnly
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
}
}
actions: [
Kirigami.Action {
icon.name: "go-next"
text: i18n("Play Next")
onTriggered: UserPlaylistModel.playNext(delegateItem.videoId, delegateItem.title, delegateItem.artists)
},
Kirigami.Action {
icon.name: "media-playlist-append"
text: i18n("Add to Playlist")
onTriggered: UserPlaylistModel.append(delegateItem.videoId, delegateItem.title, delegateItem.artists)
}
]
onClicked: play(videoId)
}
Controls.BusyIndicator {
+147 -43
View File
@@ -7,17 +7,105 @@ import org.kde.kirigami 2.14 as Kirigami
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.3
import "components"
import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
property alias channelId: artistModel.channelId
id: root
property string channelId
property string radioId
property string shuffleId
title: artistModel.title
SongMenu {
id: menu
}
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !root.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
parent: overlay
x: root.width - width - margin
y: root.height - height - margin
NumberAnimation on y {
id: appear
easing.type: Easing.InCubic
running: false
from: root.height
to: root.height - action.height - action.margin
duration: 100
}
NumberAnimation on y {
id: disappear
easing.type: Easing.OutCubic
running: false
from: root.height - action.height - action.margin
to: root.height
duration: 100
onFinished: action.visible = false
}
rightAction: Kirigami.Action {
icon.name: "media-playlist-shuffle"
onTriggered: playPlaylist(shuffleId)
text: "Shuffle"
}
leftAction: Kirigami.Action {
icon.name: "radio"
onTriggered: playPlaylist(radioId)
text: "Radio"
}
}
ListView {
header: Kirigami.ItemViewHeader {
backgroundImage.source: artistModel.thumbnailUrl
id: songList
footer: Item { height: 60 }
header: ListHeader {
visibleActions: [
Kirigami.Action {
text: i18n("Radio")
icon.name: "radio"
onTriggered: playPlaylist(radioId)
visible: radioId
},
Kirigami.Action {
text: i18n("Shuffle")
icon.name: "media-playlist-shuffle"
onTriggered: playPlaylist(shuffleId)
visible: shuffleId
}
]
overflowActions: [
Kirigami.Action {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(artistModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered: {
openShareMenu(artistModel.title, artistModel.webUrl)
}
}
]
title: artistModel.title
imageSourceURL: artistModel.thumbnailUrl
subtitle: i18n("Artist")
rounded: true
width: songList.width
}
reuseItems: true
@@ -25,6 +113,8 @@ Kirigami.ScrollablePage {
model: ArtistModel {
id: artistModel
channelId: root.channelId
onOpenAlbum: (browseId) => {
pageStack.push("qrc:/AlbumPage.qml", {
"browseId": browseId
@@ -36,11 +126,22 @@ Kirigami.ScrollablePage {
}
onOpenVideo: (videoId, title) => {
askPlayVideoAudio(videoId, title)
videoPlayMessage.text = i18n("Video playback is not supported yet. Do you want to play only the audio of \"%1\"?", title)
videoPlayMessage.visible = true
videoPlayMessage.okAction = () => {
play(videoId)
videoPlayMessage.visible = false
}
videoPlayMessage.cancelAction = () => {
videoPlayMessage.visible = false
}
}
}
section.property: "type"
section.delegate: Kirigami.ListSectionHeader {
width: parent.width
text: {
switch(parseInt(section)) {
case ArtistModel.Album:
@@ -54,7 +155,8 @@ Kirigami.ScrollablePage {
}
}
}
delegate: Kirigami.SwipeListItem {
delegate: Controls.ItemDelegate {
id: delegateItem
required property string title
@@ -62,47 +164,45 @@ Kirigami.ScrollablePage {
required property int index
required property var artists
required property string videoId
required property string thumbnailUrl
RowLayout {
Layout.fillHeight: true
Kirigami.Icon {
Layout.fillHeight: true
source: {
switch (type) {
case ArtistModel.Album:
return "media-album-cover"
case ArtistModel.Single:
case ArtistModel.Song:
return "emblem-music-symbolic"
case ArtistModel.Video:
return "emblem-videos-symbolic"
}
width: parent.width
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: if (mouse.button === Qt.RightButton) {
if (type === ArtistModel.Song) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, artistModel.title)
}
} else if (mouse.button === Qt.LeftButton) {
artistModel.triggerItem(index)
}
RowLayout {
id: content
anchors.fill: parent
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius: 5
}
Controls.Label {
Layout.fillWidth: true
text: delegateItem.title
elide: Qt.ElideRight
}
Controls.ToolButton {
icon.name: "overflow-menu"
text: i18n("More")
display: Controls.AbstractButton.IconOnly
visible: type === ArtistModel.Song
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, artistModel.title)
}
}
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
}
}
actions: [
Kirigami.Action {
icon.name: "go-next"
text: i18n("Play Next")
visible: type === ArtistModel.Song
onTriggered: UserPlaylistModel.playNext(delegateItem.videoId, delegateItem.title, delegateItem.artists)
},
Kirigami.Action {
icon.name: "media-playlist-append"
text: i18n("Add to Playlist")
visible: type === ArtistModel.Song
onTriggered: UserPlaylistModel.append(delegateItem.videoId, delegateItem.title, delegateItem.artists)
}
]
onClicked: artistModel.triggerItem(index)
}
Controls.BusyIndicator {
@@ -110,4 +210,8 @@ Kirigami.ScrollablePage {
visible: artistModel.loading
}
}
footer: ConfirmationMessage {
id: videoPlayMessage
}
}
+98
View File
@@ -0,0 +1,98 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Controls 2.15 as Controls
import org.kde.ytmusic 1.0
import org.kde.kirigami 2.19 as Kirigami
import QtQuick.Layouts 1.15
Controls.Drawer {
id: root
property alias drawerContentItem: control.contentItem
property alias headerContentItem: headerContent.contentItem
edge: Qt.BottomEdge
height:contents.implicitHeight+20
width: applicationWindow().width
interactive: false
background: Kirigami.ShadowedRectangle{
corners.topRightRadius: 10
corners.topLeftRadius: 10
shadow.size: 20
shadow.color: Qt.rgba(0, 0, 0, 0.5)
color: Kirigami.Theme.backgroundColor
}
onAboutToShow: root.interactive = true
onClosed: root.interactive = false
ColumnLayout {
spacing: 0
id: contents
anchors.fill: parent
Kirigami.ShadowedRectangle{
visible: headerContentItem
height:header.implicitHeight/* +20*/
Layout.topMargin: 0
corners.topRightRadius: 10
corners.topLeftRadius: 10
Layout.bottomMargin: 0
Layout.fillWidth: true
Kirigami.Theme.colorSet: Kirigami.Theme.Header
color: Kirigami.Theme.backgroundColor
ColumnLayout{
spacing:0
anchors.fill: parent
id:header
clip: true
Rectangle {
Layout.margins: 5
radius:50
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.textColor
opacity: 0.5
width: 40
height: 4
}
Controls.Control {
topPadding: 0
leftPadding: 14
rightPadding: 14
bottomPadding: 14
Layout.fillHeight: true
Layout.fillWidth: true
id: headerContent
}
}
Kirigami.Separator{
anchors.bottom: parent.bottom
width: parent.width
}
}
Rectangle {
Layout.margins: 5
radius:50
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.textColor
opacity: 0.5
width: 40
height: 4
visible: !headerContentItem
}
Controls.Control {
topPadding: 0
leftPadding: 0
rightPadding: 0
bottomPadding: 0
Layout.margins: 0
Layout.fillHeight: true
Layout.fillWidth: true
id: control
}
}
}
+26
View File
@@ -0,0 +1,26 @@
// SPDX-FileCopyrightText: 2021 Dimitris Kardarakos <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import org.kde.kirigami 2.14 as Kirigami
Kirigami.InlineMessage {
property var okAction
property var cancelAction
visible: false
actions: [
Kirigami.Action {
text: i18n("OK")
onTriggered: okAction()
},
Kirigami.Action {
text: i18n("Cancel")
onTriggered: cancelAction()
}
]
}
+29
View File
@@ -0,0 +1,29 @@
// SPDX-FileCopyrightText: 2022 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Controls 2.15 as Controls
Controls.ScrollView {
property alias model: listView.model
property alias delegate: listView.delegate
property alias count: listView.count
property alias itemSpacing: listView.spacing
height: 250
contentHeight: 265
ListView {
id: listView
orientation: Qt.Horizontal
spacing: 10
height: 250
reuseItems: true
header: Item {
width: 20
}
}
}
+563
View File
@@ -0,0 +1,563 @@
// SPDX-FileCopyrightText: 2022 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.19 as Kirigami
import org.kde.kirigami.delegates as KirigamiDelegates
import org.kde.ytmusic 1.0
import "dialogs"
Kirigami.ScrollablePage {
objectName: "libraryPage"
Kirigami.Theme.colorSet: Kirigami.Theme.View
title: "AudioTube"
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 30
rightPadding: 0
leftPadding: 0
SongMenu {
id: menu
}
ColumnLayout {
RowLayout {
Layout.fillWidth: true
Kirigami.Heading {
text: i18n("Favourites")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
Controls.ToolButton {
visible: isWidescreen
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: UserPlaylistModel.playFavourites(Library.favourites, false)
}
Controls.ToolButton {
visible: isWidescreen
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: UserPlaylistModel.playFavourites(Library.favourites, true)
}
// Spacer
Item {
visible: !isWidescreen
Layout.fillWidth: true
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "view-more-symbolic"
onPressed: Kirigami.Settings.isMobile? favDrawer.open() : favMenu.popup()
Controls.Menu {
id: favMenu
Controls.MenuItem {
visible: !isWidescreen
text: i18n("Play")
icon.name: "media-playback-start"
onTriggered: UserPlaylistModel.playFavourites(Library.favourites, false)
}
Controls.MenuItem {
visible: !isWidescreen
text: i18n("Shuffle")
icon.name: "shuffle"
onTriggered: UserPlaylistModel.playFavourites(Library.favourites, true)
}
Controls.MenuItem {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onTriggered: UserPlaylistModel.appendFavourites(Library.favourites,false)
}
}
BottomDrawer{
id: favDrawer
drawerContentItem: ColumnLayout {
KirigamiDelegates.SubtitleDelegate{
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: {
UserPlaylistModel.playFavourites(Library.favourites, false)
favDrawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: {
UserPlaylistModel.playFavourites(Library.favourites, true)
favDrawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onClicked: {
UserPlaylistModel.appendFavourites(Library.favourites,false)
favDrawer.close()
}
}
Item{
Layout.fillHeight: true
}
}
}
}
Item {
visible: isWidescreen
Layout.fillWidth: true
}
Controls.ToolButton {
text: i18n("Show All")
Layout.alignment: Qt.AlignRight
icon.name: "arrow-right"
onClicked: {
pageStack.push(pool.loadPageWithProperties("qrc:/PlaybackHistory.qml#favourites", {
"title": i18n("Favourites"),
"objectName": "favourites"
}))
}
}
}
Kirigami.Icon {
id: favouritesPlaceholder
visible: favouriteRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
color: Kirigami.Theme.hoverColor
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
implicitWidth: 190
implicitHeight: 190
source: "qrc:/resources/favourites_placeholder.svg"
Controls.Label {
visible: favouriteRepeater.count === 0
color: Kirigami.Theme.disabledTextColor
text: i18n("No Favourites Yet")
font {
bold: true
pointSize: 15
}
anchors.centerIn: favouritesPlaceholder
}
}
HorizontalCoverView {
id: favouriteRepeater
Layout.fillWidth: true
model: Library.favourites
delegate: ColumnLayout {
id: delegateItem
required property string title
required property var artists
required property string artistsDisplayString
required property string videoId
required property int index
Layout.fillWidth: false
Layout.maximumWidth: 200
ThumbnailSource {
id: thumbnailSource
videoId: delegateItem.videoId
}
AlbumCoverItem {
Layout.fillWidth: true
Layout.fillHeight: true
onClicked: play(delegateItem.videoId)
onOptionsClicked: menu.openForSong(delegateItem.videoId,
delegateItem.title,
delegateItem.artists,
delegateItem.artistsDisplayString)
title: delegateItem.title
subtitle: delegateItem.artistsDisplayString
contentItem: Image {
source: thumbnailSource.cachedPath
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
}
}
Item {
height: 5
}
}
}
Item {
height: 20
}
RowLayout {
Layout.fillWidth: true
Kirigami.Heading {
text: i18n("Most played")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
Controls.ToolButton {
visible: isWidescreen
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, false)
}
Controls.ToolButton {
visible: isWidescreen
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, true)
}
// Spacer
Item {
visible: !isWidescreen
Layout.fillWidth: true
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "view-more-symbolic"
onPressed: Kirigami.Settings.isMobile? recDrawer.open() : recMenu.popup()
Controls.Menu {
id: recMenu
Controls.MenuItem {
visible: !isWidescreen
text: i18n("Play")
icon.name: "media-playback-start"
onTriggered: UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, false)
}
Controls.MenuItem {
visible: !isWidescreen
text: i18n("Shuffle")
icon.name: "shuffle"
onTriggered: UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, true)
}
Controls.MenuItem {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onTriggered: UserPlaylistModel.appendPlaybackHistory(Library.mostPlayed, false)
}
}
BottomDrawer{
id: recDrawer
drawerContentItem: ColumnLayout {
KirigamiDelegates.SubtitleDelegate{
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: {
UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, false)
recDrawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: {
UserPlaylistModel.playPlaybackHistory(Library.mostPlayed, true)
recDrawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onClicked: {
UserPlaylistModel.appendPlaybackHistory(Library.mostPlayed, false)
recDrawer.close()
}
}
Item{
Layout.fillHeight: true
}
}
}
}
Item {
visible: isWidescreen
Layout.fillWidth: true
}
Controls.ToolButton {
text: i18n("Show All")
Layout.alignment: Qt.AlignRight
icon.name: "arrow-right"
onClicked: {
pageStack.push(pool.loadPageWithProperties("qrc:/PlaybackHistory.qml#history", {
"title": i18n("Played Songs"),
"objectName": "history"
}))
}
}
}
Kirigami.Icon {
visible: mostPlayedRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
color: Kirigami.Theme.hoverColor
id:playedPlaceholder
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
implicitWidth: 190
implicitHeight: 190
source: "qrc:/resources/played_placeholder.svg"
Controls.Label {
visible: mostPlayedRepeater.count === 0
color: Kirigami.Theme.disabledTextColor
anchors.centerIn:playedPlaceholder
font.bold: true
font.pointSize: 15
text: i18n("No Songs Played Yet")
}
}
HorizontalCoverView {
id: mostPlayedRepeater
Layout.fillWidth: true
model: Library.mostPlayed
delegate: ColumnLayout {
id: mpdelegateItem
required property string title
required property var artists
required property string artistsDisplayString
required property string videoId
Layout.fillWidth: false
Layout.maximumWidth: 200
ThumbnailSource {
id: mpthumbnailSource
videoId: mpdelegateItem.videoId
}
AlbumCoverItem {
Layout.fillWidth: true
Layout.fillHeight: true
onClicked: play(mpdelegateItem.videoId)
onOptionsClicked: menu.openForSong(mpdelegateItem.videoId,
mpdelegateItem.title,
mpdelegateItem.artists,
mpdelegateItem.artistsDisplayString)
title: mpdelegateItem.title
subtitle: mpdelegateItem.artistsDisplayString
contentItem: Image {
source: mpthumbnailSource.cachedPath
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
}
}
Item {
height: 5
}
}
}
Item {
height: 20
}
RowLayout {
Layout.fillWidth: true
Kirigami.Heading {
text: i18n("Playlists")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
// Spacer
Item {
Layout.fillWidth: true
}
Controls.ToolButton {
text: i18n("Show All")
Layout.alignment: Qt.AlignRight
icon.name: "arrow-right"
onClicked: {pageStack.push("qrc:/LocalPlaylistsPage.qml", {
"objectName": "playlists"
})}
}
}
Kirigami.Icon {
id: playlistsPlaceholder
visible: playlistsRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
color: Kirigami.Theme.hoverColor
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
implicitWidth: 190
implicitHeight: 190
source: "qrc:/resources/playlist_placeholder.svg"
Controls.Label {
visible: favouriteRepeater.count === 0
color: Kirigami.Theme.disabledTextColor
text: i18n("No Playlists Yet")
font {
bold: true
pointSize: 15
}
anchors.centerIn: playlistsPlaceholder
}
}
RenamePlaylistDialog{
id: renamePlaylistDialog
playlistsModel: localPlaylistsModel
}
BottomDrawer{
id: playlistDrawer
property var modelData
drawerContentItem: ColumnLayout {
KirigamiDelegates.SubtitleDelegate{
text: i18n("Rename")
icon.name: "edit-entry"
onClicked: {
renamePlaylistDialog.modelData = playlistDrawer.modelData
renamePlaylistDialog.open()
playlistDrawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Delete")
icon.name: "delete"
onClicked: {
localPlaylistsModel.deletePlaylist(playlistDrawer.modelData.playlistId)
playlistDrawer.close()
}
}
}
}
Controls.Menu {
id: playlistMenu
property var modelData
Controls.MenuItem {
text: i18n("Rename")
icon.name: "edit-entry"
onTriggered:{
renamePlaylistDialog.modelData = playlistMenu.modelData
renamePlaylistDialog.open()
}
}
Controls.MenuItem {
text: i18n("Delete")
icon.name: "delete"
onTriggered:{
localPlaylistsModel.deletePlaylist(playlistMenu.modelData.playlistId)
}
}
}
HorizontalCoverView {
id: playlistsRepeater
Layout.fillWidth: true
model: LocalPlaylistsModel {
id: localPlaylistsModel
}
delegate: ColumnLayout {
id: playlistDelegate
required property var model
required property string playlistId
required property string title
required property string description
required property date createdOn
required property var thumbnailIds
Layout.fillWidth: false
Layout.maximumWidth: 200
Layout.preferredWidth: 200
AlbumCoverItem {
Layout.fillWidth: true
Layout.fillHeight: true
title: playlistDelegate.title
subtitle: playlistDelegate.description
showIcon: false
LocalPlaylistsModel{id:localPlaylistModel}
ThumbnailSource {
id: thumbnailSource1
videoId: thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource2
videoId: thumbnailIds[1] ?? thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource3
videoId: thumbnailIds[2] ?? thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource4
videoId: thumbnailIds[3] ?? thumbnailIds[0]
}
contentItem: PlaylistCover {
source1: thumbnailSource1.cachedPath
source2: thumbnailSource2.cachedPath
source3: thumbnailSource3.cachedPath
source4: thumbnailSource4.cachedPath
title: playlistDelegate.title
height: 200
width: height
radius: 10
}
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
onOptionsClicked:{
playlistMenu.modelData = playlistDelegate.model
playlistDrawer.modelData = playlistDelegate.model
Kirigami.Settings.isMobile? playlistDrawer.open() : playlistMenu.popup()
}
}
}
}
}
}
+176
View File
@@ -0,0 +1,176 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import org.kde.kirigami 2.14 as Kirigami
import org.kde.kirigami.delegates as KirigamiDelegates
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.3
import Qt5Compat.GraphicalEffects
import org.kde.ytmusic 1.0
Item {
id:root
required property string imageSourceURL
property bool rounded : false
required property string title
property string subtitle
property list<Kirigami.Action> visibleActions
property list<Kirigami.Action> overflowActions
height: root.width > 500 ? 200 : 400
Item {
anchors.fill: parent
Image {
scale: 1.8
anchors.fill: parent
asynchronous: true
source: imageSourceURL
fillMode: Image.PreserveAspectCrop
sourceSize.width: 512
sourceSize.height: 512
}
layer.enabled: true
layer.effect: HueSaturation {
cached: true
saturation: 1.9
layer.enabled: true
layer.effect: FastBlur {
cached: true
radius: 100
}
}
}
Rectangle {
anchors.fill: parent
gradient: Gradient{
GradientStop { position: -1.0; color: "transparent" }
GradientStop { position: 1.0; color: Kirigami.Theme.backgroundColor }
}
}
GridLayout {
width: parent.width
flow: root.width > 500?GridLayout.LeftToRight:GridLayout.TopToBottom
Kirigami.ShadowedRectangle {
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.backgroundColor
Layout.margins: 30
width: 150
height: width
radius: rounded ? 100 : 10
shadow.size: 15
shadow.xOffset: 5
shadow.yOffset: 5
shadow.color: Qt.rgba(0, 0, 0, 0.2)
RoundedImage {
source: imageSourceURL
height: parent.height
width: height
radius: rounded ? 100 : 10
}
}
ColumnLayout {
Layout.leftMargin: 30
Layout.rightMargin: 30
Layout.fillWidth: true
Controls.Label {
horizontalAlignment: (root.width <= 500)? Qt.AlignHCenter: Qt.AlignLeft
Layout.fillWidth: true
text: title
font.bold: true
font.pixelSize: 22
elide: Qt.ElideRight
}
Controls.Label {
horizontalAlignment: (root.width <= 500)? Qt.AlignHCenter: Qt.AlignLeft
Layout.fillWidth: true
text: subtitle
elide: Qt.ElideRight
}
RowLayout {
visible: root.visibleActions.length>0
Layout.topMargin: 30
Repeater {
model: root.visibleActions
delegate: Controls.RoundButton{
required property var modelData
Layout.fillWidth: root.width <= 500
leftPadding: 20
rightPadding: 20
icon.name: modelData.icon.name
text:modelData.text
onClicked: modelData.triggered()
visible: modelData.visible
}
}
Controls.Menu {
id: overflowMenu
Instantiator {
model: root.overflowActions
onObjectAdded: (index, object) => overflowMenu.insertItem(index, object)
onObjectRemoved: (index, object) => overflowMenu.removeItem(object)
delegate: Controls.MenuItem {
required property var modelData
icon.name: modelData.icon.name
text: modelData.text
onTriggered: modelData.triggered()
}
}
}
BottomDrawer{
id: overflowDrawer
drawerContentItem: ColumnLayout {
Repeater {
model: root.overflowActions
delegate: KirigamiDelegates.SubtitleDelegate{
required property var modelData
text: modelData.text
icon.name: modelData.icon.name
onClicked: {
modelData.triggered()
overflowDrawer.close()
overflowDrawer.interactive = false
}
}
}
Item{
Layout.fillHeight: true
}
}
}
Controls.RoundButton {
onClicked: if (Kirigami.Settings.isMobile) {
overflowDrawer.open()
overflowDrawer.interactive = true
} else {
overflowMenu.popup()
}
visible: root.overflowActions.length > 0
icon.name: "overflow-menu"
}
}
}
}
}
+178
View File
@@ -0,0 +1,178 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.14 as Kirigami
import org.kde.kirigami.delegates as KirigamiDelegates
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
id: root
property alias playlistId: playlistModel.playlistId
SongMenu {
id:menu
pageSpecificActions:[
Kirigami.Action {
text: i18n("Remove from Playlist")
icon.name: "list-remove"
onTriggered:{
playlistModel.removeSong(menu.videoId, root.playlistId)
}
}
]
}
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !root.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
parent: overlay
x: root.width - width - margin
y: root.height - height - margin
NumberAnimation on y {
id: appear
easing.type: Easing.InCubic
running: false
from: root.height
to: root.height - action.height - action.margin
duration: 100
}
NumberAnimation on y {
id: disappear
easing.type: Easing.OutCubic
running: false
from: root.height - action.height - action.margin
to: root.height
duration: 100
onFinished: action.visible = false
}
rightAction: Kirigami.Action {
icon.name: "media-playlist-shuffle"
text: i18n("Shuffle")
onTriggered: UserPlaylistModel.playLocalPlaylist(playlistModel, true)
}
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: UserPlaylistModel.playLocalPlaylist(playlistModel, false)
}
}
ListView {
footer: Item { height: 60 }
Kirigami.PlaceholderMessage {
text: i18n("This playlist is still empty")
anchors.centerIn: parent
visible: parent.count < 1
}
model: LocalPlaylistModel {
id: playlistModel
}
header: RowLayout{
spacing: Kirigami.Units.MediumSpacing
Controls.ToolButton {
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: UserPlaylistModel.playLocalPlaylist(playlistModel, false)
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: UserPlaylistModel.playLocalPlaylist(playlistModel, true)
}
Controls.ToolButton {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onClicked: UserPlaylistModel.appendLocalPlaylist(playlistModel, false)
}
Item {
Layout.fillWidth: true
}
}
delegate: Controls.ItemDelegate {
id: delegateItem
required property string title
required property string videoId
required property var artists
required property string artistsDisplayString
required property int index
width: parent.width
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: if (mouse.button === Qt.RightButton) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
} else if (mouse.button === Qt.LeftButton) {
play(videoId)
}
RowLayout {
id: content
anchors.fill: parent
ThumbnailSource {
id: thumbnailSource
videoId: delegateItem.videoId
}
RoundedImage {
source: thumbnailSource.cachedPath
height: 35
width: height
radius: 5
}
ColumnLayout {
Controls.Label {
text: delegateItem.title
Layout.fillWidth: true
elide: Qt.ElideRight
}
Controls.Label {
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
}
}
}
}
Controls.ToolButton {
icon.name: "overflow-menu"
text: i18n("More")
display: Controls.AbstractButton.IconOnly
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
}
}
}
+236
View File
@@ -0,0 +1,236 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15 as Controls
import org.kde.kirigami 2.15 as Kirigami
import org.kde.kirigami.delegates as KirigamiDelegates
import org.kde.ytmusic 1.0
import "dialogs"
Kirigami.ScrollablePage {
id: root
title: i18n("Playlists")
Kirigami.Theme.colorSet: Kirigami.Theme.View
rightPadding: 0
leftPadding: 15
RenamePlaylistDialog{
id: renamePlaylistDialog
playlistsModel: localPlaylistsModel
}
BottomDrawer{
id: drawer
property var modelData
drawerContentItem: ColumnLayout {
KirigamiDelegates.SubtitleDelegate{
text: i18n("Rename")
icon.name: "edit-entry"
onClicked: {
renamePlaylistDialog.modelData = drawer.modelData
renamePlaylistDialog.open()
drawer.close()
}
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Delete")
icon.name: "delete"
onClicked: {
localPlaylistsModel.deletePlaylist(drawer.modelData.playlistId)
drawer.close()
}
}
}
}
Controls.Menu {
id: menu
property var modelData
Controls.MenuItem {
text: i18n("Rename")
icon.name: "edit-entry"
onTriggered:{
renamePlaylistDialog.modelData = menu.modelData
renamePlaylistDialog.open()
}
}
Controls.MenuItem {
text: i18n("Delete")
icon.name: "delete"
onTriggered:{
localPlaylistsModel.deletePlaylist(menu.modelData.playlistId)
}
}
}
GridView {
id: grid
header: RowLayout {
width: parent.width
spacing: Kirigami.Units.mediumSpacing
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 25
Kirigami.Heading {
Layout.topMargin: 20
text: i18n("Playlists")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
AddPlaylistDialog {
id: addPlaylistDialog
model: localPlaylistsModel
}
ImportPlaylistDialog {
id: importPlaylistDialog
model: localPlaylistsModel
}
// Spacer
Item {
visible: isWidescreen
Layout.fillWidth: true
}
// Widescreen layout
Controls.ToolButton {
visible: isWidescreen
Layout.topMargin: 20
text: i18n("New Playlist")
Layout.alignment: Qt.AlignRight
icon.name: "list-add"
onClicked: addPlaylistDialog.open()
}
Controls.ToolButton {
visible: isWidescreen
Layout.topMargin: 20
text: i18n("Import Playlist")
Layout.alignment: Qt.AlignRight
icon.name: "download"
onClicked: importPlaylistDialog.open()
}
// Compact layout
Controls.ToolButton {
visible: !isWidescreen
Layout.fillHeight: true
icon.name: "list-add"
Layout.topMargin: 20
Layout.alignment: Qt.AlignRight
onPressed: Kirigami.Settings.isMobile? favDrawer.open() : favMenu.popup()
Controls.Menu {
id: favMenu
Controls.MenuItem {
text: i18n("New Playlist")
icon.name: "list-add"
onTriggered: addPlaylistDialog.open()
}
Controls.MenuItem {
text: i18n("Import Playlist")
icon.name: "download"
onTriggered: importPlaylistDialog.open()
}
}
BottomDrawer {
id: favDrawer
drawerContentItem: ColumnLayout {
KirigamiDelegates.SubtitleDelegate{
text: i18n("New Playlist")
icon.name: "list-add"
onClicked: addPlaylistDialog.open()
}
KirigamiDelegates.SubtitleDelegate{
text: i18n("Import Playlist")
icon.name: "download"
onClicked: importPlaylistDialog.open()
}
Item{
Layout.fillHeight: true
}
}
}
}
}
Layout.fillWidth: true
Layout.fillHeight: true
model: LocalPlaylistsModel{ id: localPlaylistsModel }
cellWidth: grid.width/(Math.floor(grid.width/230))
cellHeight: 280
delegate: ColumnLayout {
id: playlistDelegate
required property var model
required property string playlistId
required property string title
required property string description
required property date createdOn
required property var thumbnailIds
width: grid.cellWidth
AlbumCoverItem {
title: playlistDelegate.title
subtitle: playlistDelegate.description
showIcon: false
Layout.margins: 5
Layout.alignment: Qt.AlignHCenter
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
onOptionsClicked: {
menu.modelData = playlistDelegate.model
drawer.modelData = playlistDelegate.model
if (Kirigami.Settings.isMobile) {
drawer.open()
} else {
menu.popup()
}
}
LocalPlaylistsModel{id:localPlaylistModel}
ThumbnailSource {
id: thumbnailSource1
videoId: thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource2
videoId: thumbnailIds[1] ?? thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource3
videoId: thumbnailIds[2] ?? thumbnailIds[0]
}
ThumbnailSource {
id: thumbnailSource4
videoId: thumbnailIds[3] ?? thumbnailIds[0]
}
contentItem: PlaylistCover {
source1: thumbnailSource1.cachedPath
source2: thumbnailSource2.cachedPath
source3: thumbnailSource3.cachedPath
source4: thumbnailSource4.cachedPath
title: playlistDelegate.title
height: 200
width: height
radius: 10
}
}
}
}
}
File diff suppressed because it is too large. Load diff
+306
View File
@@ -0,0 +1,306 @@
// SPDX-FileCopyrightText: 2020-2022 Devin Lin <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import Qt5Compat.GraphicalEffects
import QtMultimedia
import org.kde.kirigami 2.19 as Kirigami
import org.kde.ytmusic 1.0
Item {
id: root
z: 2000
required property int progressBarHeight
required property int minimizedPlayerContentHeight
required property var info // VideoInfoExtractor object
required property var audio // Audio object
required property string thumbnail
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 50
signal requestOpen()
Shortcut {
sequence: "Ctrl+P"
onActivated: root.requestOpen()
}
Rectangle {
id: miniProgressBar
z: 1
anchors.top: parent.top
anchors.left: parent.left
height: root.progressBarHeight
color: Kirigami.Theme.highlightColor
width: parent.width * (audio.position / audio.duration)
}
states: [
State {
when: root.isWidescreen
AnchorChanges {
target: controlButtonBox
anchors.horizontalCenter: root.horizontalCenter
}
},
State {
when: true // default (fallback) state
AnchorChanges {
target: controlButtonBox
anchors.right: root.right
}
}
]
Rectangle {
id: trackInfoLayout
anchors {
top: parent.top
left: parent.left
bottom: parent.bottom
right: controlButtonBox.left
rightMargin: Kirigami.Units.largeSpacing
}
color: Qt.rgba(0, 0, 0, trackClick.containsMouse ? 0.1 : trackClick.pressed ? 0.3 : 0)
RowLayout {
anchors.fill: parent
anchors.leftMargin: Kirigami.Units.largeSpacing
spacing: Kirigami.Units.largeSpacing
// track image
Item {
property double imageSize: root.height - Kirigami.Units.largeSpacing * 2
Layout.alignment: Qt.AlignVCenter
Layout.maximumWidth: imageSize
Layout.preferredWidth: imageSize
Layout.maximumHeight: imageSize
Layout.minimumHeight: imageSize
RoundedImage {
id: mainIcon
anchors.fill: parent
visible: !loadingIndicator.visible
source: root.thumbnail
radius: 5
}
BusyIndicator {
id: loadingIndicator
anchors.centerIn: parent
visible: UserPlaylistModel.loading
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
}
// track information
ColumnLayout {
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Layout.fillWidth: true
Layout.fillHeight: true
Label {
id: mainLabel
text: info.title ? info.title : i18n("No media playing")
textFormat: Text.PlainText
wrapMode: Text.Wrap
Layout.fillWidth: true
horizontalAlignment: Text.AlignLeft
elide: Text.ElideRight
maximumLineCount: 1
// Hardcoded because the footerbar blur always makes a dark-ish
// background, so we don't want to use a color scheme color that
// might also be dark
color: Kirigami.Theme.textColor
font.weight: Font.Bold
}
Label {
id: authorLabel
text: info.artist ? info.artist : info.channel
textFormat: Text.PlainText
wrapMode: Text.Wrap
Layout.fillWidth: true
horizontalAlignment: Text.AlignLeft
elide: Text.ElideRight
maximumLineCount: 1
// Hardcoded because the footerbar blur always makes a dark-ish
// background, so we don't want to use a color scheme color that
// might also be dark
color: Kirigami.Theme.disabledTextColor
}
}
}
MouseArea {
id: trackClick
anchors.fill: parent
hoverEnabled: true
onClicked: root.requestOpen()
}
}
RowLayout {
id: controlButtonBox
anchors.top: parent.top
anchors.bottom: parent.bottom
// horizontal anchors (center or right) are managed by state
// transitions at the root component
spacing: 2
Label {
color: "white"
visible: info.title && root.isWidescreen
text: PlayerUtils.formatTimestamp(audio.position)
Layout.rightMargin: 20
}
Button {
id: skipBackwardButton
implicitHeight: 40
implicitWidth: 40
Layout.fillHeight: !isWidescreen
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
enabled: UserPlaylistModel.canSkipBack
onClicked: UserPlaylistModel.previous()
contentItem: Item {
Kirigami.Icon {
anchors.centerIn: parent
source:"media-skip-backward"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
background: Kirigami.ShadowedRectangle {
corners.topLeftRadius: isWidescreen ? 7 : 0
corners.bottomLeftRadius: isWidescreen ? 7 : 0
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if(parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered){
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
}
Button {
id: playPauseButton
implicitHeight: 40
implicitWidth: 60
Layout.fillHeight: !isWidescreen
onClicked: audio.playbackState === MediaPlayer.PlayingState ? audio.pause() : audio.play()
contentItem: Item {
Kirigami.Icon {
anchors.centerIn:parent
source: audio.playbackState === MediaPlayer.PlayingState ? "media-playback-pause" : "media-playback-start"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
background: Kirigami.ShadowedRectangle {
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
}
Button {
id: skipForwardButton
implicitHeight: 40
implicitWidth: 40
Layout.fillHeight: !isWidescreen
Layout.rightMargin: isWidescreen ? 0 : 10
Layout.alignment: !Qt.AlignVCenter
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
enabled: UserPlaylistModel.canSkip
onClicked: UserPlaylistModel.next()
contentItem: Item {
Kirigami.Icon {
anchors.centerIn: parent
source:"media-skip-forward"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
background: Kirigami.ShadowedRectangle {
corners.topRightRadius: isWidescreen ? 7 : 0
corners.bottomRightRadius: isWidescreen ? 7 : 0
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if(parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
}
Label {
color: "white"
visible: info.title && root.isWidescreen
text: PlayerUtils.formatTimestamp(audio.duration)
Layout.leftMargin: 20
}
}
}
+86
View File
@@ -0,0 +1,86 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.12
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.20 as Kirigami
import org.kde.ytmusic 1.0
Kirigami.NavigationTabBar {
id: root
anchors.bottom: parent.bottom
width:parent.width
backgroundColor: "transparent"
foregroundColor: "white"
highlightForegroundColor: "white"
actions: [
Kirigami.Action {
icon.name: "file-library-symbolic"
text: i18n("Library")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "libraryPage"
onTriggered: {
pageStack.clear()
pageStack.replace("qrc:/LibraryPage.qml")
applicationWindow().showSearch = false
}
},
Kirigami.Action {
icon.name: "search"
text: i18n("Search")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "searchPage"
onTriggered: {
pageStack.clear()
pageStack.replace("qrc:/SearchHistoryPage.qml",)
applicationWindow().showSearch = true
applicationWindow().searchField.forceActiveFocus();
}
},
Kirigami.Action {
icon.name: "non-starred-symbolic"
text: i18n("Favourites")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "favourites"
onTriggered: {
pageStack.clear()
pageStack.replace("qrc:/PlaybackHistory.qml", {
"dataModel": Library.favourites,
"title": i18n("Favourites"),
"objectName": "favourites"})
applicationWindow().showSearch = false
}
},
Kirigami.Action {
icon.name: "edit-undo-history"
text: i18n("Played Songs")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "history"
onTriggered: {
pageStack.clear()
pageStack.replace("qrc:/PlaybackHistory.qml", {
"dataModel": Library.playbackHistory,
"title": i18n("Played Songs"),
"objectName": "history"})
applicationWindow().showSearch = false
}
},
Kirigami.Action {
icon.name: "amarok_playlist"
text: i18n("Playlists")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "playlists"
onTriggered: {
pageStack.clear()
pageStack.replace("qrc:/LocalPlaylistsPage.qml", {
"objectName": "playlists"
})
applicationWindow().showSearch = false
}
}
]
}
+203
View File
@@ -0,0 +1,203 @@
// SPDX-FileCopyrightText: 2022 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15 as Controls
import org.kde.kirigami 2.15 as Kirigami
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
id: playbackHistoryPage
title: i18n("Unknown list of songs")
property QtObject dataModel: (objectName == "history") ? Library.playbackHistory : (objectName == "favourites" ? Library.favourites : null)
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !playbackHistoryPage.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
parent: overlay
x: playbackHistoryPage.width - width - margin
y: playbackHistoryPage.height - height - margin
NumberAnimation on y {
id: appear
easing.type: Easing.InCubic
running: false
from: playbackHistoryPage.height
to: playbackHistoryPage.height - action.height - action.margin
duration: 100
}
NumberAnimation on y {
id: disappear
easing.type: Easing.OutCubic
running: false
from: playbackHistoryPage.height - action.height - action.margin
to: playbackHistoryPage.height
duration: 100
onFinished: action.visible = false
}
rightAction: Kirigami.Action {
icon.name: "media-playlist-shuffle"
text: i18n("Shuffle")
onTriggered: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.playFavourites(Library.favourites, true)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: UserPlaylistModel.playPlaybackHistory(playbackHistoryPage.dataModel, true)
}
}
}
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.playFavourites(Library.favourites, false)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: UserPlaylistModel.playPlaybackHistory(playbackHistoryPage.dataModel, false)
}
}
}
}
SongMenu {
id: menu
}
ListView {
footer: Item { height: 60 }
header: RowLayout {
spacing: Kirigami.Units.mediumSpacing
Controls.ToolButton {
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.playFavourites(Library.favourites, false)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: UserPlaylistModel.playPlaybackHistory(playbackHistoryPage.dataModel, false)
}
}
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.playFavourites(Library.favourites, true)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: UserPlaylistModel.playPlaybackHistory(playbackHistoryPage.dataModel, true)
}
}
}
Controls.ToolButton {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onClicked: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.appendFavourites(Library.favourites,false)
}
else if(playbackHistoryPage.objectName == "history") {
UserPlaylistModel.appendPlaybackHistory(playbackHistoryPage.dataModel, false)
}
}
}
Item {
Layout.fillWidth: true
}
}
id: listView
reuseItems: true
Kirigami.PlaceholderMessage {
visible: listView.count < 1
text: i18n("No songs here yet")
anchors.centerIn: parent
}
model: playbackHistoryPage.dataModel
delegate: Controls.ItemDelegate {
id: delegateItem
required property string title
required property string videoId
required property var artists
required property string artistsDisplayString
required property int index
width: parent.width
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: mouse => {
if (mouse.button === Qt.RightButton) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
} else if (mouse.button === Qt.LeftButton) {
play(videoId)
}
}
RowLayout {
id: content
anchors.fill: parent
ThumbnailSource {
id: thumbnailSource
videoId: delegateItem.videoId
}
RoundedImage {
source: thumbnailSource.cachedPath
height: 35
width: height
radius: 5
}
ColumnLayout {
Controls.Label {
text: delegateItem.title
Layout.fillWidth: true
elide: Qt.ElideRight
}
Controls.Label {
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
}
}
Controls.ToolButton {
icon.name: "overflow-menu"
text: i18n("More")
display: Controls.AbstractButton.IconOnly
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
}
}
}
}
}
+179 -207
View File
@@ -1,251 +1,223 @@
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
// SPDX-FileCopyrightText: 2021 Bart De Vries <[email protected]>
// SPDX-FileCopyrightText: 2020-2022 Devin Lin <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.7
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.12 as Controls
import QtMultimedia
import Qt5Compat.GraphicalEffects
import org.kde.kirigami 2.12 as Kirigami
import org.kde.ytmusic 1.0
import QtMultimedia 5.12
ColumnLayout {
id: footerLayout
Flickable {
id: footerItem
property int footerSpacing: 0
property bool maximized: false
anchors.left: parent.left
anchors.right: parent.right
height: maximized ? applicationWindow().height : player.preferredHeight
readonly property int progressBarHeight: Kirigami.Units.gridUnit / 4
readonly property int minimizedPlayerContentHeight: Math.round(Kirigami.Units.gridUnit * 3.5)
readonly property int minimizedPlayerHeight: minimizedPlayerContentHeight + progressBarHeight
GridLayout {
id: playerLayout
readonly property string thumbnail: thumbnailSource.cachedPath
readonly property bool mobile: width > height
boundsBehavior: Flickable.StopAtBounds
Layout.fillHeight: footerLayout.maximized
Layout.fillWidth: true
flow: width > height ? GridLayout.LeftToRight : GridLayout.TopToBottom
visible: footerLayout.maximized
function close() {
toClose.restart();
}
Item {
Layout.fillWidth: info.thumbnail
Layout.fillHeight: info.thumbnail
Image {
anchors.fill: parent
source: info.thumbnail
fillMode: Image.PreserveAspectFit
}
}
Item {
Layout.fillWidth: true
Layout.fillHeight: true
Controls.ScrollView {
anchors.fill: parent
ListView {
anchors.fill: parent
id: playlistView
clip: true
Controls.BusyIndicator {
anchors.centerIn: parent
visible: UserPlaylistModel.loading || UserPlaylistModel.loading
}
onCountChanged: {
if (count < 1) {
footerLayout.maximized = false
}
}
model: UserPlaylistModel
delegate: Kirigami.SwipeListItem {
id: delegateItem
required property string title
required property string videoId
required property string artists
required property bool isCurrent
highlighted: isCurrent
onClicked: UserPlaylistModel.skipTo(videoId)
ColumnLayout {
Layout.fillWidth: true
Kirigami.Heading {
elide: Text.ElideRight
Layout.fillWidth: true
level: 2
text: title
}
Controls.Label {
elide: Text.ElideRight
Layout.fillWidth: true
text: artists
}
}
actions: [
Kirigami.Action {
text: i18n("Remove Track")
icon.name: "list-remove"
onTriggered: UserPlaylistModel.remove(delegateItem.videoId)
}
]
}
header: Controls.ToolBar {
anchors.left: parent.left
anchors.right: parent.right
RowLayout {
anchors.fill: parent
Item {
Layout.fillWidth: true
}
Controls.ToolButton {
text: i18n("Clear")
icon.name: "edit-clear-all"
onClicked: UserPlaylistModel.clear()
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "media-playlist-shuffle"
onClicked: UserPlaylistModel.shufflePlaylist()
}
}
}
function resetToBoundsOnFlick() {
if (!atYBeginning || !atYEnd) {
if (footerItem.verticalVelocity > 0) {
toOpen.restart();
} else if (footerItem.verticalVelocity < 0) {
toClose.restart();
} else { // i.e. when verticalVelocity === 0
if (contentY > contentHeight / 4) {
toOpen.restart();
} else {
toClose.restart();
}
}
}
}
Kirigami.Separator {
Layout.fillWidth: true
function resetToBoundsOnResize() {
if (contentY > contentHeight / 4) {
contentY = contentHeight / 2;
} else {
contentY = 0;
}
}
RowLayout {
id: player
NumberAnimation on contentY {
id: toOpen
from: contentY
to: contentHeight / 2
duration: Kirigami.Units.longDuration * 2
easing.type: Easing.OutCubic
running: false
}
Layout.fillWidth: true
Layout.fillHeight: !footer.maximized
NumberAnimation on contentY {
id: toClose
from: contentY
to: 0
duration: Kirigami.Units.longDuration * 2
easing.type: Easing.OutCubic
running: false
}
VideoInfoExtractor {
id: info
onSongChanged: audio.play()
videoId: UserPlaylistModel.currentVideoId
// snap to end
MouseArea {
anchors.fill: footerLayout
propagateComposedEvents: true
onPressed: {
toOpen.stop();
toClose.stop();
propagateComposedEvents = true;
}
onReleased: footerItem.resetToBoundsOnFlick()
}
Audio {
onMovementStarted: {
toOpen.stop();
toClose.stop();
}
onFlickStarted: resetToBoundsOnFlick()
onMovementEnded: resetToBoundsOnFlick()
onHeightChanged: resetToBoundsOnResize()
property var videoInfoExtractor: VideoInfoExtractor {
id: info
videoId: UserPlaylistModel.currentVideoId
onTitleChanged: {
let index = UserPlaylistModel.index(UserPlaylistModel.currentIndex, 0)
let videoId = UserPlaylistModel.data(index, UserPlaylistModel.VideoId)
let title = UserPlaylistModel.data(index, UserPlaylistModel.Title)
let artist = UserPlaylistModel.data(index, UserPlaylistModel.Artists)
let album = UserPlaylistModel.data(index, UserPlaylistModel.Album)
Library.addPlaybackHistoryItem(videoId, title, artist, album)
}
}
ThumbnailSource {
id: thumbnailSource
videoId: UserPlaylistModel.currentVideoId
}
property var audioPlayer: audioLoader.item
property var audioOutput: audioLoader.item.audioOutput
Loader {
id: audioLoader
active: true
asynchronous: true
sourceComponent: MediaPlayer {
id: audio
source: info.audioUrl
onStatusChanged: {
if (status === Audio.EndOfMedia) {
onSourceChanged: play()
onMediaStatusChanged: {
if (mediaStatus === MediaPlayer.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
}
}
}
Controls.ToolButton {
display: Controls.AbstractButton.IconOnly
Layout.preferredWidth: parent.height
Layout.fillHeight: true
enabled: info.audioUrl != ""
text: audio.playbackState === Audio.PlayingState ? i18n("Pause") : i18n("Play")
visible: !info.loading
icon.name: audio.playbackState === Audio.PlayingState ? "media-playback-pause" : "media-playback-start"
onClicked: audio.playbackState === Audio.PlayingState ? audio.pause() : audio.play()
}
Controls.ToolButton {
display: Controls.AbstractButton.IconOnly
Layout.preferredWidth: parent.height
Layout.fillHeight: true
enabled: UserPlaylistModel.canSkip
visible: !info.loading
icon.name: "media-skip-forward"
onClicked: UserPlaylistModel.next()
}
Controls.BusyIndicator {
Layout.fillHeight: true
visible: info.loading
}
ColumnLayout {
Layout.fillHeight: true
Layout.topMargin: Kirigami.Units.smallSpacing
Layout.bottomMargin: Kirigami.Units.smallSpacing
Kirigami.Heading {
level: 3
Layout.fillWidth: true
elide: Qt.ElideRight
text: info.title ? info.title : i18n("No media playing")
audioOutput: AudioOutput {
id: audioOutput
}
RowLayout{
Controls.Label{
visible: info.title
text: PlayerUtils.formatTimestamp(audio.position)
}
Controls.Slider {
Layout.fillWidth: true
from: 0
to: audio.duration
value: audio.position
enabled: audio.seekable
onMoved: {
console.log("Value:", value);
audio.seek(Math.floor(value));
}
Behavior on value {
NumberAnimation {
}
}
}
Controls.Label{
visible: info.title
text: PlayerUtils.formatTimestamp(audio.duration)
}
}
}
Controls.ToolButton {
display: Controls.AbstractButton.IconOnly
Layout.preferredWidth: parent.height
text: i18n("Expand")
enabled: playlistView.count > 0
Layout.fillHeight: true
icon.name: footerLayout.maximized ? "arrow-down" : "arrow-up"
onClicked: footerLayout.maximized = !footerLayout.maximized
}
}
Behavior on height {
NumberAnimation {
contentHeight: height * 2
ColumnLayout {
id: footerLayout
y:-footerSpacing
anchors.left: parent.left
anchors.right: parent.right
spacing: 0
// margin from top
Item {
Layout.minimumHeight: footerItem.height - footerItem.minimizedPlayerHeight
}
}
Controls.Control {
Layout.fillWidth: true
padding: 0
implicitHeight: footerItem.minimizedPlayerHeight+footerSpacing
// minimized player background
background: Item {
Rectangle {
anchors.fill: parent
color: Qt.rgba(25, 25, 30, 1)
}
Image {
opacity: 0.2
source: thumbnailSource.cachedPath
asynchronous: true
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
}
layer.enabled: true
layer.effect: HueSaturation {
cached: true
lightness: -0.7
saturation: 3
layer.enabled: true
layer.effect: FastBlur {
cached: true
radius: 64
transparentBorder: false
}
}
}
MinimizedPlayerControls {
progressBarHeight: footerItem.progressBarHeight
minimizedPlayerContentHeight: footerItem.minimizedPlayerContentHeight
height: minimizedPlayerHeight
focus: true
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
thumbnail: thumbnailSource.cachedPath
info: footerItem.videoInfoExtractor
audio: footerItem.audioPlayer
onRequestOpen: toOpen.start();
}
}
MaximizedPlayerPage {
id: maximizedPlayerPage
Layout.fillWidth: true
Layout.fillHeight: true
implicitHeight: footerItem.height
thumbnail: footerItem.videoInfoExtractor.thumbnail
info: footerItem.videoInfoExtractor
audio: footerItem.audioPlayer
onRequestClose: toClose.start();
}
}
}
+126
View File
@@ -0,0 +1,126 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Window 2.15
import Qt5Compat.GraphicalEffects
import QtQuick.Controls 2.15 as Controls
Item {
property alias radius: mask.radius
property alias source1: image1.source
property alias source2: image2.source
property alias source3: image3.source
property alias source4: image4.source
property string title
id: icon
layer.enabled: true
layer.effect: OpacityMask {
maskSource: mask
}
Rectangle{
anchors.fill: parent
color: Qt.rgba(Math.random(),Math.random(),Math.random(),0.4);
}
Image {
id:image1
anchors.top: parent.top
anchors.left: parent.left
width: parent.width/2
height: parent.height/2
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
Controls.Label{
z:-1
text: icon.title.charAt(0)
anchors.centerIn: parent
color: "White"
font.pixelSize: 40
font.capitalization: Font.AllUppercase
font.family: "Noto Serif"
font.bold: true
enabled: false
}
}
Image {
id:image2
anchors.top: parent.top
anchors.right: parent.right
width: parent.width/2
height: parent.height/2
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
Controls.Label{
z:-1
text: icon.title.charAt(1)
anchors.centerIn: parent
color: "White"
font.pixelSize: 40
font.capitalization: Font.AllUppercase
font.family: "Noto Serif"
font.bold: true
enabled: false
}
}
Image {
id:image3
anchors.bottom: parent.bottom
anchors.left: parent.left
width: parent.width/2
height: parent.height/2
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
Controls.Label{
z:-1
text: icon.title.charAt(2)
anchors.centerIn: parent
color: "White"
font.pixelSize: 40
font.capitalization: Font.AllUppercase
font.family: "Noto Serif"
font.bold: true
enabled: false
}
}
Image {
id:image4
anchors.bottom: parent.bottom
anchors.right: parent.right
width: parent.width/2
height: parent.height/2
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
Controls.Label{
z:-1
text: icon.title.charAt(3)
anchors.centerIn: parent
color: "White"
font.pixelSize: 40
font.capitalization: Font.AllUppercase
font.family: "Noto Serif"
font.bold: true
enabled: false
}
}
Rectangle {
id: mask
anchors.fill: parent
visible: false
}
}
+153 -36
View File
@@ -9,72 +9,189 @@ import org.kde.kirigami 2.12 as Kirigami
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
property alias playlistId: playlistModel.playlistId
id: root
required property string playlistId
title: playlistModel.title
actions {
main: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(playlistModel.playlistId)
SongMenu {
id: menu
}
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !root.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
parent: overlay
x: root.width - width - margin
y: root.height - height - margin
NumberAnimation on y {
id: appear
easing.type: Easing.InCubic
running: false
from: root.height
to: root.height - action.height - action.margin
duration: 100
}
right: Kirigami.Action {
NumberAnimation on y {
id: disappear
easing.type: Easing.OutCubic
running: false
from: root.height - action.height - action.margin
to: root.height
duration: 100
onFinished: action.visible = false
}
rightAction: Kirigami.Action {
icon.name: "media-playlist-shuffle"
text: i18n("Shuffle")
onTriggered: {
applicationWindow().playShufflePlaylist(playlistModel.playlistId)
}
}
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(playlistModel.playlistId)
}
}
}
PlaylistImporter {
id: localPlaylistsModel
onImportFinished: {
applicationWindow().showPassiveNotification(i18n("Playlist successfully imported"))
}
}
ListView {
header: Kirigami.ItemViewHeader {
backgroundImage.source: playlistModel.thumbnailUrl
id: songList
footer: Item { height: 60 }
header: ListHeader {
visibleActions: [
Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(playlistModel.playlistId)
}
},
Kirigami.Action {
icon.name: "media-playlist-shuffle"
text: i18n("Shuffle")
onTriggered: {
applicationWindow().playShufflePlaylist(playlistModel.playlistId)
}
}
]
overflowActions: [
Kirigami.Action {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onTriggered: UserPlaylistModel.appendPlaylist(playlistModel)
},
Kirigami.Action {
text: i18n("Import Playlist")
icon.name: "document-save"
onTriggered: localPlaylistsModel.importPlaylist(playlistModel.webUrl)
},
Kirigami.Action {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(playlistModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered:{
openShareMenu(playlistModel.title, playlistModel.webUrl)
}
}
]
title: playlistModel.title
imageSourceURL: playlistModel.thumbnailUrl
width: songList.width
subtitle: i18n("Playlist")
}
model: PlaylistModel {
id: playlistModel
playlistId: root.playlistId
}
reuseItems: true
delegate: Kirigami.SwipeListItem {
delegate: Controls.ItemDelegate {
id: delegateItem
required property string title
required property string videoId
required property var artists
required property string thumbnailUrl
required property string artistsDisplayString
required property int index
RowLayout {
Layout.fillHeight: true
Kirigami.Icon {
Layout.fillHeight: true
source: "emblem-music-symbolic"
}
width: parent.width
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: if (mouse.button === Qt.RightButton) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
} else if (mouse.button === Qt.LeftButton) {
play(videoId)
}
RowLayout {
id: content
anchors.fill: parent
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius: 5
}
ColumnLayout {
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
}
Controls.Label {
Layout.fillWidth: true
visible: delegateItem.artistsDisplayString
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
}
}
Controls.ToolButton {
icon.name: "overflow-menu"
text: i18n("More")
display: Controls.AbstractButton.IconOnly
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
}
}
actions: [
Kirigami.Action {
icon.name: "go-next"
text: i18n("Play Next")
onTriggered: UserPlaylistModel.playNext(delegateItem.videoId, delegateItem.title, delegateItem.artists)
},
Kirigami.Action {
icon.name: "media-playlist-append"
text: i18n("Add to Playlist")
onTriggered: UserPlaylistModel.append(delegateItem.videoId, delegateItem.title, delegateItem.artists)
}
]
onClicked: play(videoId)
}
Controls.BusyIndicator {
+33
View File
@@ -0,0 +1,33 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Window 2.15
import Qt5Compat.GraphicalEffects
Item {
property alias radius: mask.radius
property alias source: image.source
id: icon
Image {
id:image
source: source
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
layer.enabled: true
layer.effect: OpacityMask {
maskSource: mask
}
}
Rectangle {
id: mask
anchors.fill: parent
visible: false
}
}
+97
View File
@@ -0,0 +1,97 @@
// SPDX-FileCopyrightText: Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigami 2.12 as Kirigami
import QtQuick.Controls 2.15 as Controls
import QtQuick 2.15
import QtQuick.Layouts 1.15
import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
objectName: "searchPage"
topPadding: 0
bottomPadding: 0
leftPadding: 0
rightPadding: 0
Kirigami.Theme.colorSet: Kirigami.Theme.View
ColumnLayout {
Controls.ScrollView {
Layout.fillWidth: true
id: recents
visible: searchLoader.text && recentsRepeater.count > 0
leftPadding: 10
topPadding: 10
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
RowLayout {
id: recentsLayout
spacing: 10
Layout.fillWidth: true
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: LocalSearchModel {
searchQuery: searchLoader.text
}
delegate: searchAlbum
}
}
}
Kirigami.Separator {
Layout.fillWidth: true
visible: recents.visible
}
id: completionList
Repeater {
Layout.fillHeight: true
Layout.fillWidth: true
model: Library.searches
delegate: Controls.ItemDelegate {
implicitHeight: Kirigami.Units.gridUnit * 2
Layout.fillWidth: true
required property string searchQuery
contentItem: RowLayout {
Kirigami.Icon {
source: "search"
implicitHeight: Kirigami.Units.gridUnit
implicitWidth: Kirigami.Units.gridUnit
color: Kirigami.Theme.disabledTextColor
}
Controls.Label {
text: searchQuery
Layout.fillWidth: true
elide: Text.ElideRight
}
Controls.ToolButton {
icon.name: "list-remove"
text: i18n("remove from search history")
display: Controls.AbstractButton.IconOnly
onClicked: {
Library.removeSearch(model.display)
}
}
}
onClicked: {
searchLoader.text = model.display
searchLoader.accepted()
}
}
}
}
}
+100 -61
View File
@@ -10,13 +10,39 @@ import org.kde.kirigami 2.14 as Kirigami
import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
id: searchPage
property alias searchQuery: searchModel.searchQuery
title: searchQuery
objectName: "searchPage"
title: listView.count === 0 && !searchModel.loading? i18n("Previous Searches:") : searchQuery
ListView {
reuseItems: true
section.delegate: Kirigami.ListSectionHeader {
width: parent.width
required property string section
text: {
switch (parseInt(section)) {
case SearchModel.Album:
return i18n("Albums")
case SearchModel.Artist:
return i18n("Artists")
case SearchModel.Playlist:
return i18n("Playlists")
case SearchModel.Song:
return i18n("Songs")
case SearchModel.Video:
return i18n("Videos")
case SearchModel.TopResult:
return i18n("Top Results")
}
return i18n("Unknown")
}
}
section.property: "type"
id: listView
model: SearchModel {
id: searchModel
@@ -26,9 +52,11 @@ Kirigami.ScrollablePage {
})
}
onOpenArtist: (channelId) => {
onOpenArtist: (channelId, radioId, shuffleId) => {
pageStack.push("qrc:/ArtistPage.qml", {
"channelId": channelId
"channelId": channelId,
"radioId": radioId,
"shuffleId": shuffleId
})
}
@@ -43,84 +71,95 @@ Kirigami.ScrollablePage {
}
onOpenVideo: (videoId, title) => {
askPlayVideoAudio(videoId, title)
videoPlayMessage.text = i18n("Video playback is not supported yet. Do you want to play only the audio of \"%1\"?", title)
videoPlayMessage.visible = true
videoPlayMessage.okAction = function() {
play(videoId)
videoPlayMessage.visible = false
}
videoPlayMessage.cancelAction = function() {
videoPlayMessage.visible = false
}
}
}
delegate: Kirigami.SwipeListItem {
SongMenu {
id: menu
}
delegate: Controls.ItemDelegate {
id: delegateItem
required property int index
required property string title
required property int type
required property string videoId
required property var artists
required property string artistsDisplayString
required property string radioPlaylistId
required property string thumbnailUrl
RowLayout {
Layout.fillHeight: true
Kirigami.Icon {
Layout.fillHeight: true
source: {
switch (type) {
case SearchModel.Artist:
return "view-media-artist"
case SearchModel.Album:
return "media-album-cover"
case SearchModel.Playlist:
return "view-media-playlist"
case SearchModel.Song:
return "emblem-music-symbolic"
case SearchModel.Video:
return "emblem-videos-symbolic"
width: parent.width
contentItem: MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: (mouse) => {
if (mouse.button === Qt.RightButton) {
if (delegateItem.type === SearchModel.Song || delegateItem.type === SearchModel.Video) {
menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
} else if (mouse.button === Qt.LeftButton) {
searchModel.triggerItem(index)
}
}
RowLayout {
id: content
anchors.fill: parent
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius: delegateItem.type === SearchModel.Artist ? height / 2 : 5
}
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
ColumnLayout {
Layout.fillWidth: true
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
}
Controls.Label {
Layout.fillWidth: true
visible: delegateItem.artistsDisplayString
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
}
}
Controls.ToolButton {
icon.name: "overflow-menu"
display: Controls.AbstractButton.IconOnly
text: i18n("More")
visible: delegateItem.type === SearchModel.Song || delegateItem.type === SearchModel.Video
onClicked: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
}
}
actions: [
Kirigami.Action {
icon.name: "go-next"
text: i18n("Play next")
visible: delegateItem.type === SearchModel.Song
onTriggered: UserPlaylistModel.playNext(delegateItem.videoId, delegateItem.title, delegateItem.artists)
},
Kirigami.Action {
icon.name: "media-playlist-append"
text: i18n("Add to Playlist")
visible: delegateItem.type === SearchModel.Song
onTriggered: UserPlaylistModel.append(delegateItem.videoId, delegateItem.title, delegateItem.artists)
},
Kirigami.Action {
icon.name: "radio"
text: i18n("Radio")
visible: delegateItem.type === SearchModel.Artist && delegateItem.radioPlaylistId
onTriggered: playPlaylist(delegateItem.radioPlaylistId)
}
]
onClicked: searchModel.triggerItem(index)
}
Controls.BusyIndicator {
anchors.centerIn: parent
visible: searchModel.loading
}
Kirigami.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (Kirigami.Units.largeSpacing * 4)
}
visible: parent.count === 0 && !searchModel.loading
text: i18n("Find music on YouTube Music")
helpfulAction: Kirigami.Action {
onTriggered: searchField.forceActiveFocus()
text: "Search"
icon.name: "search"
}
}
footer: ConfirmationMessage {
id: videoPlayMessage
}
}
+414
View File
@@ -0,0 +1,414 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.14 as Kirigami
import Qt5Compat.GraphicalEffects
import org.kde.ytmusic 1.0
Item {
function forceFocus(){searchField.forceActiveFocus()}
function accepted(){searchField.accepted()}
property alias text: searchField.text
id: root
Controls.TextField{
id: dummy
x:searchField.x
y:searchField.y
width: searchField.width
readOnly: true
}
Kirigami.SearchField {
id: searchField
autoAccept: false
width: root.width
selectByMouse: true
onFocusChanged: {
Library.searches.filter = text
if (wideScreen && focus)
popup.open()
}
onTextEdited: {
Library.searches.filter = text
if(completionList.count === 0) {
//no matching search -> message should display
Library.temporarySearch = ""
}
else {
Library.temporarySearch = text
}
}
Keys.onPressed: {
if(completionList.count > 0) {
if (event.key === Qt.Key_Down) {
if(completionList.selectedDelegate === -1 || completionList.selectedDelegate === completionList.count - 1) {
completionList.selectedDelegate = 0
mainScrollView.contentItem.contentY = 0
}
else {
++completionList.selectedDelegate
if(!completionList.isSelectedDelegateVisible()) {
if(!recentsRepeater.visible) {
mainScrollView.contentItem.contentY = (completionList.selectedDelegate + 1) * completionList.empiricDelegateHeight - mainScrollView.height
}
else {
mainScrollView.contentItem.contentY = (completionList.selectedDelegate + 1) * completionList.empiricDelegateHeight + recentsRepeater.height + mainScrollViewLayout.spacing - mainScrollView.height
}
}
}
event.accepted = true
}
else if(event.key === Qt.Key_Up) {
if(completionList.selectedDelegate === -1 || completionList.selectedDelegate === 0) {
completionList.selectedDelegate = completionList.count - 1
mainScrollView.contentItem.contentY = mainScrollView.contentHeight - mainScrollView.height
}
else {
--completionList.selectedDelegate
if(!completionList.isSelectedDelegateVisible()) {
if(!recentsRepeater.visible) {
mainScrollView.contentItem.contentY = completionList.empiricDelegateHeight * completionList.selectedDelegate
}
else {
mainScrollView.contentItem.contentY = completionList.empiricDelegateHeight * completionList.selectedDelegate + recentsRepeater.height + mainScrollViewLayout.spacing
}
}
}
event.accepted = true
}
if(event.accepted) {
text = completionList.itemAt(completionList.selectedDelegate).text
}
else {
completionList.selectedDelegate = -1
mainScrollView.contentItem.contentY = 0
}
}
}
onAccepted: {
popup.close()
completionList.selectedDelegate = -1
Library.temporarySearch = ""
while (pageStack.depth > 0) {
pageStack.pop()
}
pageStack.layers.clear()
if (text) {
Library.addSearch(text)
pageStack.push("qrc:/SearchPage.qml", {
"searchQuery": text,
objectName: "searchPage"
})
} else {
wideScreen
? pageStack.push("qrc:/LibraryPage.qml")
: pageStack.push("qrc:/SearchHistoryPage.qml")
}
searchField.focus = false
}
}
Controls.Popup {
id: popup
property int expansion: 5
property int shadowSize: 15
onAboutToShow:{
searchField.parent = fieldContainer
onOpened: searchField.background.visible = false
playOpenHeight.running = true
playOpenWidth.running = true
playOpenX.running = true
playOpenY.running = true
playOpenRadius.running = true
}
onAboutToHide:{
searchField.parent = root
onOpened: searchField.background.visible = true
searchField.focus = false
playCloseHeight.running = true
playCloseWidth.running = true
playCloseX.running = true
playCloseY.running = true
playCloseRadius.running = true
}
x: -(popup.shadowSize+popup.expansion)
y: -(popup.shadowSize+popup.expansion)
rightPadding:popup.shadowSize+1
leftPadding:popup.shadowSize+1
bottomPadding:popup.shadowSize
rightInset: popup.shadowSize
leftInset: popup.shadowSize
bottomInset: popup.shadowSize
leftMargin:-popup.shadowSize
background: Kirigami.ShadowedRectangle{
id: bg
Kirigami.Theme.inherit: false
Kirigami.Theme.colorSet: Kirigami.Theme.View
color: Kirigami.Theme.backgroundColor
radius: popup.expansion+2
shadow.size: popup.shadowSize
shadow.yOffset: popup.expansion
shadow.color: Qt.rgba(0, 0, 0, 0.2)
border.width: 1
border.color: Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.3);
NumberAnimation on radius{
id: playOpenRadius
easing.type: Easing.OutCubic
running: false
from: 2
duration: 100
to: popup.expansion+2
}
NumberAnimation on radius{
id: playCloseRadius
easing.type: Easing.OutCubic
running: false
from: popup.expansion+2
duration: 100
to: 2
}
}
width: searchField.width + 2*(popup.shadowSize+popup.expansion)
height: completionList
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
NumberAnimation on height{
id: playOpenHeight
easing.type: Easing.OutCubic
running: false
from: searchField.height
duration: 200
to: completionList
? (Library.searches.filter && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
? (Math.min(fieldContainer.height+ (completionList.count) * (completionList.delegateHeight + completionList.delegatePadding) + Kirigami.Separator.implicitHeight + recentsRepeater.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (completionList.count === 0
?(Math.min(fieldContainer.height+ noMatchingSearchLabel.height + 2*noMatchingSearchLabel.Layout.margins, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
:(Math.min(fieldContainer.height+ (completionList.count) * (completionList.delegateHeight + 2.725*completionList.delegatePadding) + 2*mainScrollViewLayout.spacing, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
)
)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
}
NumberAnimation on width{
id: playOpenWidth
easing.type: Easing.OutCubic
running: false
from: searchField.width
duration: 100
to: searchField.width +2*(popup.shadowSize+popup.expansion)
}
NumberAnimation on x{
id: playOpenX
easing.type: Easing.OutCubic
running: false
from: 0
duration: 100
to: -(popup.shadowSize+popup.expansion)
}
NumberAnimation on y{
id: playOpenY
easing.type: Easing.OutCubic
running: false
from: 0
duration: 100
to: -popup.expansion
}
NumberAnimation on height{
id: playCloseHeight
easing.type: Easing.OutCubic
running: false
from: completionList
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
duration: 100
to: searchField.height
}
NumberAnimation on width{
id: playCloseWidth
easing.type: Easing.OutCubic
running: false
from: searchField.width + 2*(popup.shadowSize+popup.expansion)
duration: 100
to: searchField.width + 2*(popup.shadowSize)
}
NumberAnimation on x{
id: playCloseX
easing.type: Easing.OutCubic
running: false
from: -(popup.shadowSize+popup.expansion)
duration: 100
to: -popup.shadowSize
}
NumberAnimation on y{
id: playCloseY
easing.type: Easing.OutCubic
running: false
from: - popup.expansion
duration: 100
to: -0
}
property alias fieldContainer: fieldContainer
contentItem: ColumnLayout{
id: content
width: parent.width
Controls.Control{
Layout.fillHeight: true
Layout.fillWidth: true
Controls.Control{
x: popup.expansion
y:-popup.expansion
id: fieldContainer
height:searchField.height
}
implicitHeight: fieldContainer.height
}
Controls.ScrollView {
id: mainScrollView
implicitHeight: mainScrollViewLayout.implicitHeight
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
Keys.enabled: false
contentWidth: availableWidth
ColumnLayout {
id: mainScrollViewLayout
width: mainScrollView.contentWidth
HorizontalCoverView {
id: recentsRepeater
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
contentHeight: 120
itemSpacing: 0
Layout.fillWidth: true
visible: Library.searches.filter && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
model: LocalSearchModel {
searchQuery: Library.searches.filter
}
delegate: searchAlbum
}
Kirigami.Separator {
visible: recentsRepeater.visible
Layout.fillWidth: true
implicitWidth: popup.width
}
RowLayout{
id: noMatchingSearchLabel
Layout.margins: 10
visible: completionList.count == 0
Kirigami.Icon {
source: "documentinfo"
implicitHeight: Kirigami.Units.gridUnit
implicitWidth: Kirigami.Units.gridUnit
color: Kirigami.Theme.disabledTextColor
}
Controls.Label {
text: i18n("No matching previous searches")
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
}
}
Repeater {
Layout.fillWidth: true
property int selectedDelegate: -1
property int delegateHeight: Kirigami.Units.gridUnit
property int delegatePadding: Kirigami.Units.smallSpacing
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
id: completionList
model: Library.searches
function isSelectedDelegateVisible() {
if(!recentsRepeater.visible) {
return selectedDelegate * empiricDelegateHeight > mainScrollView.contentItem.contentY && (selectedDelegate + 1) * empiricDelegateHeight < mainScrollView.contentItem.contentY + mainScrollView.height
}
else {
return selectedDelegate * empiricDelegateHeight + recentsRepeater.height > mainScrollView.contentItem.contentY && (selectedDelegate + 1) * empiricDelegateHeight + recentsRepeater.height < mainScrollView.contentItem.contentY + mainScrollView.height
}
}
delegate: Controls.ItemDelegate {
required property string searchQuery
required property int index
id: completionDelegate
highlighted: focus || (completionList.selectedDelegate == index)
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
Layout.fillWidth: true
height: completionList.delegateHeight
text: searchQuery
padding: completionList.delegatePadding
spacing: 0
contentItem: RowLayout {
Kirigami.Icon {
source: "search"
implicitHeight: completionList.delegateHeight
implicitWidth: completionList.delegateHeight
color: Kirigami.Theme.disabledTextColor
}
Controls.Label{
text: searchQuery
Layout.fillWidth: true
elide: Text.ElideRight
}
Controls.ToolButton {
icon.name: "list-remove"
text: i18n("remove from search history")
display: Controls.AbstractButton.IconOnly
onClicked: {
Library.removeSearch(completionDelegate.searchQuery)
}
implicitHeight: completionList.delegateHeight
visible: Library.temporarySearch == "" || index != 0
}
}
onClicked: {
searchField.text = searchQuery
searchField.accepted()
}
}
}
}
}
}
}
}
Loaded 100 of 177 files, more files were not shown because too many files have changed in this diff. Show more