Compare commits

...
Author SHA1 Message Date
Jonah Brüchert 50c2607a75 Windows fixes 2023-10-22 19:07:43 +02:00
l10n daemon script aaef6e81ea GIT_SILENT Sync po/docbooks with svn 2023-10-22 04:00:47 +00:00
l10n daemon script abffb362e7 GIT_SILENT Sync po/docbooks with svn 2023-10-13 03:09:55 +00:00
Scarlett Moore eceda70072 snapcraft: enable devmode for now, still network failures in fully confined. 2023-10-12 09:57:25 -07:00
Scarlett Moore b687090dd3 snapcraft: add back qcoro not yet in content pack 2023-10-12 08:03:59 -07:00
Scarlett Moore 40214f1221 snapcraft: add back kirigmai-addons as it is not in content pack. 2023-10-12 07:27:49 -07:00
Scarlett Moore 75a06c0818 snapcraft: bump content pack version. 2023-10-12 06:16:25 -07:00
Scarlett Moore 36d3af991a snapcraft: Several fixes,
build yt-dlp with ffmpeg support
build ytmusicapi latest
Add missing gstreamer plugins
Add alsa support for sound
Add network-manager plugs
2023-10-11 04:12:43 -07:00
l10n daemon script eb7a388bbe GIT_SILENT Sync po/docbooks with svn 2023-10-11 04:02:22 +00:00
Heiko Becker e589292372 GIT_SILENT Update Appstream for new release 2023-10-07 17:58:46 +02:00
Heiko Becker b6bb0b8b65 GIT_SILENT Upgrade release service version to 23.08.2. 2023-10-07 17:04:59 +02:00
l10n daemon script 83b477acca GIT_SILENT Sync po/docbooks with svn 2023-10-07 03:07:52 +00:00
Scarlett Moore 61af43a9d2 snapcraft: fix dbus slot name.
Add missing cmake flag for pybind.
Remove phantomjs no longer needed.
Update to new arch triplet env var.
New content pack.
Add network-manager-observe plug.
2023-10-05 05:52:39 -07:00
Scarlett Moore 7a6662cf07 snapcraft: fix qqc env. 2023-10-03 07:24:38 -07:00
Scarlett Moore e29f79d0bd snapcraft: add network-observe plug, add libsqlite and purpose qml 2023-10-03 06:01:16 -07:00
Scarlett Moore 1690ebc277 snapcraft: Initial add files. 2023-10-03 05:02:50 -07:00
l10n daemon script 2133c1a477 GIT_SILENT Sync po/docbooks with svn 2023-10-01 03:35:52 +00:00
l10n daemon script 2ff5d3f509 GIT_SILENT Sync po/docbooks with svn 2023-09-17 03:59:35 +00:00
Heiko Becker 665501728e GIT_SILENT Update Appstream for new release 2023-09-09 11:03:37 +02:00
Heiko Becker 199f84a145 GIT_SILENT Upgrade release service version to 23.08.1. 2023-09-09 10:23:32 +02:00
l10n daemon script a561fd5b23 GIT_SILENT Sync po/docbooks with svn 2023-09-03 04:01:09 +00:00
l10n daemon script 4d13ac42bc GIT_SILENT Sync po/docbooks with svn 2023-08-28 04:00:55 +00:00
l10n daemon script 498eee8f0e GIT_SILENT Sync po/docbooks with svn 2023-08-25 03:07:21 +00:00
l10n daemon script a10a1c86da GIT_SILENT Sync po/docbooks with svn 2023-08-21 03:06:44 +00:00
Heiko Becker e6d1c52d8f GIT_SILENT Update Appstream for new release 2023-08-16 23:30:43 +02:00
Heiko Becker 656745dba2 GIT_SILENT Upgrade release service version to 23.08.0. 2023-08-16 22:26:17 +02:00
l10n daemon script 05f1fd6849 GIT_SILENT Sync po/docbooks with svn 2023-08-11 03:05:27 +00:00
Albert Astals Cid d1a2bde2d8 GIT_SILENT Upgrade release service version to 23.07.90. 2023-08-10 20:59:03 +02:00
l10n daemon script cc8baa05eb GIT_SILENT Sync po/docbooks with svn 2023-08-03 04:03:08 +00:00
l10n daemon script a74a59e8a5 GIT_SILENT Sync po/docbooks with svn 2023-07-31 04:03:05 +00:00
l10n daemon script bd5cc02341 GIT_SILENT Sync po/docbooks with svn 2023-07-29 03:08:38 +00:00
l10n daemon script 4fb0127d17 GIT_SILENT Sync po/docbooks with svn 2023-07-27 03:10:36 +00:00
l10n daemon script 2611cf8be3 GIT_SILENT Sync po/docbooks with svn 2023-07-24 11:03:12 +00:00
l10n daemon script cb501dce8d GIT_SILENT Sync po/docbooks with svn 2023-07-19 05:13:04 +00:00
l10n daemon script 6fbdf32a82 GIT_SILENT Sync po/docbooks with svn 2023-07-18 09:31:11 +00:00
l10n daemon script 61f8136121 GIT_SILENT made messages (after extraction) 2023-07-18 08:27:37 +00:00
l10n daemon script 725efe33ad GIT_SILENT made messages (after extraction) 2023-07-18 02:51:30 +00:00
Albert Astals Cid 492a206e9c GIT_SILENT Upgrade release service version to 23.07.80. 2023-07-17 11:21:57 +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
127 changed files with 16785 additions and 5048 deletions

No files matched your search

+1
View File
@@ -8,3 +8,4 @@ CMakeLists.txt.user
flatpak/flatpak-builder-tools/
build/
compile_commands.json
.cache
+3
View File
@@ -21,5 +21,8 @@ License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
Files: logo.png
org.kde.audiotube.svg
snap/gui/logo.png
snapcraft.yaml
Copyright: 2021 Mathis Brüchert <[email protected]>
2023 Scarlett Moore <[email protected]>
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+7 -4
View File
@@ -6,8 +6,8 @@ cmake_minimum_required(VERSION 3.16.0)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "23")
set(RELEASE_SERVICE_VERSION_MINOR "03")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION_MINOR "08")
set(RELEASE_SERVICE_VERSION_MICRO "2")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
@@ -30,6 +30,7 @@ include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(ECMPoQmTools)
include(ECMAddTests)
ecm_setup_version(${PROJECT_VERSION}
VARIABLE_PREFIX AUDIOTUBE
@@ -38,12 +39,14 @@ ecm_setup_version(${PROJECT_VERSION}
kde_enable_exceptions()
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent)
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 0.24.0 REQUIRED RUNTIME)
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
find_package(KF5KirigamiAddons 0.6.0 REQUIRED)
find_package(FutureSQL${QT_MAJOR_VERSION} REQUIRED)
find_package(QCoro${QT_MAJOR_VERSION} 0.9.0 REQUIRED COMPONENTS Core)
ki18n_install(po)
+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 -8
View File
@@ -12,8 +12,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
@@ -22,18 +22,18 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/3d/07/cfd8f52b9068877801317d26dc7225e19421bc659e1395d2cd6933b1a351/pycryptodomex-3.17.tar.gz",
"sha256": "0af93aad8d62e810247beedef0261c148790c52f3cd33643791cc6396dd217c1"
"url": "https://files.pythonhosted.org/packages/40/92/efd675dba957315d705f792b28d900bddc36f39252f6713961b4221ee9af/pycryptodomex-3.18.0.tar.gz",
"sha256": "3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/85/dc/549a807a53c13fd4a8dac286f117a7a71260defea9ec0c05d6027f2ae273/websockets-10.4.tar.gz",
"sha256": "eef610b23933c54d5d921c92578ae5f89813438fded840c2e9809d378dc765d3"
"url": "https://files.pythonhosted.org/packages/d8/3b/2ed38e52eed4cf277f9df5f0463a99199a04d9e29c9e227cfafa57bd3993/websockets-11.0.3.tar.gz",
"sha256": "88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/a7/df/498c57f641e9993376cf52489047158e6d660e8bab06b72c470ad5cce2bd/yt_dlp-2023.3.4-py2.py3-none-any.whl",
"sha256": "40ca421407ce07c8fd700854fd978d58526ec6fff3468caa34ff1c7333b8dc34"
"url": "https://files.pythonhosted.org/packages/65/9b/21628ca5bcf40f58c33f0fbb4927a1bb91e12f3c33a3cf8e29e03f6bc1d1/yt_dlp-2023.6.22-py2.py3-none-any.whl",
"sha256": "c559885322f7f492c1e7fc8f5a59e2a72e47719b59575599cf8b0e69ea70d0a8"
}
]
}
+8 -8
View File
@@ -7,8 +7,8 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
},
{
"type": "file",
@@ -22,18 +22,18 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl",
"sha256": "64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"
"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/fe/ca/466766e20b767ddb9b951202542310cba37ea5f2d792dae7589f1741af58/urllib3-1.26.14-py2.py3-none-any.whl",
"sha256": "75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"
"url": "https://files.pythonhosted.org/packages/8a/03/ad9306a50d05c166e3456fe810f33cee2b8b2a7a6818ec5d4908c4ec6b36/urllib3-2.0.3-py3-none-any.whl",
"sha256": "48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/14/a9/5ba638ca601c74f169e0e0b055526566f2fa6b6402233a29aba607dca58e/ytmusicapi-0.25.0-py3-none-any.whl",
"sha256": "be355bb3409c0e6c25a95ffd92213bd216561cdd8a0493a36a82d1726ff6efb9"
"url": "https://files.pythonhosted.org/packages/50/1c/24829fa937a3555bf782491669ec74e0afbae5adbd724d5ce1fd542062d1/ytmusicapi-1.1.0-py3-none-any.whl",
"sha256": "d7923e9b789b7107c75bd8e9010640cf99ce08d472f42a9bd9402088acfc4d49"
}
]
}
+20 -1
View File
@@ -14,11 +14,14 @@ SPDX-License-Identifier: CC0-1.0
<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>
@@ -45,11 +48,14 @@ SPDX-License-Identifier: CC0-1.0
<summary xml:lang="ca-valencia">Client convergent de 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="eo">Konverĝa kliento por YouTube Music</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="gl">Cliente converxente de música de YouTube.</summary>
<summary xml:lang="hi">अभिसृत यूट्यूब संगीत क्लाएंट</summary>
<summary xml:lang="ia">Cliente de musica de YouTube convergente</summary>
<summary xml:lang="id">Klien YouTube Music konvergen</summary>
<summary xml:lang="it">Client YouTube Music convergente</summary>
<summary xml:lang="ka">YouTube Music -ის კონვერგენტული კლიენტი</summary>
@@ -77,11 +83,14 @@ SPDX-License-Identifier: CC0-1.0
<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="ka">KDE-ის საზოგადოება</developer_name>
@@ -104,6 +113,13 @@ SPDX-License-Identifier: CC0-1.0
<content_rating type="oars-1.0"/>
<url type="homepage">https://apps.kde.org/en/audiotube</url>
<releases>
<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>
@@ -178,12 +194,15 @@ SPDX-License-Identifier: CC0-1.0
<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="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 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="id">AudioTube dapat menelusuri YouTube Music, daftarkan 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="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="ka">AudioTube -ს შეუძლია მოძებნოს მუსიკა YouTube-ზე, გაჩვენოთ ალბომებისა და შემსრულებლების სია, დაუკრას დაგენერირებული დასაკრავი სიები, ალბომები და საშუალებას გაძლევთ, თქვენი დასაკრავი სია შექმნათ.</p>
<p xml:lang="ko">AudioTube는 YouTube Music을 검색하고, 앨범과 아티스트를 표시하고, 자동 생성된 재생 목록, 앨범을 재생하고, 사용자 정의 재생 목록을 만들 수 있습니다.</p>
+6
View File
@@ -7,11 +7,14 @@ 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
@@ -39,11 +42,14 @@ 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[ka]=YouTube Music -ის კლიენტი
+26 -1
View File
@@ -12,7 +12,8 @@
"--socket=x11",
"--socket=wayland",
"--socket=pulseaudio",
"--device=dri"
"--device=dri",
"--own-name=org.mpris.MediaPlayer2.AudioTube"
],
"separate-locales": false,
"cleanup": [
@@ -24,6 +25,30 @@
"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.9.0.tar.gz",
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a"
}
]
},
{
"name": "futuresql",
"buildsystem": "cmake-ninja",
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/futuresql/futuresql-0.1.0.tar.xz",
"sha256": "ecd354c26c48a67795b0004e701066f6176d25d39adda1b8a1bf9c07fa48ba6a"
}
]
},
{
"name": "pybind11",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
+241 -94
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-02 11:59+0400\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -18,91 +18,100 @@ msgstr ""
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Generator: Lokalize 21.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "شغّل"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "اخلط"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "أضف للطابور"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "افتح في المتصفّح"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "الألبوم • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "المزيد"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "راديو"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "الفنّانون"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "الألبومات"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "فردي"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "أغاني"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "الفيديوهات"
@@ -118,24 +127,33 @@ msgid "Cancel"
msgstr "ألغِ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "قائمة التشغيل"
msgstr "عنوان قائمة التشغيل"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "قوائم التّشغيل"
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
@@ -144,7 +162,9 @@ msgid "Add Song to Playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "New Playlist"
@@ -163,8 +183,8 @@ msgstr "قائمة التشغيل"
msgid "Favourites"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "أظهر الكلّ"
@@ -175,89 +195,179 @@ msgstr "أظهر الكلّ"
msgid "No Favourites Yet"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "الأكثر تشغيلا"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "الأغاني المشغلة"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "لا يوجد أي أغنية بعد"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "قوائم التّشغيل"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "قوائم التّشغيل"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, fuzzy, kde-format
#| msgid "Remove from History"
msgid "Remove from Playlist"
msgstr "أزل من التّاريخ"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Import Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "تيوب الصوتي"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "لا يوجد وسائط تعمل"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favourites"
msgstr "أزل المفضلة"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favourites"
msgstr "أضف للمفضلة"
#: contents/ui/MaximizedPlayerPage.qml:451
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "افتح في المتصفّح"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "الأغاني المفضّلة"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "أزل المسار"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "قائمة التشغيل"
#| msgid "Queue"
msgid "Clear Queue"
msgstr "صُفّ"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "اخلط"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -272,22 +382,27 @@ msgstr "المكتبة"
msgid "Search"
msgstr "ابحث"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "قائمة غير معروفة من الأغاني"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "لا يوجد أي أغنية بعد"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "أزل من تاريخ البحث"
@@ -302,12 +417,17 @@ msgstr "البحوث الأخيرة:"
msgid "Artists"
msgstr "الفنّانون"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "مجهول"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "لا يوجد تطابق من البحوث الأخيرة"
@@ -363,77 +483,104 @@ msgid "Remove from History"
msgstr "أزل من التّاريخ"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "الأغاني المفضّلة"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "مشغل يوتيوب ميوزيك"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "زايد السعيدي"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "لا يوجد وصف"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
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 "Queue"
#~ msgstr "صُفّ"
#~ msgid "Lyrics"
#~ msgstr "الكلمات"
#~ msgid "Back"
#~ msgstr "عُد"
+230 -77
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
@@ -17,69 +17,79 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.04.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Başladın"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Qarışıq"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "İfaçılar"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -88,22 +98,22 @@ 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albomlar"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Musiqilər"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Mahnılar"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videolar"
@@ -138,6 +148,18 @@ msgstr "Mahnı siyahıları"
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"
@@ -145,7 +167,9 @@ msgid "Add Song to Playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
@@ -164,8 +188,8 @@ msgstr "Mahnı siyahıları"
msgid "Favourites"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Hamısı göstərilsin"
@@ -176,89 +200,176 @@ msgstr "Hamısı göstərilsin"
msgid "No Favourites Yet"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Daha çox dinlənilən"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Oxudulan mahnılar"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, 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:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Mahnı siyahıları"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "Mahnı siyahıları"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Media faylı oynadılmır"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove from Favourites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add to Favourites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Seçilmiş mahnılar"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Mahnını silin"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Mahnı siyahıları"
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Qarışıq"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -273,23 +384,28 @@ msgstr ""
msgid "Search"
msgstr "Axtarın"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Naməlum mahnı siyahısı"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Hələlik burada mahnılar yoxdur"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -304,12 +420,17 @@ msgstr ""
msgid "Artists"
msgstr "İfaçılar"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Bilinməyən"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -372,60 +493,95 @@ msgstr ""
msgid "Add to playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Seçilmiş mahnılar"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xəyyam Qocayev"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "Mahnı siyahıları"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, 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"
@@ -434,9 +590,6 @@ msgstr "Musiqini YouTube Musiqi-də tapın"
#~ msgid "Now Playing"
#~ msgstr "İndi səslənir"
#~ msgid "Queue"
#~ msgstr "Növbə"
#~ msgid "Back"
#~ msgstr "Geriyə"
+198 -76
View File
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 10:34+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca\n"
@@ -18,70 +18,82 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.12.0\n"
"X-Generator: Lokalize 22.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reprodueix"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Afegeix a la cua"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Obre en el navegador"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Comparteix"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Més"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Ràdio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -90,22 +102,22 @@ msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Àlbums"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -137,13 +149,25 @@ msgstr "Títol de la llista de reproducció"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Llista de reproducció nova"
@@ -160,8 +184,8 @@ msgstr "Reanomena la llista de reproducció"
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
@@ -171,85 +195,163 @@ msgstr "Mostra-ho tot"
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Encara no hi ha cap llista de reproducció"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Reanomena"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Suprimeix"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Elimina de la llista de reproducció"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Aquesta llista de reproducció encara està buida"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Afegeix a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obre el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Comparteix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Afegeix a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Neteja la llista de reproducció"
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons properes"
@@ -264,22 +366,27 @@ msgstr "Biblioteca"
msgid "Search"
msgstr "Cerca"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Llista desconeguda de cançons"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Encara no hi ha cap cançó"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "La llista de reproducció s'ha importat correctament"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de cerques"
@@ -294,12 +401,17 @@ msgstr "Cerques anteriors:"
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Resultats principals"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Desconeguda"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha cerques anteriors coincidents"
@@ -359,54 +471,64 @@ msgstr "Elimina de l'historial"
msgid "Add to playlist"
msgstr "Afegeix a la llista de reproducció"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Comparteix una cançó"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor musical del YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
+219 -105
View File
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-08 15:42+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca@valencia\n"
@@ -18,70 +18,82 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.12.0\n"
"X-Generator: Lokalize 22.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproduïx"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Afig a la cua"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Obri en el navegador"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Compartix"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Més"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Ràdio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -90,22 +102,22 @@ msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Àlbums"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -121,42 +133,49 @@ msgid "Cancel"
msgstr "Cancel·la"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Llista de reproducció"
msgstr "Afig una llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Llista de reproducció"
msgstr "Títol de la llista de reproducció"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Llistes de reproducció"
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 ""
msgstr "Afig una cançó a la llista de reproducció"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Llista de reproducció"
msgstr "Llista de reproducció nova"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Neteja la llista de reproducció"
msgstr "Canvia el nom la llista de reproducció"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -165,8 +184,8 @@ msgstr "Neteja la llista de reproducció"
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
@@ -176,87 +195,163 @@ msgstr "Mostra-ho tot"
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Llistes de reproducció"
msgstr "Encara no hi ha cap llista de reproducció"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Canvia el nom"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Suprimix"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Elimina de l'historial"
msgstr "Elimina de la llista de reproducció"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Esta llista de reproducció encara està buida"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Afig a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obri el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Afig a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Neteja la llista de reproducció"
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons properes"
@@ -271,22 +366,27 @@ msgstr "Biblioteca"
msgid "Search"
msgstr "Busca"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Llista desconeguda de cançons"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Encara no hi ha cap cançó"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "La llista de reproducció s'ha importat correctament"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de busques"
@@ -301,12 +401,17 @@ msgstr "Busques anteriors:"
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Resultats principals"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Desconeguda"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha busques anteriors coincidents"
@@ -324,7 +429,7 @@ msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat al porta-retalls"
msgstr "L'enllaç s'ha copiat a dins del porta-retalls"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -362,59 +467,68 @@ msgid "Remove from History"
msgstr "Elimina de l'historial"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Add to playlist"
msgstr "Llista de reproducció"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartix una cançó"
msgid "Add to playlist"
msgstr "Afig a la llista de reproducció"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor musical de YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunitat KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
+196 -74
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 13:48+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-05 11:14+0200\n"
"Last-Translator: Vit Pelcak <[email protected]>\n"
"Language-Team: Czech <[email protected]>\n"
"Language: cs\n"
@@ -15,70 +15,82 @@ msgstr ""
"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 22.12.3\n"
"X-Generator: Lokalize 23.04.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Přehrát"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Zamíchat"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Přidat do fronty"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Otevřít v prohlížeči"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Sdílet"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Více"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Umělec"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +99,22 @@ msgstr ""
"Přehrávání videa ještě není podporováno. Chcete z \"%1\" přehrávat pouze "
"zvuk?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Alba"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Písně"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videa"
@@ -134,13 +146,25 @@ msgstr "Název seznamu skladeb"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Nový seznam skladeb"
@@ -157,8 +181,8 @@ msgstr "Přejmenovat seznam skladeb"
msgid "Favourites"
msgstr "Oblíbené"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Zobrazit vše"
@@ -168,85 +192,163 @@ msgstr "Zobrazit vše"
msgid "No Favourites Yet"
msgstr "Zatím žádné oblíbené"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Nejčastěji hrané"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Přehrané skladby"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Zatím nebyly přehrány žádné skladby"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Seznamy skladeb"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Žádné seznamy skladeb"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Přejmenovat"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Smazat"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Odstranit ze seznamu skladeb"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Tento seznam skladeb je prázdný"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importovat seznam skladeb"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Nepřehrává se žádné médium"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Odstranit z oblíbených"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Přidat k oblíbeným"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otevřít šuplík hlasitosti"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Povolit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Ztlumit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrýt text písně"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Zobrazit text písně"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Sdílet píseň"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Přidat do místního seznamu stop"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Skrýt frontu"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Zobrazit frontu"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Odstranit skladbu"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Smazat seznam skladeb"
msgid "Clear Queue"
msgstr "Vymazat frontu"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Zamíchat frontu"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Nadcházející písně"
@@ -261,22 +363,27 @@ msgstr "Knihovna"
msgid "Search"
msgstr "Hledat"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Neznámý seznam skladeb"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Zatím zde nejsou žádné skladby"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Seznam skladeb byl úspěšně importován."
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Seznam skladeb"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "odstranit z historie hledání"
@@ -291,12 +398,17 @@ msgstr "Předchozí hledání:"
msgid "Artists"
msgstr "Umělci"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Nejlepší výsledky"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Neodpovídají žádná předchozí hledání"
@@ -356,54 +468,64 @@ msgstr "Odstranit z historie"
msgid "Add to playlist"
msgstr "Přidat do seznamu stop"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Sdílet píseň"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Přehrávač hudby YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunita KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Správce"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Návrhář"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vít Pelčák"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Neoficiální API pro hudbu YouTube"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Žádný popis"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Bez názvu"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Žádné album"
+269 -137
View File
@@ -8,80 +8,89 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-09 00:18+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+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 22.12.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 23.07.70\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Wiedergabe"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Zufällig"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Zur Warteschlange hinzufügen"
msgstr "An Warteschlange anhängen"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "In Browser öffnen"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Teilen"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Mehr"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Interpret"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -90,22 +99,22 @@ msgstr ""
"Die Video-Wiedergabe wird noch nicht unterstützt. Möchten Sie nur die "
"Audiospur von „%1“ abspielen?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Alben"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videos"
@@ -121,43 +130,49 @@ msgid "Cancel"
msgstr "Abbrechen"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Zur Wiedergabeliste hinzufügen"
msgstr "Wiedergabeliste hinzufügen"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Wiedergabeliste"
msgstr "Titel der Wiedergabeliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Wiedergabelisten"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Zur Wiedergabeliste hinzufügen"
msgstr "Lied zur Wiedergabeliste hinzufügen"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Wiedergabeliste"
msgstr "Neue Wiedergabeliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Wiedergabeliste"
msgstr "Wiedergabeliste umbenennen"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -166,104 +181,177 @@ msgstr "Wiedergabeliste"
msgid "Favourites"
msgstr "Favoriten"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Alle anzeigen"
#: contents/ui/LibraryPage.qml:147
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "No Favourites Yet"
msgstr "Favoriten"
msgstr "Noch keine Favoriten"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Am meisten abgespielt"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Abgespielte Stücke"
#: contents/ui/LibraryPage.qml:444
#, fuzzy, kde-format
#| msgid "No songs here yet"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Bisher keine Lieder hier"
msgstr "Bisher keine Lieder abgespielt"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Wiedergabelisten"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Wiedergabelisten"
msgstr "Bisher keine Wiedergabelisten"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Umbenennen"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Löschen"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Aus Verlauf löschen"
msgstr "Aus Wiedergabeliste entfernen"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Diese Wiedergabeliste ist noch leer"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Wiedergabeliste importieren"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Es werden keine Medien wiedergegeben"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Aus Favoriten entfernen"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Zu Favoriten hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Lautstärkenleiste öffnen"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Audio-Stummschaltung aufheben"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Audio stumm schalten"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedtext ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Liedtext anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Lied teilen"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Zu einer lokalen Wiedergabeliste hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Warteschlange ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Warteschlange anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Stück entfernen"
#: contents/ui/MaximizedPlayerPage.qml:869
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Warteschlange leeren"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Warteschlange durchmischen"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Kommende Lieder"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -275,22 +363,27 @@ msgstr "Bibliothek"
msgid "Search"
msgstr "Suchen"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Unbekannte Liste von Liedern"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Bisher keine Lieder hier"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Wiedergabeliste erfolgreich importiert"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Aus Suchverlauf löschen"
@@ -305,12 +398,17 @@ msgstr "Vorherige Suchvorgänge:"
msgid "Artists"
msgstr "Interpreten"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Beste Ergebnisse"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Unbekannt"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Keine passenden vorherigen Suchvorgänge"
@@ -318,22 +416,22 @@ msgstr "Keine passenden vorherigen Suchvorgänge"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Teilen auf"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Verknüpfung kopieren"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Verknüpfung in die Zwischenablage kopiert"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "Über"
#: contents/ui/Sidebar.qml:203
#, kde-format
@@ -366,64 +464,104 @@ msgid "Remove from History"
msgstr "Aus Verlauf löschen"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Zur Wiedergabeliste hinzufügen"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Lieblingsstücke"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube-Musikprogramm"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "Copyright © 2021-2023 Jonah Brüchert, 2021-2023 KDE-Gemeinschaft"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Betreuer"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Designer"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Deutsches KDE-Übersetzerteam"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Musik auf YouTube suchen"
msgstr "Inoffizielle API für Musik auf YouTube"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Keine Beschreibung"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Kein Titel"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Kein Album"
#~ 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"
@@ -431,12 +569,6 @@ msgstr "Musik auf YouTube suchen"
#~ msgid "Now Playing"
#~ msgstr "Aktueller Titel"
#~ msgid "Queue"
#~ msgstr "Warteschlange"
#~ msgid "Lyrics"
#~ msgstr "Liedtext"
#~ msgid "Back"
#~ msgstr "Zurück"
+244 -115
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-04 16:30+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -17,69 +17,80 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.03.70\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Play"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Shuffle"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Add to queue"
msgstr "Append to queue"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Open in Browser"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Share"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "More"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -88,22 +99,22 @@ msgstr ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videos"
@@ -119,43 +130,49 @@ msgid "Cancel"
msgstr "Cancel"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Add to Playlist"
msgstr "Add playlist"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Playlist"
msgstr "Playlist Title"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Playlists"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Add to Playlist"
msgstr "Add Song to Playlist"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Playlist"
msgstr "New Playlist"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Clear Playlist"
msgstr "Rename playlist"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -164,8 +181,8 @@ msgstr "Clear Playlist"
msgid "Favourites"
msgstr "Favourites"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Show All"
@@ -175,90 +192,166 @@ msgstr "Show All"
msgid "No Favourites Yet"
msgstr "No Favourites Yet"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Most played"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Played Songs"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "No Songs Played Yet"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Playlists"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Playlists"
msgstr "No Playlists Yet"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Rename"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Delete"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Remove from History"
msgstr "Remove from Playlist"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "This playlist is still empty"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Import Playlist"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "No media playing"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Remove from Favourites"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Add to Favourites"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Open Volume Drawer"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Unmute Audio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Mute Audio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Hide Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Show Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Share Song"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Add to a local playlist"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Hide Queue"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Show Queue"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Remove Track"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Clear Playlist"
msgid "Clear Queue"
msgstr "Clear Queue"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Shuffle Queue"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Upcoming Songs"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -270,22 +363,27 @@ msgstr "Library"
msgid "Search"
msgstr "Search"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Unknown list of songs"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "No songs here yet"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Playlist successfully imported"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Playlist"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remove from search history"
@@ -300,12 +398,17 @@ msgstr "Previous Searches:"
msgid "Artists"
msgstr "Artists"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Top Results"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Unknown"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No matching previous searches"
@@ -318,12 +421,12 @@ msgstr "Share to"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Copy Link"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Link copied to clipboard"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -361,75 +464,101 @@ msgid "Remove from History"
msgstr "Remove from History"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "Add to Playlist"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Share Song"
msgid "Add to playlist"
msgstr "Add to playlist"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube Music Player"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Maintainer"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Steve Allewell"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Unofficial API for YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "No description"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "No title"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "No album"
#, 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 "Queue"
#~ msgstr "Queue"
#~ msgid "Lyrics"
#~ msgstr "Lyrics"
#~ msgid "Back"
#~ msgstr "Back"
+227 -80
View File
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 11:48+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 18:57+0200\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
"Language: es\n"
@@ -17,70 +17,82 @@ msgstr ""
"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"
"X-Generator: Lokalize 23.04.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproducir"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Desordenar"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Añadir a la cola"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Abrir en el navegador"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Compartir"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Más"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -89,22 +101,22 @@ msgstr ""
"La reproducción de vídeo aún no está permitida. ¿Desea reproducir solo el "
"sonido de «%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbumes"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Sencillos"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Canciones"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -136,13 +148,25 @@ msgstr "Título de la lista de reproducción"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Nueva lista de reproducción"
@@ -159,8 +183,8 @@ msgstr "Cambiar nombre de la lista de reproducción"
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostrar todas"
@@ -170,85 +194,163 @@ msgstr "Mostrar todas"
msgid "No Favourites Yet"
msgstr "Todavía no hay favoritas"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Más reproducidas"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Canciones reproducidas"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Todavía no se han reproducido canciones"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listas de reproducción"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Todavía no hay listas de reproducción"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Cambiar nombre"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Borrar"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Eliminar de la lista de reproducción"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta lista de reproducción está vacía"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importar lista de reproducción"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Ningún medio en reproducción"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Eliminar de favoritas"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Añadir a favoritas"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir cajón del volumen"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Reanudar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letra"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letra"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartir canción"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Añadir a una lista de reproducción local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar cola"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostrar cola"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Eliminar pista"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Borrar la lista de reproducción"
msgid "Clear Queue"
msgstr "Borrar cola"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar cola"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas canciones"
@@ -263,22 +365,27 @@ msgstr "Biblioteca"
msgid "Search"
msgstr "Buscar"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de canciones desconocida"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Todavía no contiene canciones"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de reproducción importada correctamente"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista de reproducción"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "eliminar del historial de búsqueda"
@@ -293,12 +400,17 @@ msgstr "Búsquedas anteriores:"
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Resultados principales"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Desconocido"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "No hay búsquedas anteriores coincidentes"
@@ -358,58 +470,99 @@ msgstr "Eliminar del historial"
msgid "Add to playlist"
msgstr "Añadir a la lista de reproducción"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartir canción"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor de música de YouTube"
#: main.cpp:58
#: main.cpp:66
#, 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:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Responsable"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Diseñador"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Eloy Cuadra"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial para YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sin descripción"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Sin título"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Sin álbumes"
#~ 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"
@@ -419,12 +572,6 @@ msgstr "API no oficial para YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Reproduciendo"
#~ msgid "Queue"
#~ msgstr "Cola"
#~ msgid "Lyrics"
#~ msgstr "Letra"
#~ msgid "Back"
#~ msgstr "Volver"
+246 -118
View File
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-25 23:53+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-30 22:49+0200\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
"Language: eu\n"
@@ -18,71 +18,82 @@ msgstr ""
"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.2\n"
"X-Generator: Lokalize 23.04.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Jo"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Nahastu"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Gehitu ilaran"
msgstr "Jarri ilaran"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Ireki arakatzailean"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Partekatu"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Albuma • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Gehiago"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Irratia"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -91,22 +102,22 @@ msgstr ""
"Oraindik ez dago bideoa atzera jotzeko euskarririk. «%1»(r)en audioa "
"bakarrik jo nahi duzu?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumak"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Banakoa"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Abestiak"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Bideoak"
@@ -122,43 +133,49 @@ msgid "Cancel"
msgstr "Utzi"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Gehitu jotze-zerrendara"
msgstr "Gehitu jotze-zerrenda"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Jotze-zerrenda"
msgstr "Jotze-zerrendaren titulua"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Jotze-zerrendak"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Gehitu jotze-zerrendara"
msgstr "Gehitu abestia jotze-zerrendara"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Jotze-zerrenda"
msgstr "Jotze-zerrenda berria"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Garbitu jotze-zerrenda"
msgstr "Berrizendatu jotze-zerrenda"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -167,8 +184,8 @@ msgstr "Garbitu jotze-zerrenda"
msgid "Favourites"
msgstr "Gogokoak"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Erakutsi denak"
@@ -178,90 +195,166 @@ msgstr "Erakutsi denak"
msgid "No Favourites Yet"
msgstr "Oraindik Gogokorik ez"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Gehien jotakoa"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Jotako abestiak"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Oraindik ez dago jotako abestirik"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Jotze-zerrendak"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Jotze-zerrendak"
msgstr "Oraindik jotze-zerrendarik ez"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Berrizendatu"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Ezabatu"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Kendu historiatik"
msgstr "Kendu jotze-zerrendatik"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Jotze-zerrenda hau oraindik hutsik dago"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Ez da euskarririk jotzen ari"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Kendu gogokoetatik"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Gehitu gogokoetara"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ireki bolumenaren tiradera"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Ozendu audioa"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Isilarazi audioa"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%%1"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Ezkutatu hitzak"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Erakutsi hitzak"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Partekatu abestia"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Gehitu bertako jotze-zerrenda batera."
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Ezkutatu ilara"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Erakutsi ilara"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Kendu pista"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Garbitu jotze-zerrenda"
msgid "Clear Queue"
msgstr "Hustu ilara"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Nahastu ilara"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Hurrengo abestiak"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -273,22 +366,27 @@ msgstr "Liburutegia"
msgid "Search"
msgstr "Bilatu"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Abesti zerrenda ezezaguna"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Hemen oraindik ez dago abestirik"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Jotze-zerrenda ondo inportatu da"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Kendu bilaketa-historiatik"
@@ -303,12 +401,17 @@ msgstr "Aurreko bilaketak:"
msgid "Artists"
msgstr "Artistak"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Emaitza nagusiak"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Ezezaguna"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ez dago bat datorren aurreko bilaketarik"
@@ -316,17 +419,17 @@ msgstr "Ez dago bat datorren aurreko bilaketarik"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Partekatu honi,"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Kopiatu esteka"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Esteka arbelera kopiatu da"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -364,64 +467,95 @@ msgid "Remove from History"
msgstr "Kendu historiatik"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Gehitu jotze-zerrendara"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Gogoko abestiak"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube musika jotzailea"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Komunitatea"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Arduraduna"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Diseinatzailea"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Iñigo Salvador Azurmendi"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "«YouTube Music»erako API ez-ofiziala"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Deskribapenik ez"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Titulurik ez"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Albumik ez"
#, 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"
@@ -431,12 +565,6 @@ msgstr "«YouTube Music»erako API ez-ofiziala"
#~ msgid "Now Playing"
#~ msgstr "Orain jotzen"
#~ msgid "Queue"
#~ msgstr "Ilara"
#~ msgid "Lyrics"
#~ msgstr "Hitzak"
#~ msgid "Back"
#~ msgstr "Atzera"
+279 -155
View File
@@ -1,13 +1,13 @@
# 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.
# 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-03-09 00:45+0000\n"
"PO-Revision-Date: 2022-10-24 07:57+0300\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -15,71 +15,82 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 20.12.0\n"
"X-Generator: Lokalize 22.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Toista"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Sekoita"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "Lisää jonoon"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Avaa selaimeen"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Jaa"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Albumi • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
msgstr "Lisää"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#, fuzzy, kde-format
#| msgid "Artists"
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artistit"
msgstr "Artisti"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +98,22 @@ msgid ""
msgstr ""
"Videotoistoa ei vielä tueta. Haluatko toistaa videosta ”%1” vain äänen?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumit"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singlet"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Kappaleet"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videot"
@@ -118,43 +129,49 @@ msgid "Cancel"
msgstr "Peru"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Lisää soittolistaan"
msgstr "Lisää soittolista"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Title"
msgstr "Soittolistat"
msgstr "Soittolistan otsikko"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Soittolistat"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Lisää soittolistaan"
msgstr "Lisää kappale soittolistaan"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Soittolistat"
msgstr "Uusi soittolista"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Rename playlist"
msgstr "Soittolistat"
msgstr "Muuta soittolistan nimeä"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -163,180 +180,262 @@ msgstr "Soittolistat"
msgid "Favourites"
msgstr "Suosikit"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Näytä kaikki"
#: contents/ui/LibraryPage.qml:147
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "No Favourites Yet"
msgstr "Suosikit"
msgstr "Ei vielä suosikkeja"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Soitetuimmat"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Soitetut kappaleet"
#: contents/ui/LibraryPage.qml:444
#, fuzzy, kde-format
#| msgid "No songs here yet"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ei vielä kappaleita"
msgstr "Ei vielä soitettuja kappaleita"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Soittolistat"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Soittolistat"
msgstr "Ei vielä soittolistoja"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Muuta nimeä"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Poista"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Soittolistat"
msgstr "Poista soittolistalta"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Soittolista on yhä tyhjä"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Tuo soittolista"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Mitään ei toisteta"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Poista suosikeista"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Lisää suosikkeihin"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Avaa äänenvoimakkuus"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Poista äänen vaimennus"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Vaimenna ääni"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Piilota sanat"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Näytä sanoitukset"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Jaa kappale"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Lisää paikalliseen soittolistaan"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Piilota jono"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Näytä jono"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Poista raita"
#: contents/ui/MaximizedPlayerPage.qml:869
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Soittolistat"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Tyhjennä jono"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Sekoita jono"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Tulossa olevat kappaleet"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr ""
msgstr "Kirjasto"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, kde-format
msgid "Search"
msgstr "Etsi"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Tuntematon kappaleluettelo"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ei vielä kappaleita"
#: contents/ui/PlaylistPage.qml:67
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Soittolistat"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Soittolistan tuonti onnistui"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Soittolista"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "poista hakuhistoriasta"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
msgstr "Aiemmat haut:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistit"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Parhaat tulokset"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "Ei osumia aiemmista hauista"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Jaa kohteeseen"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Kopioi linkki"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Linkki kopioitu leikepöydälle"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "Tietoa"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
msgstr "Supista sivupaneeli"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
@@ -346,84 +445,112 @@ msgstr "Toista seuraava"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "Lisää jonoon"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Remove Favourite"
msgstr "Suosikit"
msgstr "Poista suosikki"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Add Favourite"
msgstr "Suosikit"
msgstr "Lisää suosikki"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr ""
msgstr "Poista historiasta"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Lisää soittolistaan"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Suosikkikappaleet"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube-musiikkisoitin"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-yhteisö"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Ylläpitäjä"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Suunnittelija"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Tommi Nieminen"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Etsi musiikkia Youtube Musicista"
msgstr "Epävirallinen YouTube Music -API"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Ei kuvausta"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Ei otsikkoa"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Ei albumia"
#, 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"
@@ -433,9 +560,6 @@ msgstr "Etsi musiikkia Youtube Musicista"
#~ msgid "Now Playing"
#~ msgstr "Nyt soi"
#~ msgid "Queue"
#~ msgstr "Jono"
#~ msgid "Back"
#~ msgstr "Takaisin"
+256 -118
View File
@@ -1,82 +1,94 @@
# Xavier Besnard <[email protected]>, 2021, 2022.
# Xavier BESNARD <xavier.besnard]neuf.fr>, 2022, 2023.
# SPDX-FileCopyrightText: 2021, 2022, 2023 Xavier Besnard <[email protected]>
# Xavier BESNARD <xavier.besnard@neuf.fr>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-08 14:34+0100\n"
"Last-Translator: Xavier BESNARD <xavier.besnard]neuf.fr>\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-10-11 18:48+0200\n"
"Last-Translator: Xavier BESNARD <xavier.besnard@neuf.fr>\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 22.12.3\n"
"X-Generator: Lokalize 23.08.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Lire"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Mélanger"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Ajouter à la file de lecture"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Ouvrir dans un navigateur"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Partager"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Et plus encore"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artiste"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -85,22 +97,22 @@ 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Titres uniques"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Chansons"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vidéos"
@@ -116,53 +128,59 @@ msgid "Cancel"
msgstr "Annuler"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Ajouter à la liste de lecture"
msgstr "Ajouter une liste de lecture"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Liste de lecture"
msgstr "Titre de la liste de lecture"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Listes de lecture"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Ajouter à la liste de lecture"
msgstr "Ajouter une chanson à la liste de lecture"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Liste de lecture"
msgstr "Nouvelle liste de lecture"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Effacer une liste de lecture"
msgstr "Renommer une liste de lecture"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
#: contents/ui/Sidebar.qml:131 contents/ui/Sidebar.qml:138
#, kde-format
msgid "Favourites"
msgstr "Favoris"
msgstr "Signets"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Tout afficher"
@@ -170,92 +188,168 @@ msgstr "Tout afficher"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr "Encore aucun favori"
msgstr "Encore aucun signet"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Les plus lus"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Titres lus"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Encore aucune chanson jouée"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listes de lecture"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Listes de lecture"
msgstr "Aucune liste de lecture pour l'instant"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Renommer"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Supprimer"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Supprimer de l'historique"
msgstr "Supprimer de la liste de lecture"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "La liste de lecture est vide pour l'instant."
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importer une liste de lecture"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Aucun média en lecture"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Supprimer des signets"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Ajouter aux signets"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ouvrir le réglage de volume"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Remettre le son"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Mettre le son en pause"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Masquer les paroles"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Afficher les paroles"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Partager une chanson"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Ajouter à la liste locale de lecture"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Masquer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Afficher la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Supprimer une piste"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Effacer une liste de lecture"
msgid "Clear Queue"
msgstr "Effacer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Re-distribuer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Prochaines chansons"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -267,22 +361,27 @@ msgstr "Bibliothèque"
msgid "Search"
msgstr "Rechercher"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Liste inconnue de titres"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Aucun titre ici encore"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "La liste de lecture a été importée avec succès"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Liste de lecture"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "supprimer de l'historique de recherche"
@@ -297,12 +396,17 @@ msgstr "Recherches précédentes :"
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Principaux résultats"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Inconnu"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Aucune correspondance avec les recherches précédentes"
@@ -345,12 +449,12 @@ msgstr "Ajouter à la file de lecture"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr "Supprimer un favori"
msgstr "Supprimer un signet"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr "Ajouter un favori"
msgstr "Ajouter un signet"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
@@ -358,62 +462,102 @@ msgid "Remove from History"
msgstr "Supprimer de l'historique"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Ajouter à la liste de lecture"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Partager une chanson"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Lecteur de musique pour YouTube"
#: main.cpp:58
#: main.cpp:66
#, 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:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mainteneur"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Concepteur"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xavier Besnard"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non officiel pour la musique sur « YouTube Music »"
msgstr "API non officiel pour la musique sur « YouTube Musique »"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Aucune description"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Aucun titre"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Aucun album"
#~ 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"
@@ -424,12 +568,6 @@ msgstr "API non officiel pour la musique sur « YouTube Music »"
#~ msgid "Now Playing"
#~ msgstr "En cours de lecture"
#~ msgid "Queue"
#~ msgstr "Mettre en file d'attente"
#~ msgid "Lyrics"
#~ msgstr "Paroles"
#~ msgid "Back"
#~ msgstr "En arrière"
+549
View File
@@ -0,0 +1,549 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Adrián Chaves (Gallaecio) <[email protected]>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-06-24 10:58+0200\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.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 ""
"Usando unha versión non probada de ytmusicapi, a %1. Informe á súa "
"distribución de detecta algún erro."
#: contents/ui/AlbumPage.qml:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproducir"
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Desordenar"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Engadir á cola"
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no navegador"
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Compartir"
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Álbum — %1"
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Máis"
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Intérprete"
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:26
#, 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:32
#, kde-format
msgid "Songs"
msgstr "Cancións"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, 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:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, 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:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
#: contents/ui/Sidebar.qml:131 contents/ui/Sidebar.qml:138
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Amosalo todo"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr "Non hai favoritas."
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Máis reproducido"
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Cancións reproducidas"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Non se reproduciron cancións."
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listas de reprodución"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Non hai listas de reprodución."
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Renomear"
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Eliminar"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Retirar da lista de reprodución"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "A lista de reprodución está baleira."
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importar unha lista de reprodución"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Non se está a reproducir nada."
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Retirar das favoritas"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Engadir ás favoritas"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir o caixón do volume"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Activar o son"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Agochar a letra"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Amosar a letra"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartir a canción"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Engadir a unha lista de reprodución local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Agochar a cola"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Amosar a cola"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Retirar a pista"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Borrar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Vindeiras cancións"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr "Colección"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, 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:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Importouse a lista."
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista de reprodución"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, 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:28
#, kde-format
msgid "Artists"
msgstr "Intérpretes"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Resultados principais"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Descoñecida"
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ningunha busca anterior coincide."
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr "Compartir con"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr "Copiar a ligazón"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr "A ligazón copiouse no portapapeis."
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr "Sobre"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr "Recoller a barra lateral"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
msgid "Play Next"
msgstr "Reproducir a seguinte"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr "Engadir á cola"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr "Retiras das favoritas"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr "Engadir ás favoritas"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr "Retirar do historial"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr "Engadir á lista de reprodución"
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reprodutor de música de YouTube"
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert; 2021-2023 Comunidade KDE"
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mantemento."
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Deseño."
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Adrian Chaves (Gallaecio)"
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non oficial de YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sen descrición"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Sen título"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Sen álbum"
#, 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"
+227 -76
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
@@ -17,69 +17,79 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 21.08.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "बजाएँ"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "फेंटें"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "रेडियो"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "कलाकार"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +97,22 @@ msgid ""
msgstr ""
"वीडियो चलाना अभी तक समर्थित नहीं है। क्या आप केवल \"%1\" का ध्वनी चलाना चाहते हैं?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "एल्बम्स"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "एक गीत"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "गीत"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "वीडियो"
@@ -137,6 +147,18 @@ msgstr "गीत-सूचीयाँ"
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"
@@ -144,7 +166,9 @@ msgid "Add Song to Playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
@@ -163,8 +187,8 @@ msgstr "गीत-सूचीयाँ"
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
@@ -174,88 +198,172 @@ msgstr ""
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "ओडियो-ट्यूब"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "गीत-सूचीयाँ"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "गाना हटाएँ"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "गीत-सूचीयाँ"
#| msgid "Clear"
msgid "Clear Queue"
msgstr "साफ करें"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "फेंटें"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -270,23 +378,28 @@ msgstr ""
msgid "Search"
msgstr "खोजें"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -301,12 +414,17 @@ msgstr ""
msgid "Artists"
msgstr "कलाकार"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "अज्ञात"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -367,59 +485,95 @@ msgstr ""
msgid "Add to playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "राघवेंद्र कामत"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "गीत-सूचीयाँ"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, 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"
@@ -428,9 +582,6 @@ msgstr "यूट्यूब संगीत पर संगीत ढूं
#~ msgid "Play next"
#~ msgstr "अगला बजाएँ"
#~ msgid "Clear"
#~ msgstr "साफ करें"
#~ msgid "Pause"
#~ msgstr "रोकें"
+559
View File
@@ -0,0 +1,559 @@
# 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-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 22:28+0200\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 23.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 ""
"Executante con version non essayate de ytmusicapi %1. Si tu experientia "
"errores, pro favor reporta los a tu distribution."
#: contents/ui/AlbumPage.qml:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproduce"
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Shuffle (miscer)"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Appende a cauda"
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Aperi con navigator"
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Comparti"
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Altere"
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:26
#, 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:32
#, kde-format
msgid "Songs"
msgstr "Cantos"
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, 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:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, 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:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
#: contents/ui/Sidebar.qml:131 contents/ui/Sidebar.qml:138
#, kde-format
msgid "Favourites"
msgstr "Favoritos"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Monstra omne"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr "Ancora nulle favoritos"
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Plus reproducite"
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Cantos sonate"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nulle cantos ancora sonate"
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listas de reproduction"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Nulle lista de reproduction ancora"
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Renomina"
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Dele"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Remove ex lista de reproduction"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Iste lista de reproduction es vacue"
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importa lista de reproduction"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Necun media reproducente"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Remove ex favoritos"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Adde a favoritos"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Aperi designator de volumine"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Audio Non silente"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Audio Silente"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Cela parolas de canto"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Monstra parolas"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Comparti canto"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Adde a un lista de reproduction local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Cela cauda"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Monstra cauda"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Remove tracia"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Netta cauda"
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Misce (shuffle) cauda"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Cantos a venir"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr "Libreria"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, 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:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de reproduction importate con successo"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista de reproduction"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, 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:28
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Exitos al culmine (Top)"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Incognite"
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nulle previes cerca correspondente"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr "Comparti a"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr "Copia Ligamine"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligamine copiate a area de transferentia"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr "A proposito"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr "Plica barra lateral"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
msgid "Play Next"
msgstr "Reproduce proxime"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr "Adde a cauda"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr "Remove favorito"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr "Adde favorito"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr "Remove ex chronologia"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr "Adde al lista de reproduction"
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor musical de YouTube"
#: main.cpp:66
#, 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:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mantenitor"
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Designator"
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Giovanni Sora"
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non official per YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Nulle description"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Necun titulo"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Necun album"
#~ 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"
+263 -119
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-17 17:05+0700\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -15,71 +15,82 @@ msgstr ""
"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.2\n"
"X-Generator: Poedit 3.3.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Putar"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Acak"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Tambahkan ke antrean"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Buka di Peramban"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Bagikan"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Lainnya"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artis"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -88,22 +99,22 @@ msgstr ""
"Pemutaran video belum didukung. Apakah Anda ingin memutar audionya dari "
"\"%1\" saja?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Lagu"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video"
@@ -119,43 +130,51 @@ msgid "Cancel"
msgstr "Batalkan"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Tambahkan ke Daftar Putar"
msgstr "Tambahkan ke daftar putar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Daftar Putar"
msgstr "Judul Daftar Putar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Daftar Putar"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Tambahkan ke Daftar Putar"
msgstr "Tambahkan Lagu ke Daftar Putar"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Daftar Putar"
msgstr "Daftar Putar Baru"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Daftar Putar"
msgstr "Ubah nama daftar putar"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -164,8 +183,8 @@ msgstr "Daftar Putar"
msgid "Favourites"
msgstr "Favorit"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Tampilkan Semua"
@@ -175,91 +194,178 @@ msgstr "Tampilkan Semua"
msgid "No Favourites Yet"
msgstr "Belum Ada Favorit"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Paling banyak diputar"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Lagu yang telah diputar"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Belum Ada Lagu Yang Diputar"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Daftar Putar"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Daftar Putar"
msgstr "Belum Ada Daftar Putar"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Ubah Nama"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Hapus"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Hapus dari Riwayat"
msgstr "Hapus dari Daftar Putar"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Daftar putar ini masih kosong"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Import Playlist"
msgstr "Daftar Putar"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Tidak ada media yang diputarkan"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favourites"
msgstr "Hapus Favorit"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favourites"
msgstr "Tambahkan Favorit"
#: contents/ui/MaximizedPlayerPage.qml:451
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "Buka di Peramban"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Suarakan Audio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Bisukan Audio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Bagikan Lagu"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Tambahkan ke Daftar Putar"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Hapus Trek"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Daftar Putar"
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Acak"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Lagu Berikutnya"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -271,22 +377,27 @@ msgstr "Pustaka"
msgid "Search"
msgstr "Cari"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Daftar lagu yang tidak diketahui"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Belum ada lagu di sini"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Daftar putar berhasil diimpor"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Daftar Putar"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "hapus dari riwayat pencarian"
@@ -301,12 +412,17 @@ msgstr "Pencarian Sebelumnya:"
msgid "Artists"
msgstr "Artis"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Hasil Teratas"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Tidak diketahui"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Tidak ada pencarian sebelumnya yang cocok"
@@ -314,17 +430,17 @@ msgstr "Tidak ada pencarian sebelumnya yang cocok"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Bagikan ke"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Salin Tautan"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Tautan disalin ke papan klip"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -362,76 +478,104 @@ msgid "Remove from History"
msgstr "Hapus dari Riwayat"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Tambahkan ke Daftar Putar"
msgstr "Tambahkan ke daftar putar"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Lagu Favorit"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Pemutar YouTube Music"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunitas KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Pemelihara"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Perancang"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Linerly"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API tidak resmi untuk YouTube Music"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlist Description"
msgid "No description"
msgstr "Deskripsi Daftar Putar"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Tidak ada judul"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Tidak ada album"
#, 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 "Queue"
#~ msgstr "Antrean"
#~ msgid "Lyrics"
#~ msgstr "Lirik"
#~ msgid "Back"
#~ msgstr "Kembali"
+250 -112
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-06 02:08+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-06 14:15+0200\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
"Language: it\n"
@@ -15,70 +15,82 @@ msgstr ""
"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"
"X-Generator: Lokalize 23.04.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Riproduci"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Mescola"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Aggiungi alla coda"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Apri nel browser"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Condividi"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Altro"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +99,22 @@ msgstr ""
"La riproduzione dei video non è ancora supportata. Vuoi riprodurre solo "
"l'audio di «%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singoli"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Brani"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video"
@@ -118,43 +130,49 @@ msgid "Cancel"
msgstr "Annulla"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Aggiungi alla scaletta"
msgstr "Aggiungere scaletta"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Scaletta"
msgstr "Titolo della scaletta"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Scalette"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Aggiungi alla scaletta"
msgstr "Aggiungere brano alla scaletta"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Scaletta"
msgstr "Nuova scaletta"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Pulisci la scaletta"
msgstr "Rinomina la scaletta"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -163,8 +181,8 @@ msgstr "Pulisci la scaletta"
msgid "Favourites"
msgstr "Preferiti"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostra tutto"
@@ -174,90 +192,166 @@ msgstr "Mostra tutto"
msgid "No Favourites Yet"
msgstr "Ancora nessun preferito"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Più riprodotti"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Brani riprodotti"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ancora nessun brano riprodotto"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Scalette"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Scalette"
msgstr "Ancora nessuna scaletta"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Rinomina"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Elimina"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Rimuovi dalla cronologia"
msgstr "Rimuovi dalla scaletta"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Questa scaletta è ancora vuota"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importa scaletta"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Nessun supporto in riproduzione"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Rimuovi dai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Aggiungi ai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Apri il cassetto del volume"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Rimuovi il silenzio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silenzia l'audio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Nascondi i testi"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra i testi"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Condividi brano"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Aggiungi a una scaletta locale"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Nascondi la coda"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostra la coda"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Rimuovi traccia"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Pulisci la scaletta"
msgid "Clear Queue"
msgstr "Cancella la coda"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Mescola la coda"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Prossimi brani"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -269,22 +363,27 @@ msgstr "Raccolta"
msgid "Search"
msgstr "Cerca"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Elenco di brani sconosciuto"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Non c'è ancora alcun brano"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Scaletta importato correttamente"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Scaletta"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "rimuovi dalla cronologia delle ricerche"
@@ -299,12 +398,17 @@ msgstr "Ricerche precedenti:"
msgid "Artists"
msgstr "Artisti"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Migliori risultati"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Sconosciuto"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nessuna ricerca precedente corrispondente"
@@ -317,12 +421,12 @@ msgstr "Condividi con"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Copia collegamento"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Collegamento copiato negli appunti"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -360,63 +464,103 @@ msgid "Remove from History"
msgstr "Rimuovi dalla cronologia"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Aggiungi alla scaletta"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Condividi brano"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Lettore musicale YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunità KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Responsabile"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Progettista"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vincenzo Reale"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non ufficiale su YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Nessuna descrizione"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Nessun titolo"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Nessun album"
#~ 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"
@@ -426,12 +570,6 @@ msgstr "API non ufficiale su YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "In riproduzione"
#~ msgid "Queue"
#~ msgstr "Coda"
#~ msgid "Lyrics"
#~ msgstr "Testi"
#~ msgid "Back"
#~ msgstr "Indietro"
+260 -136
View File
@@ -1,247 +1,351 @@
# maboroshini <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-03-09 00:45+0000\n"
"PO-Revision-Date: 2021-05-29 19:15-0700\n"
"Last-Translator: Japanese KDE translation team <[email protected]>\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-01 15:47-0700\n"
"Last-Translator: Fumiaki Okushi <[email protected]>\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=2; plural=n != 1;\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr ""
msgstr "再生"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr ""
msgstr "シャッフル"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "キューに追加"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
msgstr "ブラウザーで開く"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "共有"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "アルバム • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
msgstr "もっと"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr ""
msgstr "ラジオ"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr ""
msgstr "アーティスト"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
msgstr "動画の再生はまだ未対応です。「%1」の音声のみを再生しますか?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr ""
msgstr "アルバム"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr ""
msgstr "シングル"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
msgstr "曲"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr ""
msgstr "動画"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr ""
msgstr "OK"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr ""
msgstr "キャンセル"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr ""
msgstr "再生リスト追加"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr ""
msgstr "再生リスト名"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr ""
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 ""
msgstr "再生リストに曲を追加"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr ""
msgstr "新規再生リスト"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr ""
msgstr "再生リストの名前を変更"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
#: contents/ui/Sidebar.qml:131 contents/ui/Sidebar.qml:138
#, kde-format
msgid "Favourites"
msgstr ""
msgstr "お気に入り"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
msgstr "すべて表示"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr ""
msgstr "まだお気に入りなし"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
msgstr "再生回数が多い"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
msgstr "再生した曲"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
msgstr "まだ再生した曲なし"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr ""
msgstr "再生リスト"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr ""
msgstr "まだ再生リストなし"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "名前の変更"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "削除"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
msgstr "再生リストから除去"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "この再生リストにまだ中身がありません"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "再生リストのインポート"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr "再生中の曲なし"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "最大化したプレーヤーを閉じる"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "再生中のメディアなし"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "お気に入りから削除"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "お気に入りに追加"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "音声のミュート解除"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "音声をミュート"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "歌詞を隠す"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "歌詞を表示"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "曲を共有"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "端末内の再生リストに曲を追加"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "再生キューを隠す"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "再生キューを表示"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr ""
msgstr "曲の除去"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr ""
msgid "Clear Queue"
msgstr "キューを消去"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "キューをシャッフル"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -249,156 +353,176 @@ msgstr ""
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr ""
msgstr "ライブラリ"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, kde-format
msgid "Search"
msgstr ""
msgstr "検索"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
msgstr "まだここに曲はなし"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "再生リストのインポートに成功"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr ""
msgstr "再生リスト"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "検索履歴から除去"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
msgstr "以前の検索:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr ""
msgstr "アーティスト"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "検索上位"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr ""
msgstr "不明"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "以前の検索には一致しません"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "共有"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "リンクをコピー"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "リンクをクリップボードにコピーしました"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "情報"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
msgstr "サイドバーをたたむ"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
msgid "Play Next"
msgstr ""
msgstr "次に再生"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "再生キューに追加"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr ""
msgstr "お気に入りから除去"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr ""
msgstr "お気に入りに追加"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr ""
msgstr "履歴から除去"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr ""
msgstr "再生リストに追加"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube Music プレーヤー"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "保守管理者"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "デザイナー"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
msgstr "maboroshin"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
msgstr "pc.genkaku.in"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
msgstr "YouTube Music 用の非公式 API"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "説明なし"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "タイトルなし"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "アルバムなし"
+247 -109
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-08 09:42+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-06 08:29+0200\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
"Language: ka\n"
@@ -16,70 +16,82 @@ msgstr ""
"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.2.2\n"
"X-Generator: Poedit 3.3.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "დაკვრა"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "შემთხვევით"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "რიგის ბოლოში მიწერა"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "ბრაუზერში გახსნა"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "გაზიარება"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "ალბომი • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "მეტი"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "რადიო"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "შემსრულებელი"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +99,22 @@ msgid ""
msgstr ""
"ვიდეოს დაკვრა ჯერ მხარდაჭერილი არაა. გნებავთ \"%1\"-ის მხოლოდ ხმა დავუკრა?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "ალბომები"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "სინგლები"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "სიმღერები"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "ვიდეო"
@@ -118,43 +130,49 @@ msgid "Cancel"
msgstr "გაუქმენა"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "დასაკრავი სიაში დამატება"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "დასაკრავი სია"
msgstr "დასაკრავი სიის სათაური"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "დასაკრავი სიები"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "დასაკრავი სიაში დამატება"
msgstr "სიმღერის დასაკრავ სიაში ჩამატება"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "დასაკრავი სია"
msgstr "ახალი დასაკრავი სია"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "დასაკრავი სიის გასუფთავება"
msgstr "დასაკრავი სიის სახელის გადარქმევა"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -163,8 +181,8 @@ msgstr "დასაკრავი სიის გასუფთავებ
msgid "Favourites"
msgstr "რჩეულები"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "ყველას ჩვენება"
@@ -174,87 +192,163 @@ msgstr "ყველას ჩვენება"
msgid "No Favourites Yet"
msgstr "რჩეულების გარეშე"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "ხშირად დაკრულები"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "დაკრული სიმღერები"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "სიმღერები ჯერ არ დაგიკრავთ"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "დასაკრავი სიები"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "დასაკრავი სიები"
msgstr "დასაკრავი სიების გარეშე"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "გადარქმევა"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "წაშლა"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "ისტორიიდან წაშლა"
msgstr "დასაკრავი სიიდან წაშლა"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "ეს დასაკრავი სია ჯერ კიდევ ცარიელია"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "დასაკრავი სიის შემოტანა"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "მთელ ეკრანზე გაშლილი დამკვრელის დახურვა"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "რჩეულებიდან წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "რჩეულებში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "ხმის დახატვის გახსნა"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "ხმის ჩართვა"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "ხმის დადუმება"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "ლირიკის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "ლირიკის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "სიმღერის გაზიარება"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "ლოკალურ დასაკრავ სიაში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "რიგის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "რიგის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "აუდიობილიკის წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "დასაკრავი სიის გასუფთავება"
msgid "Clear Queue"
msgstr "რიგის გასუფთავება"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "შემთხვევით"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "მომავალი სიმღერები"
@@ -269,22 +363,27 @@ msgstr "ბიბლიოთეკა"
msgid "Search"
msgstr "ძებნა"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "უცნობი სიმღერების სია"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "აქ ჯერ სიმღერები არაა"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "დასაკრავი სიის შემოტანა წარმატებულია"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "დასაკრავი სია"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "ძებნის ისტორიიდან წაშლა"
@@ -299,12 +398,17 @@ msgstr "წინა ძებნები:"
msgid "Artists"
msgstr "შემსრულებლები"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "საუკეთესო შედეგები"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "უცნობი"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "წინა ძებნებს არ ემთხვევა"
@@ -360,63 +464,103 @@ msgid "Remove from History"
msgstr "ისტორიიდან წაშლა"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to playlist"
msgstr "დასაკრავი სიაში დამატება"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "სიმღერის გაზიარება"
msgid "Add to playlist"
msgstr "დასაკრავ სიაში დამატება"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube-ის მუსიკის დამკვრელი"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "წამყვანი პროგრამისტი"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "დიზაინერი"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Temuri Doghonadze"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music-ის არაოფიციალური API"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "აღწერის გარეშე"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "სათაურის გარეშე"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "ალბომის გარეშე"
#~ 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 "დაკრული სიმღერები"
@@ -426,12 +570,6 @@ msgstr "YouTube Music-ის არაოფიციალური API"
#~ msgid "Now Playing"
#~ msgstr "მიმდინარეობს დაკვრა"
#~ msgid "Queue"
#~ msgstr "რიგი"
#~ msgid "Lyrics"
#~ msgstr "ლირიკა"
#~ msgid "Back"
#~ msgstr "უკან"
+245 -114
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-01 00:43+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -15,93 +15,104 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 21.12.3\n"
"X-Generator: Lokalize 22.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "재생"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "무순서 재생"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "대기열에 추가"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "브라우저로 열기"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "공유"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "앨범 • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "더 보기"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "라디오"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "아티스트"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "앨범"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "싱글"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "곡"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "비디오"
@@ -117,43 +128,49 @@ msgid "Cancel"
msgstr "취소"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "재생 목록에 추가"
msgstr "재생 목록 추가"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "재생 목록"
msgstr "재생 목록 제목"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "재생 목록"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "재생 목록에 추가"
msgstr "재생 목록에 곡 추가"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "재생 목록"
msgstr "새 재생 목록"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "재생 목록 비우기"
msgstr "재생 목록 이름 바꾸기"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -162,8 +179,8 @@ msgstr "재생 목록 비우기"
msgid "Favourites"
msgstr "책갈피"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "모두 표시"
@@ -173,90 +190,166 @@ msgstr "모두 표시"
msgid "No Favourites Yet"
msgstr "책갈피에 등록된 항목 없음"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "가장 많이 재생됨"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "재생한 노래"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "재생한 곡 없음"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "재생 목록"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "재생 목록"
msgstr "재생 목록 없음"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "이름 바꾸기"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "삭제"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "과거 기록에서 삭제"
msgstr "재생 목록에서 삭제"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "재생 목록이 비어 있습니다"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "재생 목록 가져오기"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr "재생 중인 곡 없음"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "최대화된 재생기 닫기"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "재생 중인 미디어 없음"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "책갈피에서 삭제"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "책갈피에 추가"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "음량 서랍 열기"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "오디오 음소거 해제"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "오디오 음소거"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "가사 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "가사 표시"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "노래 공유"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "로컬 재생 목록에 추가"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "대기열 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "대기열 표시"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "트랙 삭제"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "재생 목록 비우기"
msgid "Clear Queue"
msgstr "대기열 비우기"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "대기열 무순서 재생"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "다음에 재생될 곡"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -268,22 +361,27 @@ msgstr "라이브러리"
msgid "Search"
msgstr "검색"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "알 수 없는 노래 목록"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "목록에 등록된 곡 없음"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "재생 목록을 가져왔습니다"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "재생 목록"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "검색 기록에서 삭제"
@@ -298,12 +396,17 @@ msgstr "이전 검색:"
msgid "Artists"
msgstr "아티스트"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "상위 결과"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "일치하는 이전 검색 없음"
@@ -311,17 +414,17 @@ msgstr "일치하는 이전 검색 없음"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "다음으로 공유"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "링크 복사"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "클립보드에 링크 복사됨"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -359,64 +462,95 @@ msgid "Remove from History"
msgstr "과거 기록에서 삭제"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "재생 목록에 추가"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "책갈피에 등록된 노래"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube Music 재생기"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "관리자"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "디자이너"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "박신조"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music 비공식 API"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "설명 없음"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "제목 없음"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
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 "재생 목록"
#~ msgid "Clear Playlist"
#~ msgstr "재생 목록 비우기"
#, fuzzy
#~| msgid "Played Songs"
#~ msgid "played Songs"
@@ -425,9 +559,6 @@ msgstr "YouTube Music 비공식 API"
#~ msgid "Now Playing"
#~ msgstr "지금 재생 중"
#~ msgid "Queue"
#~ msgstr "대기열에 추가"
#~ msgid "Back"
#~ msgstr "뒤로"
+191 -71
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-02-23 00:57+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -18,90 +18,100 @@ msgstr ""
"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"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr ""
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr ""
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr ""
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr ""
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr ""
@@ -133,13 +143,25 @@ msgstr ""
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr ""
@@ -156,8 +178,8 @@ msgstr ""
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
@@ -167,85 +189,163 @@ msgstr ""
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr ""
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgid "Clear Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -260,22 +360,27 @@ msgstr ""
msgid "Search"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -290,12 +395,17 @@ msgstr ""
msgid "Artists"
msgstr ""
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -355,54 +465,64 @@ msgstr ""
msgid "Add to playlist"
msgstr ""
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr ""
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
+227 -80
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 10:28+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 23:07+0200\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
"Language: nl\n"
@@ -15,70 +15,82 @@ msgstr ""
"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"
"X-Generator: Lokalize 23.04.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Afspelen"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Willekeurig afspelen"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Achter aan wachtrij toevoegen"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "In browser openen"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Delen"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Meer"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artiest"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +99,22 @@ msgstr ""
"Afspelen van video wordt nog niet ondersteund. Wilt u alleen het geluid van "
"\"%1\" afspelen?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Enkelvoudige"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video's"
@@ -134,13 +146,25 @@ msgstr "Titel van afspeellijst"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Nieuwe afspeellijst"
@@ -157,8 +181,8 @@ msgstr "Afspeellijst hernoemen"
msgid "Favourites"
msgstr "Favorieten"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Alles tonen"
@@ -168,85 +192,163 @@ msgstr "Alles tonen"
msgid "No Favourites Yet"
msgstr "Nog geen favorieten"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Meest afgespeeld"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Afgespeelde songs"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nog geen songs afgespeeld"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Afspeellijsten"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Nog geen afspeellijst"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Hernoemen"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Verwijderen"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Uit afspeellijst verwijderen"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Deze afspeellijst is nog leeg"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Afspeellijst importeren"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Er speelt geen medium"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Uit favorieten verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Aan favorieten toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Volume lader openen"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Dempen van geluid opheffen"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Geluid dempen"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedteksten verbergen"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Liedteksten tonen"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Songs delen"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Aan een lokale afspeellijst toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Wachtrij verbergen"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Wachtrij tonen"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Track verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Afspeellijst wissen"
msgid "Clear Queue"
msgstr "Wachtrij wissen"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Wachtrij voor willekeurig afspelen"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Aankomende songs"
@@ -261,22 +363,27 @@ msgstr "Bibliotheek"
msgid "Search"
msgstr "Zoeken"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Onbekende lijst met songs"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Er zijn hier nog geen songs"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Afspeellijst met succes geïmporteerd"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Afspeellijst"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "uit zoekgeschiedenis verwijderen"
@@ -291,12 +398,17 @@ msgstr "Vorige zoekopdrachten:"
msgid "Artists"
msgstr "Artiesten"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Top resultaten"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Onbekend"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Geen overeenkomende vorige zoekopdrachten"
@@ -356,58 +468,99 @@ msgstr "Uit geschiedenis verwijderen"
msgid "Add to playlist"
msgstr "Aan afspeellijst toevoegen"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Songs delen"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube muziekspeler"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-gemeenschap"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Onderhouder"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Ontwerper"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Freek de Kruijf - 2021 t/m 2023"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Niet officiële API voor YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Geen beschrijving"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Geen titel"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Geen album"
#~ 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"
@@ -417,12 +570,6 @@ msgstr "Niet officiële API voor YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Speelt nu"
#~ msgid "Queue"
#~ msgstr "Wachtrij"
#~ msgid "Lyrics"
#~ msgstr "Liedteksten"
#~ msgid "Back"
#~ msgstr "Terug"
+246 -126
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-23 19:21+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -15,95 +15,105 @@ msgstr ""
"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.2\n"
"X-Generator: Lokalize 23.04.3\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Spel av"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Stokk om"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "Legg i avspelingskøen"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Opna i nettlesar"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Del"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Meir"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singelplater"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songar"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videoar"
@@ -121,35 +131,47 @@ msgstr "Avbryt"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, kde-format
msgid "Add playlist"
msgstr ""
msgstr "Legg til i speleliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, kde-format
msgid "Playlist Title"
msgstr ""
msgstr "Namn på speleliste"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, kde-format
msgid "Playlist Description"
msgstr ""
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 ""
msgstr "Legg song til speleliste"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr ""
msgstr "Ny speleliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr ""
msgstr "Endra namn på speleliste"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -158,8 +180,8 @@ msgstr ""
msgid "Favourites"
msgstr "Favorittar"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Vis alle"
@@ -167,90 +189,168 @@ msgstr "Vis alle"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr ""
msgstr "Ingen favorittar enno"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Oftast avspela"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Avspela songar"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
msgstr "Ingen avspela songar enno"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Spelelister"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr ""
msgstr "Ingen spelelister enno"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Endra namn"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Slett"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
msgstr "Fjern frå speleliste"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Spelelista er framleis tom"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importer speleliste"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Inkje medium vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Fjern frå favorittar"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Merk som favoritt"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Opna lydstyrke-skuff"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Slå av lyddemping"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Demp lyd"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Gøym songtekst"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Vis songtekst"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Del song"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Legg til i lokal speleliste"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Gøym avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Vis avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Fjern spor"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr ""
msgid "Clear Queue"
msgstr "Tøm avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Stokk om på avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Framtidige songar"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -262,22 +362,27 @@ msgstr "Bibliotek"
msgid "Search"
msgstr "Søk"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Ukjend songliste"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ingen songar enno"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Spelelista vart importert"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Speleliste"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "Fjern frå søkjeloggen"
@@ -292,12 +397,17 @@ msgstr "Tidlegare søk:"
msgid "Artists"
msgstr "Artistar"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ingen samsvarande tidlegare søk"
@@ -305,22 +415,22 @@ msgstr "Ingen samsvarande tidlegare søk"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Del til"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Kopier lenkje"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Lenkje kopiert til utklippstavla"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "Om"
#: contents/ui/Sidebar.qml:203
#, kde-format
@@ -355,56 +465,66 @@ msgstr "Fjern frå loggen"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr ""
msgstr "Legg til i speleliste"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik"
#: main.cpp:61
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
msgstr "YouTube Music-spelar"
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-fellesskapet"
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Vedlikehaldar"
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Designar"
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected],[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
msgstr "Uoffisielt API for YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Inga skildring"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Utan tittel"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Ingen album"
+227 -76
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -17,91 +17,101 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.04.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "ਚਲਾਓ"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "ਰਲਵੇਂ"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "ਰੇਡੀਓ"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "ਐਲਬਮਾਂ"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "ਇਕੱਲੇ"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "ਗੀਤ"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "ਵਿਡੀਓ"
@@ -136,6 +146,18 @@ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
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"
@@ -143,7 +165,9 @@ msgid "Add Song to Playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
@@ -162,8 +186,8 @@ msgstr "ਪਲੇਅਲਿਸਟਾਂ"
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
@@ -173,88 +197,172 @@ msgstr ""
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "ਆਡੀਓ-ਟਿਊਬ"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "ਟਰੈਕ ਨੂੰ ਹਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#| msgid "Clear"
msgid "Clear Queue"
msgstr "ਮਿਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "ਰਲਵੇਂ"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -269,23 +377,28 @@ msgstr ""
msgid "Search"
msgstr "ਖੋਜੋ"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -300,12 +413,17 @@ msgstr ""
msgid "Artists"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "ਅਣਪਛਾਤਾ"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -366,59 +484,95 @@ msgstr ""
msgid "Add to playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "alam yellow @ gmail.com"
#: main.cpp:66
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, 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"
@@ -427,9 +581,6 @@ msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱ
#~ msgid "Play next"
#~ msgstr "ਅਗਲਾ ਚਲਾਓ"
#~ msgid "Clear"
#~ msgstr "ਮਿਟਾਓ"
#~ msgid "Pause"
#~ msgstr "ਵਿਰਾਮ"
+260 -131
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-18 09:19+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-08-20 10:50+0200\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
"Language: pl\n"
@@ -17,71 +17,82 @@ msgstr ""
"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 22.12.2\n"
"X-Generator: Lokalize 23.04.2\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Odtwórz"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Wymieszaj"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Dodaj do kolejki"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Otwórz w przeglądarce"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Udostępnij"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Więcej"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Wykonawca"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -90,22 +101,22 @@ msgstr ""
"Odtwarzanie wideo nie jest jeszcze obsługiwane. Czy odtworzyć tylko dźwięk z "
"„%1”?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumy"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Piosenki"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Filmy"
@@ -121,43 +132,49 @@ msgid "Cancel"
msgstr "Anuluj"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Dodaj do listy odtwarzania"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Lista odtwarzania"
msgstr "Tytuł listy odtwarzania"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Listy odtwarzania"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Dodaj do listy odtwarzania"
msgstr "Usuń do listy odtwarzania"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Lista odtwarzania"
msgstr "Nowa lista odtwarzania"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Lista odtwarzania"
msgstr "Przemianuj listę odtwarzania"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -166,104 +183,177 @@ msgstr "Lista odtwarzania"
msgid "Favourites"
msgstr "Ulubione"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Pokaż wszystkie"
#: contents/ui/LibraryPage.qml:147
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "No Favourites Yet"
msgstr "Ulubione"
msgstr "Nie ma jeszcze żadnych ulubionych"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Najczęściej odtwarzane"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Odtwarzane utwory"
#: contents/ui/LibraryPage.qml:444
#, fuzzy, kde-format
#| msgid "No songs here yet"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Jeszcze nie ma tutaj utworów"
msgstr "Jeszcze nie odtworzono żadnego utworu"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listy odtwarzania"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Listy odtwarzania"
msgstr "Nie ma jeszcze żadnej listy odtwarzania"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Przemianuj"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Usuń"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Usuń z historii"
msgstr "Usuń z listy odtwarzania"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Lista odtwarzania nadal jest pusta"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Zaimportuj listę odtwarzania"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Nic nie jest odtwarzane"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Usuń z ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Dodaj do ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otwórz szufladę głośności"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Usuń wyciszenie dźwięku"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Wycisz dźwięk"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Ukryj słowa"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Pokaż słowa"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Udostępnij utwór"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj do miejscowej listy odtwarzania"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Ukryj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Pokaż kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Usuń utwór"
#: contents/ui/MaximizedPlayerPage.qml:869
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Wyczyść kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Wymieszaj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Nadchodzące utwory"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -275,22 +365,27 @@ msgstr "Biblioteka"
msgid "Search"
msgstr "Szukaj"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Nieznana lista utworów"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Jeszcze nie ma tutaj utworów"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Pomyślnie zaimportowano listy odtwarzania"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "usuń z historii wyszukiwania"
@@ -305,12 +400,17 @@ msgstr "Poprzednie wyszukiwania:"
msgid "Artists"
msgstr "Wykonawcy"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Szczytowe wyniki"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
@@ -318,22 +418,22 @@ msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Udostępnij"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Skopiuj odnośnik"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Skopiowano odnośnik do schowka"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "O programie"
#: contents/ui/Sidebar.qml:203
#, kde-format
@@ -366,64 +466,96 @@ msgid "Remove from History"
msgstr "Usuń z historii"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Dodaj do listy odtwarzania"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Ulubione utwory"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "Odtwarzacz muzyki YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Społeczność KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Opiekun"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Projektant"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Znajdź muzykę w serwisie YouTube Music"
msgstr "Nieoficjalne API do Muzyki YouTube"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Brak opisu"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Nienazwane"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Nie ma żadnego albumu"
#, 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"
@@ -431,9 +563,6 @@ msgstr "Znajdź muzykę w serwisie YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Teraz odtwarzany"
#~ msgid "Queue"
#~ msgstr "Kolejka"
#~ msgid "Back"
#~ msgstr "Wstecz"
+224 -73
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 09:59+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -18,69 +18,82 @@ msgstr ""
"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"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Baralhar"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Adicionar à fila"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no Navegador"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Partilhar"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Mais"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -89,22 +102,22 @@ msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbuns"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "'Singles'"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -136,13 +149,25 @@ msgstr "Título da Lista de Reprodução"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Nova Lista de Reprodução"
@@ -159,8 +184,8 @@ msgstr "Mudar o nome da lista de reprodução"
msgid "Favourites"
msgstr "Favoritos"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostrar Tudo"
@@ -170,85 +195,163 @@ msgstr "Mostrar Tudo"
msgid "No Favourites Yet"
msgstr "Ainda sem Favoritos"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Mais Tocadas"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Músicas Tocadas"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Ainda sem Músicas Reproduzidas"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listas de Reprodução"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Ainda sem Listas de Reprodução"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Mudar o Nome"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Apagar"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Remover da Lista de Reprodução"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Esta lista de reprodução continua vazia"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importar uma Lista de Reprodução"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Nada em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Remover dos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Adicionar aos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir a Área do Volume"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Repor o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Esconder as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Partilhar a Música"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar a uma lista de reprodução local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Esconder a Fila"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostrar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Remover a Faixa"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Limpar a Lista de Reprodução"
msgid "Clear Queue"
msgstr "Limpar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Baralhar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas Músicas"
@@ -263,22 +366,27 @@ msgstr "Biblioteca"
msgid "Search"
msgstr "Procurar"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de músicas desconhecida"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Ainda sem músicas aqui"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "A lista de reprodução foi importada com sucesso"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisas"
@@ -293,12 +401,17 @@ msgstr "Pesquisas Anteriores:"
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Resultados de Topo"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Sem pesquisas anteriores correspondentes"
@@ -358,54 +471,92 @@ msgstr "Remover do Histórico"
msgid "Add to playlist"
msgstr "Adicionar à lista de reprodução"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Partilhar a Música"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Leitor de Música do YouTube"
#: main.cpp:58
#: main.cpp:66
#, 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:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Manutenção"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Desenhador"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "José Nuno Pires"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Sem título"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Sem álbum"
#~ 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"
+256 -120
View File
@@ -7,80 +7,91 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-24 17:15-0300\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 17:10-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
"Language-Team: Portuguese <[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 21.12.3\n"
"X-Generator: Lokalize 22.12.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Embaralhar"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Adicionar à fila"
msgstr "Anexar à fila"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Abrir no navegador"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Compartilhar"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Mais"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -89,22 +100,22 @@ msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbuns"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -120,43 +131,49 @@ msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Adicionar à lista de reprodução"
msgstr "Adicionar à lista de músicas"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Lista de músicas"
msgstr "Título da lista de músicas"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Listas de músicas"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Adicionar à lista de reprodução"
msgstr "Adicionar música à lista de músicas"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Lista de músicas"
msgstr "Nova lista de músicas"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Clear Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Limpar lista de músicas"
msgstr "Renomear lista de músicas"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -165,8 +182,8 @@ msgstr "Limpar lista de músicas"
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Mostrar tudo"
@@ -176,90 +193,166 @@ msgstr "Mostrar tudo"
msgid "No Favourites Yet"
msgstr "Nenhuma favorita ainda"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Mais reproduzidas"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Músicas reproduzidas"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Nenhuma música reproduzida ainda"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Listas de músicas"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Listas de músicas"
msgstr "Nenhuma lista de músicas ainda"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Renomear"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Excluir"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Remover do histórico"
msgstr "Remover da lista de músicas"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Esta lista de música está vazia"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importar lista de músicas"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Nenhuma mídia em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Remover dos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Adicionar aos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir gaveta de volume"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Ativar som"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Desativar som"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letras"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letras"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Compartilhar música"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar à lista de músicas local"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar fila"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Mostrar fila"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Remover faixa"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Limpar lista de músicas"
msgid "Clear Queue"
msgstr "Limpar fila"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Embaralhar fila"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Próximas músicas"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -271,22 +364,27 @@ msgstr "Biblioteca"
msgid "Search"
msgstr "Pesquisar"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Lista de músicas desconhecida"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Nenhuma música ainda"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Lista de músicas importada com sucesso"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista de músicas"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisa"
@@ -301,12 +399,17 @@ msgstr "Pesquisas anteriores:"
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Principais resultados"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Nenhuma pesquisa anterior correspondente"
@@ -314,17 +417,17 @@ msgstr "Nenhuma pesquisa anterior correspondente"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Compartilhar para"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Copiar link"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Link copiado para a área de transferência"
#: contents/ui/Sidebar.qml:189
#, kde-format
@@ -362,76 +465,109 @@ msgid "Remove from History"
msgstr "Remover do histórico"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Adicionar à lista de reprodução"
msgstr "Adicionar à lista de músicas"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Músicas favoritas"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Reprodutor de músicas do Youtube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunidade KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Mantenedor"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Luiz Fernando Ranghetti"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Nenhuma música"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Nenhum álbum"
#~ 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 "Queue"
#~ msgstr "Fila"
#~ msgid "Lyrics"
#~ msgstr "Letras"
#~ msgid "Back"
#~ msgstr "Voltar"
+276 -136
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-01-28 13:37+0300\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-04-30 14:45+0300\n"
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
"Language: ru\n"
@@ -18,69 +18,78 @@ msgstr ""
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 21.08.3\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Воспроизвести"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Перемешать"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#, fuzzy, kde-format
#| msgid "Add to queue"
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Добавить в очередь воспроизведения"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Открыть в браузере"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Поделиться"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Дополнительно"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Радио"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Исполнитель"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -88,22 +97,22 @@ msgid ""
msgstr ""
"Воспроизведение видео пока не поддерживается. Воспроизвести звук трека «%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Альбомы"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Синглы"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Треки"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Видеозаписи"
@@ -119,42 +128,51 @@ msgid "Cancel"
msgstr "Отмена"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Список воспроизведения"
msgstr "Создание списка воспроизведения"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist Title"
msgstr "Список воспроизведения"
msgstr "Название"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Списки воспроизведения"
msgstr "Описание"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add playlist"
msgid "Import playlist"
msgstr "Создание списка воспроизведения"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlist Title"
msgid "Playlist URL (Youtube)"
msgstr "Название"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
msgid "Add Song to Playlist"
msgstr ""
msgstr "Добавление трека в список воспроизведения"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlist"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Список воспроизведения"
msgstr "Создать список воспроизведения"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Rename playlist"
msgstr "Список воспроизведения"
msgstr "Переименовать список воспроизведения"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -163,104 +181,189 @@ msgstr "Список воспроизведения"
msgid "Favourites"
msgstr "Избранное"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Показать все"
#: contents/ui/LibraryPage.qml:147
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "No Favourites Yet"
msgstr "Избранное"
msgstr "В избранное ещё ничего не добавлено"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Часто воспроизводимые"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Воспроизведённые треки"
#: contents/ui/LibraryPage.qml:444
#, fuzzy, kde-format
#| msgid "No songs here yet"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Пока нет ни одного трека"
msgstr "Пока ничего не воспроизводилось"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Списки воспроизведения"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Списки воспроизведения"
msgstr "Пока нет ни одного списка воспроизведения"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Переименовать"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Удалить"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Remove from History"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Удалить из журнала"
msgstr "Удалить из списка воспроизведения"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Список воспроизведения всё ещё пуст"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Import Playlist"
msgstr "Список воспроизведения"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Ничего не воспроизводится"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favourites"
msgstr "Убрать из избранного"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favourites"
msgstr "Добавить в избранное"
#: contents/ui/MaximizedPlayerPage.qml:451
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "Открыть в браузере"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "%1%"
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "Текст песни"
#: contents/ui/MaximizedPlayerPage.qml:633
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "Текст песни"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Опубликовать трек"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Add to a local playlist"
msgstr "Список воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Удалить дорожку"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Список воспроизведения"
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Перемешать"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Следующие треки"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -272,25 +375,30 @@ msgstr "Библиотека"
msgid "Search"
msgstr "Поиск"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Неизвестный список треков"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Пока нет ни одного трека"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Список воспроизведения"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "Удалить из истории поиска"
#: contents/ui/SearchPage.qml:16
#, kde-format
@@ -302,12 +410,17 @@ msgstr "Предыдущие поисковые запросы:"
msgid "Artists"
msgstr "Исполнители"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Неизвестный тип"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
@@ -315,22 +428,22 @@ msgstr "Не найдено соответствующих предыдущих
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Выбор способа публикации"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Копировать адрес ссылки"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Ссылка скопирована в буфер обмена"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "О программе"
#: contents/ui/Sidebar.qml:203
#, kde-format
@@ -363,64 +476,97 @@ msgid "Remove from History"
msgstr "Удалить из журнала"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Список воспроизведения"
msgstr "Добавить в список воспроизведения"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Избранные треки"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "Музыкальный проигрыватель YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 сообщество KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Сопровождающий"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Дизайнер"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Александр Яворский, Павел Чернышов"
msgstr "Александр Яворский, Павел Чернышов, Мария Шикунова"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
msgstr "[email protected], [email protected], [email protected]"
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Найти музыку в YouTube Music"
msgstr "Неофициальный API для YouTube Music"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlist Description"
msgid "No description"
msgstr "Описание"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
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 "Воспроизведённые треки"
@@ -428,12 +574,6 @@ msgstr "Найти музыку в YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Текущий трек"
#~ msgid "Queue"
#~ msgstr "Очередь воспроизведения"
#~ msgid "Lyrics"
#~ msgstr "Текст песни"
#~ msgid "Back"
#~ msgstr "Назад"
+227 -76
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+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"
@@ -15,91 +15,101 @@ msgstr ""
"X-Generator: Lokalize 21.12.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Prehrať"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Zamiešať"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, fuzzy, kde-format
#| msgid "Artists"
msgid "Artist"
msgstr "Interpreti"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumy"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videá"
@@ -134,6 +144,18 @@ msgstr "Zoznamy skladieb"
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"
@@ -141,7 +163,9 @@ msgid "Add Song to Playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "New Playlist"
@@ -160,8 +184,8 @@ msgstr "Zoznamy skladieb"
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
@@ -171,88 +195,172 @@ msgstr ""
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No Playlists Yet"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Import Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Neprehráva sa žiadne médium"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favourites"
msgstr "Zoznamy skladieb"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favourites"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Zoznamy skladieb"
#| msgid "Clear"
msgid "Clear Queue"
msgstr "Vyčistiť"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Zamiešať"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -267,23 +375,28 @@ msgstr ""
msgid "Search"
msgstr "Hľadať"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -298,12 +411,17 @@ msgstr ""
msgid "Artists"
msgstr "Interpreti"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Neznáme"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -365,66 +483,99 @@ msgstr ""
msgid "Add to playlist"
msgstr "Pridať do zoznamu skladieb"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Roman Paholík"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "No description"
msgstr "Zoznamy skladieb"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, 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 "Clear"
#~ msgstr "Vyčistiť"
#~ msgid "Pause"
#~ msgstr "Pozastaviť"
+228 -81
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 09:03+0100\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 09:15+0200\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
"Language: sl\n"
@@ -16,92 +16,104 @@ msgstr ""
"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: Lokalize 22.12.3\n"
"X-Generator: Poedit 3.3.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Predvajaj"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Premešaj"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Dodaj v v čakalno vrsto"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Odpri v brskalniku"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Deli"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Več"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Avtor"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumi"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singli"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Glasba"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videposnetki"
@@ -133,13 +145,25 @@ msgstr "Naslov seznama predvajanja"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Novi seznam predvajanja"
@@ -156,8 +180,8 @@ msgstr "Preimenuj seznam predvajanja"
msgid "Favourites"
msgstr "Priljubljene"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Prikaži vse"
@@ -167,85 +191,163 @@ msgstr "Prikaži vse"
msgid "No Favourites Yet"
msgstr "Še ni nobenih priljubljenih"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Največkrat predvajane"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Predvajane pesmi"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Še ni nobene predvajane pesmi"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Seznami predvajanja"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Še ni nobenega seznama predvajanja"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Preimenuj"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Zbriši"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Odstrani iz seznama predvajanja"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Ta seznam predvajanja je še prazen"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Uvozi seznam predvajanja"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Niče se ne predvaja"
msgstr "Nič se ne predvaja"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Odstrani iz priljubljenih"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Dodaj med priljubljene"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Odpri predal glasnosti"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Povrni zvok"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Utišaj"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrij besedila"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Prikazuj besedila"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Deli pesem"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj v lokalni seznam predvajanja"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Skrij čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Prikazuj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Odstrani sled"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Očisti seznam predvajanja"
msgid "Clear Queue"
msgstr "Počisti čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Premešaj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Prihajajoče pesmi"
@@ -260,22 +362,27 @@ msgstr "Knjižnica"
msgid "Search"
msgstr "Išči"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Neznan seznam pesmi"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Tu še ni nobene pesmi"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Seznam pesmi uspešno uvožen"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Seznam predvajanja"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "odstrani iz zgodovine iskanj"
@@ -290,12 +397,17 @@ msgstr "Prejšnja iskanja:"
msgid "Artists"
msgstr "Avtorji"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Najboljši rezultati"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Neznano"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Ni zadetkov iz prejšnjih iskanj"
@@ -355,58 +467,99 @@ msgstr "Odstrani iz zgodovine"
msgid "Add to playlist"
msgstr "Dodaj v seznam predvajanja"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Deli pesem"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Predvajalnik glasbe YouTube"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Skupnost KDE"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Vzdrževalec"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Oblikovalec"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Matjaž Jeran"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Neuradni programski vmesnik za Youtube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Ni opisa"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Ni naslova"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Ni albuma"
#~ 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"
@@ -416,12 +569,6 @@ msgstr "Neuradni programski vmesnik za Youtube Music"
#~ msgid "Now Playing"
#~ msgstr "Pravkar predvajano"
#~ msgid "Queue"
#~ msgstr "Čakalna vrsta"
#~ msgid "Lyrics"
#~ msgstr "Besedilo"
#~ msgid "Back"
#~ msgstr "Nazaj"
+280 -154
View File
@@ -1,13 +1,13 @@
# 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.
# 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-03-09 00:45+0000\n"
"PO-Revision-Date: 2022-09-24 14:57+0200\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-26 20:15+0200\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
"Language: sv\n"
@@ -17,91 +17,102 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.08.1\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Spela"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Blanda"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "Lägg till i kö"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Öppna i webbläsare"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Dela"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
msgstr "Mer"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:57
#, fuzzy, kde-format
#| msgid "Artists"
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Artister"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Singlar"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Låtar"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videor"
@@ -117,43 +128,49 @@ msgid "Cancel"
msgstr "Avbryt"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Lägg till i spellista"
msgstr "Lägg till spellista"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Title"
msgstr "Spellistor"
msgstr "Spellistans titel"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Spellistor"
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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Lägg till i spellista"
msgstr "Lägg till låt i spellista"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Spellistor"
msgstr "Ny spellista"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Rename playlist"
msgstr "Spellistor"
msgstr "Byt namn på spellista"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -162,180 +179,262 @@ msgstr "Spellistor"
msgid "Favourites"
msgstr "Favoriter"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Visa alla"
#: contents/ui/LibraryPage.qml:147
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "No Favourites Yet"
msgstr "Favoriter"
msgstr "Inga favoriter nu"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Mest spelade"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Spelade låtar"
#: contents/ui/LibraryPage.qml:444
#, fuzzy, kde-format
#| msgid "No songs here yet"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Inga låtar här ännu"
msgstr "Inga låtar spelade ännu"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Spellistor"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Spellistor"
msgstr "Inga spellistor ännu"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Byt namn"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Ta bort"
#: contents/ui/LocalPlaylistPage.qml:19
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Spellistor"
msgstr "Ta bort från spellista"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Spellistan är fortfarande tom"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Importera spellista"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Inga media spelar"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Ta bort från favoriter"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Lägg till i favoriter"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Öppna volymlåda"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Ljud på"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Tysta ljud"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Dölj Sångtext"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Visa sångtext"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Dela låt"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Lägg till i lokal spellista"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Dölj kö"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Visa kö"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Ta bort spår"
#: contents/ui/MaximizedPlayerPage.qml:869
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Spellistor"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr "Rensa kö"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Blanda kö"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Kommande låtar"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr ""
msgstr "Bibliotek"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, kde-format
msgid "Search"
msgstr "Sök"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Okänd låtlista"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Inga låtar här ännu"
#: contents/ui/PlaylistPage.qml:67
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Playlist"
msgstr "Spellistor"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Spellista importerad med lyckat resultat"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Spellista"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "ta bort från sökhistorik"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
msgstr "Föregående sökningar:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artister"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "Inga matchande tidigare sökningar"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Dela med"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Kopiera länk"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Länk kopierad till klippbordet"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "Om"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
msgstr "Dra ihop sidorad"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
@@ -345,84 +444,114 @@ msgstr "Spela nästa"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "Lägg till i kö"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Remove Favourite"
msgstr "Favoriter"
msgstr "Ta bort favorit"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Add Favourite"
msgstr "Favoriter"
msgstr "Lägg till favorit"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr ""
msgstr "Ta bort från historik"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Lägg till i spellista"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Favoritlåtar"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube musikspelare"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-gemenskapen"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Underhåll"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Designer"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Stefan Asserhäll"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Sök efter musik på YouTube musik"
msgstr "Inofficiellt programmeringsgränssnitt för YouTube musik"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Ingen beskrivning"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Namnlös"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Inget album"
#, 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"
@@ -432,9 +561,6 @@ msgstr "Sök efter musik på YouTube musik"
#~ msgid "Now Playing"
#~ msgstr "Spelar nu"
#~ msgid "Queue"
#~ msgstr "Köa"
#~ msgid "Back"
#~ msgstr "Bakåt"
+227 -80
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 13:09+0300\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 13:28+0300\n"
"Last-Translator: Emir SARI <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
"Language: tr\n"
@@ -15,70 +15,82 @@ msgstr ""
"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"
"X-Generator: Lokalize 23.07.70\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Çal"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Karıştır"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Kuyruğa iliştir"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Tarayıcıda Aç"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Paylaş"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Albüm • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Daha Fazla"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Radyo"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Sanatçı"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -87,22 +99,22 @@ msgstr ""
"Video oynatımı henüz desteklenmiyor. \"%1\" videosunun yalnızca sesinin "
"çalınmasını ister misiniz?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albümler"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Tekliler"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Şarkılar"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videolar"
@@ -134,13 +146,25 @@ msgstr "Çalma Listesi Başlığı"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Yeni Çalma Listesi"
@@ -157,8 +181,8 @@ msgstr "Çalma Listesini Yeniden Adlandır"
msgid "Favourites"
msgstr "Beğeniler"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Tümünü Göster"
@@ -168,85 +192,163 @@ msgstr "Tümünü Göster"
msgid "No Favourites Yet"
msgstr "Henüz Beğeni Yok"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "En Çok Çalınanlar"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Çalınan Şarkılar"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Henüz Şarkı Çalınmamış"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Çalma Listeleri"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Çalma Listesi Yok"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Yeniden Adlandır"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Sil"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Çalma Listesinden Kaldır"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Bu çalma listesi hâlâ boş"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Çalma Listesi İçe Aktar"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, 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:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Ortam çalmıyor"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Beğenilerden Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Beğenilere Ekle"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ses Düzeyi Çekmecesini Aç"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Sesi Aç"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Sesi Kapat"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%​%1"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Şarkı Sözlerini Gizle"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Şarkı Sözlerini Göster"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Şarkıyı Paylaş"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Yerel bir çalma listesine ekle"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Kuyruğu Gizle"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Kuyruğu Göster"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Parçayı Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Çalma Listesini Temizle"
msgid "Clear Queue"
msgstr "Kuyruğu Temizle"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Kuyruğu Karıştır"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Sıradaki Şarkılar"
@@ -261,22 +363,27 @@ msgstr "Kitaplık"
msgid "Search"
msgstr "Ara"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Bilinmeyen şarkılar listesi"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Burada henüz şarkı yok"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Çalma listesi başarıyla içe aktarıldı"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Çalma Listesi"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "arama geçmişinden kaldır"
@@ -291,12 +398,17 @@ msgstr "Önceki Aramalar:"
msgid "Artists"
msgstr "Sanatçılar"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "En İyi Sonuçlar"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Bilinmiyor"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Daha önceden yapılmış eşleşen arama yok"
@@ -356,58 +468,99 @@ msgstr "Geçmişten Kaldır"
msgid "Add to playlist"
msgstr "Çalma listesine ekle"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Şarkıyı Paylaş"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube Müzik Çaları"
#: main.cpp:58
#: main.cpp:66
#, 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:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Bakımcı"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Tasarımcı"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Emir SARI"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Müzik için resmi olmayan API"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Açıklama yok"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Başlık yok"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Albüm yok"
#~ 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"
@@ -417,12 +570,6 @@ msgstr "YouTube Müzik için resmi olmayan API"
#~ msgid "Now Playing"
#~ msgstr "Şimdi Çalınıyor"
#~ msgid "Queue"
#~ msgstr "Kuyruk"
#~ msgid "Lyrics"
#~ msgstr "Şarkı Sözleri"
#~ msgid "Back"
#~ msgstr "Geri"
+226 -79
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-03-09 08:31+0200\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-05 15:10+0300\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
"Language: uk\n"
@@ -18,68 +18,80 @@ msgstr ""
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 20.12.0\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "Відтворити"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "Перемішати"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr "Дописати до черги"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "Відкрити у переглядачі"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr "Оприлюднити"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr "Більше"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "Радіо"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr "Виконавець"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -88,22 +100,22 @@ msgstr ""
"Підтримки відтворення відео ще не передбачено. Хочете, щоб було відтворено "
"лише звукову частину «%1»?"
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Альбоми"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "Одинарні"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Пісні"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Відео"
@@ -135,13 +147,25 @@ msgstr "Заголовок списку відтворення"
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "Новий список композицій"
@@ -158,8 +182,8 @@ msgstr "Перейменувати список відтворення"
msgid "Favourites"
msgstr "Улюблені"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "Показати всі"
@@ -169,85 +193,163 @@ msgstr "Показати всі"
msgid "No Favourites Yet"
msgstr "Улюблених творів ще немає"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "Часто слухали"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "Відтворені композиції"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr "Відтворення композицій ще не відбувалося"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "Списки відтворення"
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "Списків відтворення ще немає"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr "Перейменувати"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr "Вилучити"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr "Вилучити зі списку"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "Цей список відтворення все ще порожній"
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr "Імпортувати список відтворення"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "Закрити максимізований програвач"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "Вилучити з улюблених"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "Додати до улюбленого"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "Відкрити висувну панель гучності"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "Увімкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "Вимкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "Приховати текст"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "Показати текст"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Оприлюднити композицію"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "Додати до локального списку відтворення"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "Приховати чергу"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "Показати чергу"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "Вилучити композицію"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr "Спорожнити список відтворення"
msgid "Clear Queue"
msgstr "Спорожнити чергу"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "Перемішати чергу"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr "Майбутні композиції"
@@ -262,22 +364,27 @@ msgstr "Бібліотека"
msgid "Search"
msgstr "Пошук"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "Невідомий список композицій"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "Тут ще немає композицій"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr "Список відтворення успішно імпортовано"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Список відтворення"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr "вилучити з журналу пошуку"
@@ -292,12 +399,17 @@ msgstr "Попередні пошуки:"
msgid "Artists"
msgstr "Виконавці"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr "Найкращі результати"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Невідомий"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr "Немає відповідних попередніх пошуків"
@@ -357,58 +469,99 @@ msgstr "Вилучити із журналу"
msgid "Add to playlist"
msgstr "Додати до списку відтворення"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "Оприлюднити композицію"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr "Програвач YouTube Music"
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© Jonah Brüchert, 2021-2023; KDE Community,2021-2023"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr "Супровідник"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Юрій Чорноіван"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Неофіційний програмний інтерфейс до YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr "Без опису"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr "Без заголовка"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr "Без альбому"
#~ 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 "Відтворені композиції"
@@ -418,12 +571,6 @@ msgstr "Неофіційний програмний інтерфейс до YouT
#~ msgid "Now Playing"
#~ msgstr "Зараз відтворюємо"
#~ msgid "Queue"
#~ msgstr "Додати до черги"
#~ msgid "Lyrics"
#~ msgstr "Текст"
#~ msgid "Back"
#~ msgstr "Назад"
+234 -120
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"PO-Revision-Date: 2023-02-24 12:44\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-10-21 13:58\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -14,93 +14,103 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf5-trunk/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 25474\n"
"X-Crowdin-File: /kf5-stable/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 41997\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr "播放"
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr "随机播放"
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "追加到队列"
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr "在浏览器中打开"
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "分享"
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "专辑:%1"
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
msgstr "更多"
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr "电台"
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr ""
msgstr "艺术家"
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, 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:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "专辑"
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr "单曲"
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "曲目"
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "视频"
@@ -116,41 +126,49 @@ msgid "Cancel"
msgstr "取消"
#: contents/ui/dialogs/AddPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Add playlist"
msgstr "播放列表"
msgstr "添加播放列表"
#: contents/ui/dialogs/AddPlaylistDialog.qml:23
#: contents/ui/dialogs/RenamePlaylistDialog.qml:24
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Title"
msgstr "播放列表"
msgstr "播放列表标题"
#: contents/ui/dialogs/AddPlaylistDialog.qml:28
#: contents/ui/dialogs/RenamePlaylistDialog.qml:30
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "播放列表"
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 ""
msgstr "添加歌曲到播放列表"
#: contents/ui/dialogs/PlaylistDialog.qml:29
#: contents/ui/LocalPlaylistsPage.qml:90
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr "播放列表"
msgstr "新建播放列表"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr ""
msgstr "重命名播放列表"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -159,8 +177,8 @@ msgstr ""
msgid "Favourites"
msgstr "收藏夹"
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr "显示全部"
@@ -168,166 +186,253 @@ msgstr "显示全部"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr ""
msgstr "无收藏夹"
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr "最常播放"
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr "已播放歌曲"
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
msgstr "未播放歌曲"
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr "播放列表"
#: contents/ui/LibraryPage.qml:650
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr "播放列表"
msgstr "无播放列表"
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "重命名"
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "删除"
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
msgstr "从播放列表中移除"
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr "此播放列表未包含歌曲"
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr "没有播放的歌曲"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr "关闭最大化播放器"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr "没有正在播放的媒体"
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr "移出收藏夹"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr "移入收藏夹"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr "打开音量控制器"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr "取消静音"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr "静音"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr "隐藏歌词"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr "显示歌词"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr "分享歌曲"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr "添加到本地播放列表"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr "隐藏队列"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr "显示队列"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr "移除曲目"
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgstr ""
msgid "Clear Queue"
msgstr "清空队列"
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr "随机队列"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "即将播放的歌曲"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
msgid "Library"
msgstr ""
msgstr "曲库"
#: contents/ui/NavigationBar.qml:36 contents/ui/Sidebar.qml:116
#, kde-format
msgid "Search"
msgstr "搜索"
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr "未知歌曲列表"
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "此处无歌曲"
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist"
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "播放列表"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "从搜索历史中移除"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
msgstr "历史搜索"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "艺人"
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "没有匹配的历史搜索"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "分享到"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "复制链接"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "链接已复制到剪贴板"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "关于"
#: contents/ui/Sidebar.qml:203
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
msgstr "折叠侧栏"
#: contents/ui/SongMenu.qml:107 contents/ui/SongMenu.qml:205
#, kde-format
@@ -337,77 +442,86 @@ msgstr "播放下一首"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:211
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "加入队列"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Remove Favourite"
msgstr ""
msgstr "从收藏中删除"
#: contents/ui/SongMenu.qml:126 contents/ui/SongMenu.qml:221
#, kde-format
msgid "Add Favourite"
msgstr ""
msgstr "添加收藏夹"
#: contents/ui/SongMenu.qml:143 contents/ui/SongMenu.qml:235
#, kde-format
msgid "Remove from History"
msgstr ""
msgstr "从历史记录中删除"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr ""
msgstr "添加到播放列表"
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Played Songs"
msgid "Share Song"
msgstr "已播放歌曲"
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Qi Binye, Tyson Tan"
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr ""
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
+191 -71
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-03-09 00:45+0000\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -18,90 +18,100 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: contents/ui/AlbumPage.qml:26 contents/ui/LibraryPage.qml:37
#: 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:75 contents/ui/LibraryPage.qml:37
#: contents/ui/LibraryPage.qml:63 contents/ui/LibraryPage.qml:84
#: contents/ui/LibraryPage.qml:332 contents/ui/LibraryPage.qml:358
#: contents/ui/LibraryPage.qml:379 contents/ui/LocalPlaylistPage.qml:42
#: contents/ui/PlaybackHistory.qml:23 contents/ui/PlaylistPage.qml:31
#: contents/ui/LibraryPage.qml:222 contents/ui/LibraryPage.qml:248
#: contents/ui/LibraryPage.qml:269 contents/ui/LocalPlaylistPage.qml:70
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:67
#: contents/ui/PlaybackHistory.qml:89 contents/ui/PlaylistPage.qml:69
#: contents/ui/PlaylistPage.qml:84
#, kde-format
msgid "Play"
msgstr ""
#: contents/ui/AlbumPage.qml:33 contents/ui/ArtistPage.qml:36
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:87
#: contents/ui/LibraryPage.qml:44 contents/ui/LibraryPage.qml:69
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:339
#: contents/ui/LibraryPage.qml:364 contents/ui/LibraryPage.qml:388
#: contents/ui/LocalPlaylistPage.qml:49 contents/ui/MaximizedPlayerPage.qml:890
#: contents/ui/PlaybackHistory.qml:36 contents/ui/PlaylistPage.qml:38
#: contents/ui/LibraryPage.qml:92 contents/ui/LibraryPage.qml:229
#: contents/ui/LibraryPage.qml:254 contents/ui/LibraryPage.qml:278
#: contents/ui/LocalPlaylistPage.qml:65 contents/ui/LocalPlaylistPage.qml:99
#: contents/ui/PlaybackHistory.qml:55 contents/ui/PlaybackHistory.qml:102
#: contents/ui/PlaylistPage.qml:62 contents/ui/PlaylistPage.qml:91
#, kde-format
msgid "Shuffle"
msgstr ""
#: contents/ui/AlbumPage.qml:41 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:369
#: contents/ui/LibraryPage.qml:396 contents/ui/LocalPlaylistPage.qml:55
#: contents/ui/PlaybackHistory.qml:48 contents/ui/PlaylistPage.qml:46
#: contents/ui/AlbumPage.qml:90 contents/ui/LibraryPage.qml:74
#: contents/ui/LibraryPage.qml:100 contents/ui/LibraryPage.qml:259
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:105
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:46 contents/ui/ArtistPage.qml:43
#: contents/ui/PlaylistPage.qml:51
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:51 contents/ui/ArtistPage.qml:48
#: contents/ui/PlaylistPage.qml:56
#: contents/ui/AlbumPage.qml:100 contents/ui/ArtistPage.qml:100
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
#: contents/ui/AlbumPage.qml:61
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:105 contents/ui/ArtistPage.qml:137
#: contents/ui/LocalPlaylistPage.qml:114 contents/ui/PlaybackHistory.qml:127
#: contents/ui/PlaylistPage.qml:116 contents/ui/SearchPage.qml:130
#: contents/ui/AlbumPage.qml:162 contents/ui/ArtistPage.qml:199
#: contents/ui/LocalPlaylistPage.qml:170 contents/ui/PlaybackHistory.qml:194
#: contents/ui/PlaylistPage.qml:190 contents/ui/SearchPage.qml:144
#, kde-format
msgid "More"
msgstr ""
#: contents/ui/ArtistPage.qml:31
#: contents/ui/ArtistPage.qml:81
#, kde-format
msgid "Radio"
msgstr ""
#: contents/ui/ArtistPage.qml:57
#: contents/ui/ArtistPage.qml:109
#, kde-format
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:79 contents/ui/SearchPage.qml:70
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:96 contents/ui/SearchPage.qml:26
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr ""
#: contents/ui/ArtistPage.qml:98
#: contents/ui/ArtistPage.qml:150
#, kde-format
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:100 contents/ui/SearchPage.qml:32
#: contents/ui/ArtistPage.qml:152 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:102 contents/ui/SearchPage.qml:34
#: contents/ui/ArtistPage.qml:154 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr ""
@@ -133,13 +143,25 @@ msgstr ""
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:90
#: contents/ui/LocalPlaylistsPage.qml:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr ""
@@ -156,8 +178,8 @@ msgstr ""
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:416
#: contents/ui/LibraryPage.qml:623
#: contents/ui/LibraryPage.qml:119 contents/ui/LibraryPage.qml:306
#: contents/ui/LibraryPage.qml:403
#, kde-format
msgid "Show All"
msgstr ""
@@ -167,85 +189,163 @@ msgstr ""
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:325
#: contents/ui/LibraryPage.qml:215
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:420 contents/ui/NavigationBar.qml:61
#: contents/ui/LibraryPage.qml:310 contents/ui/NavigationBar.qml:61
#: contents/ui/NavigationBar.qml:67 contents/ui/Sidebar.qml:150
#: contents/ui/Sidebar.qml:157
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:444
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:611 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:78 contents/ui/NavigationBar.qml:75
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
#: contents/ui/SearchPage.qml:30 contents/ui/Sidebar.qml:167
#, kde-format
msgid "Playlists"
msgstr ""
#: contents/ui/LibraryPage.qml:650
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:670 contents/ui/LibraryPage.qml:692
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
#: contents/ui/LibraryPage.qml:679 contents/ui/LibraryPage.qml:700
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:19
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:29
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/main.qml:109 main.cpp:54
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:196
#: contents/ui/MinimizedPlayerControls.qml:93
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
#, kde-format
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:571
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:838
#: contents/ui/MaximizedPlayerPage.qml:1013
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:869
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Playlist"
msgid "Clear Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:916
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -260,22 +360,27 @@ msgstr ""
msgid "Search"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
#: contents/ui/PlaybackHistory.qml:17
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:74
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:67
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:408
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -290,12 +395,17 @@ msgstr ""
msgid "Artists"
msgstr ""
#: contents/ui/SearchPage.qml:37
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:355
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
@@ -355,54 +465,64 @@ msgstr ""
msgid "Add to playlist"
msgstr ""
#: contents/ui/SongMenu.qml:183 contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
#: main.cpp:56
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:58
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:59
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:60
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:61
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:66
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr ""
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
+1 -1
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.25.0
ytmusicapi==1.1.0
yt-dlp
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

+283
View File
@@ -0,0 +1,283 @@
# Trigger rebuild
---
name: audiotube
confinement: devmode
grade: stable
base: core22
adopt-info: audiotube
icon: $CRAFT_PROJECT_DIR/snap/gui/logo.png
apps:
audiotube:
# extensions:
# - kde-neon
common-id: org.kde.audiotube
desktop: usr/share/applications/org.kde.audiotube.desktop
command: usr/bin/audiotube
plugs:
- home
- desktop
- desktop-legacy
- opengl
- wayland
- x11
- audio-playback
- unity7
- network
- network-bind
- network-observe
- browser-support
- network-manager-observe
- network-manager
- hardware-observe
- process-control
- alsa
command-chain:
- snap/command-chain/desktop-launch
assumes:
- snapd2.58.3
compression: lzo
plugs:
desktop:
mount-host-font-cache: false
icon-themes:
interface: content
target: $SNAP/data-dir/icons
default-provider: gtk-common-themes
sound-themes:
interface: content
target: $SNAP/data-dir/sounds
default-provider: gtk-common-themes
kf5-5-110-qt-5-15-11-core22:
content: kf5-5-110-qt-5-15-11-core22-all
interface: content
default-provider: kf5-5-110-qt-5-15-11-core22
target: $SNAP/kf5
environment:
SNAP_DESKTOP_RUNTIME: $SNAP/kf5
QML2_IMPORT_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qml"
PYTHONPYCACHEPREFIX: "$SNAP_USER_COMMON/.pycache"
PYTHONUSERBASE: $SNAP_USER_COMMON/.local
PIP_USER: 1
PYTHONPATH: "$PYTHONUSERBASE/lib/python3.10/site-packages:$SNAP/lib/python3.10/site-packages:$SNAP/usr/lib/python3/dist-packages"
QT_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/plugins:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qt5/plugins/kf5"
QT_QUICK_CONTROLS_STYLE: org.kde.desktop
XDG_DATA_DIRS: $SNAP/usr/share:$SNAP/kf5/usr/share:$XDG_DATA_DIRS
XDG_CONFIG_HOME: $SNAP/etc/xdg:$SNAP/kf5/etc/xdg:/etc/xdg:$XDG_CONFIG_HOME
GST_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
GST_PLUGIN_SYSTEM_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
GST_PLUGIN_SCANNER: "$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
LD_LIBRARY_PATH: $SNAP/lib:$SNAP/usr/lib:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/ffmpeg-2204/current/usr/lib:$SNAP/kf5/lib/$CRAFT_ARCH_TRIPLET:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET:$SNAP/kf5/usr/lib:$SNAP/kf5/usr/lib/vala-current:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/blas"
hooks:
configure:
plugs:
- desktop
command-chain:
- snap/command-chain/hooks-configure-desktop
layout:
/usr/share/X11:
symlink: $SNAP/kf5/usr/share/X11
"/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib":
bind: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib"
"/usr/share/alsa":
bind: "$SNAP/usr/share/alsa"
"/etc/alsa/conf.d":
bind: "$SNAP/etc/alsa/conf.d"
slots:
session-dbus-interface:
interface: dbus
name: org.mpris.MediaPlayer2.AudioTube
bus: session
package-repositories:
- type: apt
components:
- main
suites:
- jammy
key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D
url: http://archive.neon.kde.org/user
key-server: keyserver.ubuntu.com
parts:
kde-neon:
source: /snap/snapcraft/current/share/snapcraft/extensions/desktop/kde-neon
source-type: local
plugin: make
make-parameters:
- PLATFORM_PLUG=kf5-5-110-qt-5-15-11-core22
build-snaps:
- kf5-5-110-qt-5-15-11-core22-sdk
build-environment:
- &id001
PATH: /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/bin${PATH:+:$PATH}
- &id002
XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
- &id003
XDG_CONFIG_HOME: $CRAFT_STAGE/etc/xdg:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME}
- &id004
CRAFT_CMAKE_ARGS: -DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-110-qt-5-15-11-core22-sdk/current${CRAFT_CMAKE_ARGS:+:$CRAFT_CMAKE_ARGS}
yt-dlp:
plugin: python
source: https://github.com/yt-dlp/yt-dlp.git
python-packages:
- mutagen
- pycryptodomex
- websockets
- brotli; platform_python_implementation=='CPython'
- brotlicffi; platform_python_implementation!='CPython'
- certifi
build-packages:
- python3
- flake8
- pandoc
- zip
build-snaps:
- ffmpeg-2204
build-environment:
- LD_LIBRARY_PATH: /snap/ffmpeg-2204/current/usr/lib:/snap/ffmpeg-2204/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/pulseaudio
stage-packages:
- python3-pkg-resources
- curl
- ca-certificates
- python3-pyxattr
- rtmpdump
- libfribidi-bin
stage:
- "bin/yt-dlp"
- "lib/python3.10/site-packages/mutagen"
- "lib/python3.10/site-packages/Cryptodome"
- "lib/python3.10/site-packages/brotli.py"
- "lib/python3.10/site-packages/_brotli*"
- "lib/python3.10/site-packages/certifi"
- "lib/python3.10/site-packages/websockets"
- "-lib/python3.10/site-packages/*/__pycache__"
- "lib/python3.10/site-packages/yt_dlp*"
- "usr/bin/curl"
- "usr/lib/*/libcurl.*"
- "usr/lib/*/libfribidi*"
- "usr/bin/rtmpdump"
- "usr/bin/mutagen*"
- "usr/lib/sasl2"
ytmusicapi:
after:
- yt-dlp
plugin: python
source: https://github.com/sigma67/ytmusicapi.git
source-tag: 1.1.0
python-packages:
- requests >= 2.22
- "setuptools>=65"
- "setuptools_scm[toml]>=7"
build-packages:
- python3
- gettext
build-environment:
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio
stage:
- "lib/python3.10/site-packages/ytmusicapi"
- "lib/python3.10/site-packages/ytmusicapi-1.1.0.dist-info/"
- "lib/python3.10/site-packages/requests"
- "lib/python3.10/site-packages/urllib3"
- "lib/python3.10/site-packages/charset_normalizer"
- "lib/python3.10/site-packages/idna"
- "lib/python3.10/site-packages/certifi"
- "-lib/python3.10/site-packages/*/__pycache__"
- "bin/ytmusicapi"
audiotube:
after:
- kde-neon
- yt-dlp
- ytmusicapi
parse-info:
- usr/share/metainfo/org.kde.audiotube.appdata.xml
plugin: cmake
build-packages:
- libfuturesql-dev
- libkf5purpose-dev
- libpython3.10-dev
- pybind11-dev
- kirigami-addons-dev
- qcoro-qt5-dev
stage-packages:
- gstreamer1.0-alsa
- libasound2
- libasound2-data
- libasound2-plugins
- libasound2-plugins-extra
- libfuturesql
- libpython3.10
- python3
- python3-pybind11
- python3-m3u8
- qml-module-org-kde-kirigami-addons-labs-mobileform
- qml-module-org-kde-purpose
- qml-module-org-kde-qqc2desktopstyle
- qt5-image-formats-plugins
- libqcoro5core0
- gstreamer1.0-plugins-base
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-good
- gstreamer1.0-plugins-ugly
- gstreamer1.0-libav
- libblas3
stage-snaps:
- ffmpeg-2204
source: .
source-type: local
cmake-parameters:
- "-DCMAKE_INSTALL_PREFIX=/usr"
- "-DCMAKE_BUILD_TYPE=Release"
- "-DENABLE_TESTING=OFF"
- "-DBUILD_TESTING=OFF"
- "-DKDE_SKIP_TEST_SETTINGS=ON"
- "-DPYBIND11_FINDPYTHON=ON"
- "-DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-110-qt-5-15-11-core22-sdk/current\\;$CRAFT_STAGE"
- "-DKDE_INSTALL_PLUGINDIR=/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qt5/plugins/"
stage:
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libEGL_mesa.so.0.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libGLX_mesa.so.0.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libLLVM-15.so.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libdrm*"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libgamin-1.so.0.1.10"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libicuio.so.70.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libicutest.so.70.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpolkit-qt5-agent-1.so.1.114.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpolkit-qt5-gui-1.so.1.114.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libpulse-simple.so.0.1.1"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libsensors.so.5.0.0"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libxcb*"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/libX*"
- "-usr/lib/x86_64-linux-gnu/libglapi.so*"
- "-usr/lib/x86_64-linux-gnu/libicutu.so*"
- "-usr/lib/x86_64-linux-gnu/libpciaccess.so*"
- "-usr/lib/x86_64-linux-gnu/libpolkit-agent-1.so*"
- "-usr/lib/x86_64-linux-gnu/libxshmfence.so*"
prime:
- "-usr/lib/*/cmake/*"
- "-usr/include/*"
- "-usr/share/ECM/*"
- "-usr/share/doc/*"
- "-usr/share/man/*"
- "-usr/share/icons/breeze-dark*"
- "-usr/bin/X11"
- "-usr/lib/gcc/${CRAFT_ARCH_TRIPLET}/6.0.0"
- "-usr/lib/aspell/*"
- "-usr/share/lintian"
- "-run/pulseaudio-enable-autospawn"
- "-etc/pulse/client.conf.d/01-enable-autospawn.conf"
- "-usr/lib/${CRAFT_ARCH_TRIPLET}/dri"
build-environment:
- *id001
- *id002
- *id003
- *id004
- PYTHONPATH: "$CRAFT_STAGE/lib/python3.10/site-packages:$CRAFT_STAGE/usr/lib/python3.10/dist-packages"
- LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/vala-current:/snap/kf5-5-110-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pulseaudio
cleanup:
after:
- kde-neon
- audiotube
plugin: nil
override-prime: |
set -eux
# # Unused libraries found by linter
+5 -9
View File
@@ -10,15 +10,8 @@ target_link_libraries(ytm PUBLIC pybind11::embed)
target_include_directories(ytm PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(ytm PRIVATE -DRANDALL_WAS_HERE)
add_library(asyncdatabase STATIC
asyncdatabase.cpp
asyncdatabase_p.h
)
target_include_directories(asyncdatabase PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(asyncdatabase PUBLIC Qt::Sql)
add_subdirectory(example)
add_subdirectory(qtmpris)
add_executable(audiotube
main.cpp
@@ -38,6 +31,7 @@ add_executable(audiotube
library.cpp
localplaylistmodel.cpp
localplaylistsmodel.cpp
playlistimporter.cpp
resources.qrc
blur.cpp
clipboard.cpp
@@ -56,8 +50,10 @@ target_link_libraries(audiotube
KF5::CoreAddons
KF5::Crash
KF5::WindowSystem
FutureSQL${QT_MAJOR_VERSION}::FutureSQL
QCoro${QT_MAJOR_VERSION}::Core
declarative
ytm
asyncdatabase
)
target_compile_definitions(audiotube PRIVATE
+1 -1
View File
@@ -13,7 +13,7 @@ AlbumModel::AlbumModel(QObject *parent)
connect(this, &AlbumModel::browseIdChanged, this, [this] {
setLoading(true);
auto future = YTMusicThread::instance()->fetchAlbum(m_browseId);
connectFuture(future, this, [=, this](const album::Album &album) {
QCoro::connect(std::move(future), this, [=, this](const album::Album &album) {
setLoading(false);
beginResetModel();
+1 -1
View File
@@ -20,7 +20,7 @@ ArtistModel::ArtistModel(QObject *parent)
setLoading(true);
auto future = YTMusicThread::instance()->fetchArtist(m_channelId);
connectFuture(future, this, [=, this](const artist::Artist &artist) {
QCoro::connect(std::move(future), this, [=, this](const artist::Artist &artist) {
setLoading(false);
beginResetModel();
-309
View File
@@ -1,309 +0,0 @@
// 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
#include "asyncdatabase.h"
#include <QDir>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QUrl>
#include <QStringBuilder>
#include <QVariant>
#include <QSqlResult>
#include <QSqlError>
#include <QLoggingCategory>
#define SCHAMA_MIGRATIONS_TABLE "__qt_schema_migrations"
Q_DECLARE_LOGGING_CATEGORY(asyncdatabase)
Q_LOGGING_CATEGORY(asyncdatabase, "asyncdatabase")
namespace asyncdatabase_private {
// migrations
void createInternalTable(QSqlDatabase &database) {
QSqlQuery query(QStringLiteral("create table if not exists " SCHAMA_MIGRATIONS_TABLE " ("
"version Text primary key not null, "
"run_on timestamp not null default current_timestamp)"), database);
if (!query.exec()) {
printSqlError(query);
}
}
void markMigrationRun(QSqlDatabase &database, const QString &name) {
qCDebug(asyncdatabase) << "Marking migration" << name << "as done.";
QSqlQuery query(database);
if (!query.prepare(QStringLiteral("insert into " SCHAMA_MIGRATIONS_TABLE " (version) values (:name)"))) {
printSqlError(query);
}
query.bindValue(QStringLiteral(":name"), QVariant(name));
if (!query.exec()) {
printSqlError(query);
}
}
bool checkMigrationAlreadyRun(QSqlDatabase &database, const QString &name) {
qCDebug(asyncdatabase) << "Checking whether migration" << name << "is already applied";
QSqlQuery query(database);
query.prepare(QStringLiteral("select count(*) from " SCHAMA_MIGRATIONS_TABLE " where version = :name"));
query.bindValue(QStringLiteral(":name"), QVariant(name));
query.exec();
query.next();
int count = query.value(0).toInt();
bool isApplied = count > 0;
if (isApplied) {
qCDebug(asyncdatabase) << "… yes";
} else {
qDebug(asyncdatabase) << "… no";
}
return isApplied;
}
void runDatabaseMigrations(QSqlDatabase &database, const QString &migrationDirectory)
{
createInternalTable(database);
QDir dir(migrationDirectory);
auto entries = dir.entryList(QDir::Filter::Dirs | QDir::Filter::NoDotAndDotDot, QDir::SortFlag::Name);
for (const auto &entry : entries) {
QDir subdir(entry);
if (!checkMigrationAlreadyRun(database, subdir.dirName())) {
QFile file(migrationDirectory % QDir::separator() % entry % QDir::separator() % "up.sql");
if (!file.open(QFile::ReadOnly)) {
qCDebug(asyncdatabase) << "Failed to open migration file" << file.fileName();
}
qCDebug(asyncdatabase) << "Running migration" << subdir.dirName();
database.transaction();
// Hackish
const auto statements = file.readAll().split(';');
bool migrationSuccessful = true;
for (const QByteArray &statement : statements) {
const auto trimmedStatement = statement.trimmed();
QSqlQuery query(database);
if (!trimmedStatement.isEmpty()) {
qCDebug(asyncdatabase) << "Running" << trimmedStatement;
if (!query.prepare(trimmedStatement)) {
printSqlError(query);
} else {
bool success = query.exec();
migrationSuccessful &= success;
if (!success) {
printSqlError(query);
}
}
}
}
if (migrationSuccessful) {
database.commit();
markMigrationRun(database, subdir.dirName());
} else {
database.rollback();
}
}
}
qCDebug(asyncdatabase) << "Migrations finished";
}
struct AsyncSqlDatabasePrivate {
QSqlDatabase database;
};
// Internal asynchronous database class
QFuture<void> AsyncSqlDatabase::establishConnection(const DatabaseConfiguration &configuration)
{
return runAsync([=, this] {
d->database = QSqlDatabase::addDatabase(configuration.type());
if (configuration.databaseName()) {
d->database.setDatabaseName(*configuration.databaseName());
}
if (configuration.hostName()) {
d->database.setHostName(*configuration.hostName());
}
if (configuration.userName()) {
d->database.setUserName(*configuration.userName());
}
if (configuration.password()) {
d->database.setPassword(*configuration.password());
}
if (!d->database.open()) {
qCDebug(asyncdatabase) << "Failed to open database" << d->database.lastError().text();
if (configuration.databaseName()) {
qCDebug(asyncdatabase) << "Tried to use database" << *configuration.databaseName();
}
}
});
}
AsyncSqlDatabase::AsyncSqlDatabase()
: QObject()
, d(std::make_unique<AsyncSqlDatabasePrivate>())
{
}
Row AsyncSqlDatabase::retrieveRow(const QSqlQuery &query) {
Row row;
int i = 0;
while (true) {
if (query.isValid()) {
QVariant value = query.value(i);
if (value.isValid()) {
row.push_back(std::move(value));
i++;
} else {
break;
}
} else {
break;
}
}
return row;
}
Rows AsyncSqlDatabase::retrieveRows(QSqlQuery &query)
{
Rows rows;
while (query.next()) {
rows.push_back(retrieveRow(query));
}
return rows;
}
std::optional<Row> AsyncSqlDatabase::retrieveOptionalRow(QSqlQuery &query)
{
query.next();
if (query.isValid()) {
return retrieveRow(query);
} else {
return std::nullopt;
}
}
QSqlDatabase &AsyncSqlDatabase::db()
{
return d->database;
}
AsyncSqlDatabase::~AsyncSqlDatabase() = default;
void printSqlError(const QSqlQuery &query)
{
qCDebug(asyncdatabase) << "SQL error:" << query.lastError().text();
}
QSqlQuery prepareQuery(const QSqlDatabase &database, const QString &sqlQuery)
{
qCDebug(asyncdatabase) << "Running" << sqlQuery;
QSqlQuery query(database);
if (!query.prepare(sqlQuery)) {
printSqlError(query);
}
return query;
}
QSqlQuery runQuery(QSqlQuery &query)
{
if (!query.exec()) {
printSqlError(query);
}
return query;
}
}
struct DatabaseConfigurationPrivate : public QSharedData {
QString type;
std::optional<QString> hostName;
std::optional<QString> databaseName;
std::optional<QString> userName;
std::optional<QString> password;
};
DatabaseConfiguration::DatabaseConfiguration() : d(new DatabaseConfigurationPrivate)
{}
DatabaseConfiguration::~DatabaseConfiguration() = default;
DatabaseConfiguration::DatabaseConfiguration(const DatabaseConfiguration &) = default;
void DatabaseConfiguration::setType(const QString &type) {
d->type = type;
}
const QString &DatabaseConfiguration::type() const {
return d->type;
}
void DatabaseConfiguration::setHostName(const QString &hostName) {
d->hostName = hostName;
}
const std::optional<QString> &DatabaseConfiguration::hostName() const {
return d->hostName;
}
void DatabaseConfiguration::setDatabaseName(const QString &databaseName) {
d->databaseName = databaseName;
}
const std::optional<QString> &DatabaseConfiguration::databaseName() const {
return d->databaseName;
}
void DatabaseConfiguration::setUserName(const QString &userName) {
d->userName = userName;
}
const std::optional<QString> &DatabaseConfiguration::userName() const {
return d->userName;
}
void DatabaseConfiguration::setPassword(const QString &password) {
d->password = password;
}
const std::optional<QString> &DatabaseConfiguration::password() const {
return d->password;
}
struct ThreadedDatabasePrivate {
asyncdatabase_private::AsyncSqlDatabase db;
};
std::unique_ptr<ThreadedDatabase> ThreadedDatabase::establishConnection(DatabaseConfiguration config) {
auto threadedDb = std::make_unique<ThreadedDatabase>();
threadedDb->setObjectName(QStringLiteral("database thread"));
threadedDb->d->db.moveToThread(&*threadedDb);
threadedDb->start();
threadedDb->d->db.establishConnection(config);
return threadedDb;
}
ThreadedDatabase::ThreadedDatabase()
: QThread()
, d(std::make_unique<ThreadedDatabasePrivate>())
{
}
ThreadedDatabase::~ThreadedDatabase()
{
quit();
wait();
}
asyncdatabase_private::AsyncSqlDatabase &ThreadedDatabase::db()
{
return d->db;
}
-152
View File
@@ -1,152 +0,0 @@
// 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
#pragma once
class QUrl;
class QSqlDatabase;
#include <QString>
#include <QObject>
#include <QFuture>
#include <QSharedDataPointer>
#include <memory>
#include <optional>
#include <tuple>
#include <vector>
#include "asyncdatabase_p.h"
struct DatabaseConfigurationPrivate;
///
/// Options for connecting to a database
///
class DatabaseConfiguration {
public:
DatabaseConfiguration();
DatabaseConfiguration(const DatabaseConfiguration &);
~DatabaseConfiguration();
/// Set the name of the database driver, for example DATABASE_TYPE_SQLITE or a custom string.
void setType(const QString &type);
const QString &type() const;
/// Set the hostname
void setHostName(const QString &hostName);
const std::optional<QString> &hostName() const;
/// Set the name of the database (path of the file for SQLite)
void setDatabaseName(const QString &databaseName);
const std::optional<QString> &databaseName() const;
/// Set user name
void setUserName(const QString &userName);
const std::optional<QString> &userName() const;
/// Set password
void setPassword(const QString &password);
const std::optional<QString> &password() const;
private:
QSharedDataPointer<DatabaseConfigurationPrivate> d;
};
///
/// The SQLite database driver
///
const QString DATABASE_TYPE_SQLITE = QStringLiteral("QSQLITE");
template <typename T>
concept FromSql = requires(T v, typename T::ColumnTypes row)
{
typename T::ColumnTypes;
{ std::tuple(row) } -> std::same_as<typename T::ColumnTypes>;
{ T::fromSql(row) } -> std::same_as<T>;
};
struct ThreadedDatabasePrivate;
class ThreadedDatabase : public QThread {
public:
///
/// \brief Connect to a database
/// \param configuration of the database connection
/// \return
///
static std::unique_ptr<ThreadedDatabase> establishConnection(DatabaseConfiguration config);
///
/// \brief Execute an SQL query on the database, ignoring the result.
/// \param SQL query string to execute
/// \param Parameters to bind to the placeholders in the SQL Query
/// \return
///
template <typename ...Args>
requires std::conjunction_v<std::is_convertible<Args, QVariant>...>
auto execute(const QString &sqlQuery, Args... args) -> QFuture<void> {
return db().execute(sqlQuery, args...);
}
///
/// Run database migrations in the given directory.
/// The directory needs to contain a subdirectory for each migration.
/// The subdirectories need to be named so that when sorted alphabetically the migrations will be run in the correct order.
/// Each subdirectory needs to contain a file named up.sql.
///
/// \param Directory which contains the migrations.
/// \return
///
auto runMigrations(const QString &migrationDirectory) -> QFuture<void> {
return db().runMigrations(migrationDirectory);
}
///
/// \brief Execute an SQL query on the database, retrieving the result.
/// \param SQL Query to execute
/// \param parameters to bind to the placeholders in the SQL query.
/// \return Future of a list of lists of variants.
///
/// T must provide a tuple of the column types as `using ColumnTypes = std::tuple<...>`
/// and a `static T fromSql(ColumnTypes tuple)` deserialization method.
///
template <typename T, typename ...Args>
requires FromSql<T> && std::conjunction_v<std::is_convertible<Args, QVariant>...>
auto getResults(const QString &sqlQuery, Args... args) -> QFuture<std::vector<T>> {
return db().getResults<T, Args...>(sqlQuery, args...);
}
///
/// \brief Like getResults, but for retrieving just one row.
///
template <typename T, typename ...Args>
requires FromSql<T> && std::conjunction_v<std::is_convertible<Args, QVariant>...>
auto getResult(const QString &sqlQuery, Args... args) -> QFuture<std::optional<T>> {
return db().getResult<T, Args...>(sqlQuery, args...);
}
ThreadedDatabase();
~ThreadedDatabase();
private:
asyncdatabase_private::AsyncSqlDatabase &db();
std::unique_ptr<ThreadedDatabasePrivate> d;
};
///
/// \brief Deserialize just a single value from a query result.
///
template <typename T>
struct SingleValue {
using ColumnTypes = std::tuple<T>;
static SingleValue fromSql(ColumnTypes tuple) {
auto [value] = tuple;
return SingleValue { value };
}
T value;
};
-179
View File
@@ -1,179 +0,0 @@
// 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
#pragma once
#include <memory>
#include <tuple>
#include <optional>
#include <QFuture>
#include <QFutureWatcher>
#include <QSqlQuery>
#include <QSqlDatabase>
#include <QThread>
class DatabaseConfiguration;
namespace asyncdatabase_private {
// Helpers
template <typename Tuple, typename Func, std::size_t i>
inline constexpr void iterate_impl(Tuple &tup, Func fun)
{
if constexpr(i >= std::tuple_size_v<std::decay_t<decltype(tup)>>) {
return;
} else {
fun(std::get<i>(tup));
return asyncdatabase_private::iterate_impl<Tuple, Func, i + 1>(tup, fun);
}
}
template <typename Tuple, typename Func>
inline constexpr void iterate_tuple(Tuple &tup, Func fun)
{
asyncdatabase_private::iterate_impl<Tuple, Func, 0>(tup, fun);
}
template <typename T, typename QObjectDerivedType, typename Function>
void connectFuture(const QFuture<T> &future, QObjectDerivedType *self, const Function &fun) {
auto watcher = std::make_shared<QFutureWatcher<T>>();
watcher->setFuture(future);
QObject::connect(watcher.get(), &QFutureWatcherBase::finished, self, [self, watcher, fun, future] {
if constexpr (std::is_same_v<void, T>) {
if constexpr (std::is_member_function_pointer_v<Function>) {
fun->*(self);
} else {
fun();
}
} else if (future.resultCount() > 0) {
if constexpr (std::is_member_function_pointer_v<Function>) {
(self->*fun)(watcher->result());
} else {
fun(watcher->result());
}
}
});
}
using Row = std::vector<QVariant>;
using Rows = std::vector<Row>;
template <typename RowTypesTuple>
auto parseRow(const Row &row) -> RowTypesTuple
{
auto tuple = RowTypesTuple();
int i = 0;
asyncdatabase_private::iterate_tuple(tuple, [&](auto &elem) {
elem = row.at(i).value<std::decay_t<decltype(elem)>>();
i++;
});
return tuple;
}
template <typename RowTypesTuple>
auto parseRows(const Rows &rows) -> std::vector<RowTypesTuple> {
std::vector<RowTypesTuple> parsedRows;
parsedRows.reserve(rows.size());
std::ranges::transform(rows, std::back_inserter(parsedRows), parseRow<RowTypesTuple>);
return parsedRows;
}
void runDatabaseMigrations(QSqlDatabase &database, const QString &migrationDirectory);
void printSqlError(const QSqlQuery &query);
// non-template helper functions to allow patching a much as possible in the shared library
QSqlQuery prepareQuery(const QSqlDatabase &database, const QString &sqlQuery);
QSqlQuery runQuery(QSqlQuery &query);
struct AsyncSqlDatabasePrivate;
class AsyncSqlDatabase : public QObject {
Q_OBJECT
public:
QFuture<void> establishConnection(const DatabaseConfiguration &configuration);
template <typename T, typename ...Args>
auto getResults(const QString &sqlQuery, Args... args) -> QFuture<std::vector<T>> {
return runAsync([=, this] {
auto query = executeQuery(sqlQuery, args...);
const auto rows = parseRows<typename T::ColumnTypes>(retrieveRows(query));
std::vector<T> deserializedRows;
std::ranges::transform(rows, std::back_inserter(deserializedRows), T::fromSql);
return deserializedRows;
});
}
template <typename T, typename ...Args>
auto getResult(const QString &sqlQuery, Args... args) -> QFuture<std::optional<T>> {
return runAsync([=, this]() -> std::optional<T> {
auto query = executeQuery(sqlQuery, args...);
if (const auto row = retrieveOptionalRow(query)) {
return T::fromSql(parseRow<typename T::ColumnTypes>(*row));
}
return std::nullopt;
});
}
template <typename ...Args>
auto execute(const QString &sqlQuery, Args... args) -> QFuture<void> {
return runAsync([=, this] {
executeQuery(sqlQuery, args...);
});
}
auto runMigrations(const QString &migrationDirectory) -> QFuture<void> {
return runAsync([=, this] {
runDatabaseMigrations(db(), migrationDirectory);
});
}
AsyncSqlDatabase();
~AsyncSqlDatabase();
private:
template <typename ...Args>
QSqlQuery executeQuery(const QString &sqlQuery, Args... args) {
auto query = prepareQuery(db(), sqlQuery);
auto argsTuple = std::make_tuple<Args...>(std::move(args)...);
int i = 0;
asyncdatabase_private::iterate_tuple(argsTuple, [&](auto &arg) {
query.bindValue(i, arg);
i++;
});
return runQuery(query);
}
template <typename Functor>
QFuture<std::invoke_result_t<Functor>> runAsync(Functor func) {
using ReturnType = std::invoke_result_t<Functor>;
auto interface = std::make_shared<QFutureInterface<ReturnType>>();
QMetaObject::invokeMethod(this, [interface, func] {
if constexpr (!std::is_same_v<ReturnType, void>) {
auto result = func();
interface->reportResult(result);
} else {
func();
}
interface->reportFinished();
});
return interface->future();
}
Row retrieveRow(const QSqlQuery &query);
Rows retrieveRows(QSqlQuery &query);
std::optional<Row> retrieveOptionalRow(QSqlQuery &query);
QSqlDatabase &db();
std::unique_ptr<AsyncSqlDatabasePrivate> d;
};
}
+17 -1
View File
@@ -10,6 +10,9 @@
#include <QJsonArray>
#include <QFutureInterface>
#include <QCoreApplication>
#include <QTimer>
#include <KLocalizedString>
#include <pybind11/embed.h>
@@ -55,6 +58,15 @@ AsyncYTMusic::AsyncYTMusic(QObject *parent)
connect(this, &AsyncYTMusic::errorOccurred, this, [](const QString &err) {
std::cerr << qPrintable(err);
});
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));
}
});
});
}
//
@@ -92,7 +104,11 @@ QFuture<album::Album> AsyncYTMusic::fetchAlbum(const QString &browseId)
//
QFuture<std::optional<song::Song>> AsyncYTMusic::fetchSong(const QString &videoId)
{
return invokeAndCatchOnThread([=, this]() {
return invokeAndCatchOnThread([=, this]() -> std::optional<song::Song> {
if (videoId.isEmpty()) {
return {};
}
return m_ytm->get_song(videoId.toStdString());
});
}
+3 -47
View File
@@ -9,6 +9,9 @@
#include <QFuture>
#include <QFutureWatcher>
#include <QCoroTask>
#include <QCoroFuture>
#include <iostream>
#include <vector>
@@ -50,53 +53,6 @@ private:
std::unique_ptr<T> m_item = nullptr;
};
///
/// Similar to QObject::connect, except that the first two arguments are replaced with a QFuture.
///
template <typename T, typename QObjectDerivedType, typename Function>
void connectFuture(const QFuture<T> &future, QObjectDerivedType *self, const Function &fun) {
auto watcher = std::make_shared<QFutureWatcher<T>>();
watcher->setFuture(future);
QObject::connect(watcher.get(), &QFutureWatcherBase::finished, self, [self, watcher, fun, future]() {
if constexpr (std::is_same_v<void, T>) {
if constexpr (std::is_member_function_pointer_v<Function>) {
(self->*fun)();
} else {
Q_UNUSED(self);
fun();
}
} else if (future.resultCount() > 0) {
if constexpr (std::is_member_function_pointer_v<Function>) {
(self->*fun)(watcher->result());
} else {
Q_UNUSED(self);
fun(watcher->result());
}
}
});
}
///
/// Applies a function to a the contained value of a QFuture once it finishes.
/// @returns a QFuture that finishes once the future given as first argument finished
///
template <typename T, typename Func>
QFuture<std::invoke_result_t<Func, T>> mapFuture(const QFuture<T> &future, Func mapFunction) {
using ReturnType = std::invoke_result_t<Func, T>;
auto watcher = std::make_shared<QFutureWatcher<T>>();
watcher->setFuture(future);
auto interface = std::make_shared<QFutureInterface<ReturnType>>();
QObject::connect(watcher.get(), &QFutureWatcherBase::finished, watcher.get(), [interface, watcher, mapFunction] {
auto result = watcher->result();
auto mapped = mapFunction(std::move(result));
interface->reportResult(mapped);
interface->reportFinished();
});
return interface->future();
}
class AsyncYTMusic : public QObject
{
friend class YTMusicThread;
+5 -1
View File
@@ -13,5 +13,9 @@ import org.kde.ytmusic 1.0
MobileForm.AboutPage {
aboutData: About
showAboutKDE: false
Component.onCompleted: {
if (hasOwnProperty("showAboutKDE")) {
showAboutKDE = false
}
}
}
+179
View File
@@ -0,0 +1,179 @@
// 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 QtGraphicalEffects 1.15
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: 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()
}
}
}
}
+72 -17
View File
@@ -9,7 +9,10 @@ import QtQuick.Layouts 1.3
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
id: root
property alias browseId: albumModel.browseId
title: albumModel.title
ShareMenu {
@@ -17,8 +20,54 @@ Kirigami.ScrollablePage {
inputTitle: albumModel.title
url: albumModel.webUrl
}
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 {
id: songList
footer: Item { height: 60 }
header: ListHeader {
visibleActions: [
Kirigami.Action {
@@ -81,24 +130,32 @@ Kirigami.ScrollablePage {
required property string thumbnailUrl
required property string artistsDisplayString
required property int index
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: (index + 1)
font.bold: true
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
Layout.preferredWidth: 30
}
RowLayout {
Layout.fillHeight: true
Controls.Label {
text: (index + 1)
font.bold: true
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
Layout.preferredWidth: 30
}
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
}
}
}
actions: [
Kirigami.Action {
icon.name: "overflow-menu"
@@ -106,8 +163,6 @@ Kirigami.ScrollablePage {
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
]
onClicked: play(delegateItem.videoId)
}
Controls.BusyIndicator {
+77 -17
View File
@@ -7,9 +7,12 @@ 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 {
id: root
property alias channelId: artistModel.channelId
property string radioId
property string shuffleId
@@ -22,20 +25,69 @@ Kirigami.ScrollablePage {
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 {
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: [
@@ -114,23 +166,33 @@ Kirigami.ScrollablePage {
required property var artists
required property string videoId
required property string thumbnailUrl
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
}
RowLayout {
Layout.fillHeight: true
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius:5
}
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
}
}
}
actions: [
Kirigami.Action {
icon.name: "overflow-menu"
@@ -139,8 +201,6 @@ Kirigami.ScrollablePage {
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, artistModel.title)
}
]
onClicked: artistModel.triggerItem(index)
}
Controls.BusyIndicator {
+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
}
}
}
+141 -441
View File
@@ -2,7 +2,8 @@
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.1
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
@@ -25,7 +26,6 @@ Kirigami.ScrollablePage {
ColumnLayout {
RowLayout {
Layout.fillWidth: true
spacing: Kirigami.Units.MediumSpacing
Kirigami.Heading {
text: i18n("Favourites")
Layout.alignment: Qt.AlignLeft
@@ -129,7 +129,7 @@ Kirigami.ScrollablePage {
Kirigami.Icon {
id: favouritesPlaceholder
visible: mostPlayedRepeater.count == 0
visible: favouriteRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
@@ -155,162 +155,53 @@ Kirigami.ScrollablePage {
}
}
Controls.ScrollView {
leftPadding: 15
rightPadding: 25
HorizontalCoverView {
id: favouriteRepeater
Layout.fillWidth: true
RowLayout {
spacing: 20
Repeater {
id: favouriteRepeater
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
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.fillHeight: true
Layout.fillWidth: false
Layout.maximumWidth: 200
onClicked: play(delegateItem.videoId)
onOptionsClicked: menu.openForSong(delegateItem.videoId,
delegateItem.title,
delegateItem.artists,
delegateItem.artistsDisplayString)
Kirigami.ShadowedRectangle {
color: Kirigami.Theme.backgroundColor
id: favCover
MouseArea {
id: favArea
anchors.fill: parent
onClicked: play(delegateItem.videoId)
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput){
favSelected.visible = true
favTitle.color = Kirigami.Theme.hoverColor
favSubtitle.color = Kirigami.Theme.hoverColor
favTitle.font.bold = true
playAnimationPosition.running = true
playAnimationOpacity.running = true
}
title: delegateItem.title
subtitle: delegateItem.artistsDisplayString
}
onExited:{
favSelected.visible = false
favTitle.color = Kirigami.Theme.textColor
favSubtitle.color = Kirigami.Theme.disabledTextColor
favTitle.font.bold = false
}
}
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)
ThumbnailSource {
id: thumbnailSource
videoId: delegateItem.videoId
}
RoundedImage {
source: thumbnailSource.cachedPath
height: 200
width: height
radius: 10
}
Rectangle {
id: favSelected
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.hoverColor
radius: 10
opacity: 0.2
}
Item{
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 {
ColumnLayout {
Controls.Label {
id:favTitle
text: delegateItem.title
Layout.maximumWidth: 200
Layout.fillWidth: true
leftPadding: 5
elide: Text.ElideRight
}
Controls.Label {
id: favSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Text.ElideRight
}
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "overflow-menu"
onPressed: menu.openForSong(delegateItem.videoId,
delegateItem.title,
delegateItem.artists,
delegateItem.artistsDisplayString)
}
}
Item {
height: 5
}
contentItem: Image {
source: thumbnailSource.cachedPath
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
}
}
Item {
height: 5
}
}
}
Item {
@@ -319,7 +210,6 @@ Kirigami.ScrollablePage {
RowLayout {
Layout.fillWidth: true
spacing: Kirigami.Units.MediumSpacing
Kirigami.Heading {
text: i18n("Most played")
@@ -423,7 +313,7 @@ Kirigami.ScrollablePage {
}
}
Kirigami.Icon {
visible: mostPlayedRepeater.count == 0
visible: mostPlayedRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
@@ -436,7 +326,7 @@ Kirigami.ScrollablePage {
source: "qrc:/resources/played_placeholder.svg"
Controls.Label {
visible: mostPlayedRepeater.count == 0
visible: mostPlayedRepeater.count === 0
color: Kirigami.Theme.disabledTextColor
anchors.centerIn:playedPlaceholder
font.bold: true
@@ -445,160 +335,51 @@ Kirigami.ScrollablePage {
}
}
Controls.ScrollView {
leftPadding: 15
rightPadding: 25
HorizontalCoverView {
id: mostPlayedRepeater
Layout.fillWidth: true
RowLayout {
spacing: 20
model: Library.mostPlayed
delegate: ColumnLayout {
id: mpdelegateItem
required property string title
required property var artists
required property string artistsDisplayString
required property string videoId
Repeater {
id: mostPlayedRepeater
Layout.fillWidth: false
Layout.maximumWidth: 200
ThumbnailSource {
id: mpthumbnailSource
videoId: mpdelegateItem.videoId
}
AlbumCoverItem {
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.fillHeight: true
Layout.fillWidth: false
Layout.maximumWidth: 200
Kirigami.ShadowedRectangle {
color: Kirigami.Theme.backgroundColor
id: recCover
MouseArea {
id: recArea
anchors.fill: parent
onClicked: play(mpdelegateItem.videoId)
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput)
recSelected.visible = true
recTitle.color = Kirigami.Theme.hoverColor
recSubtitle.color = Kirigami.Theme.hoverColor
recTitle.font.bold = true
playAnimationPositionRec.running = true
playAnimationOpacityRec.running = true
}
onExited:{
recSelected.visible = false
recTitle.color = Kirigami.Theme.textColor
recSubtitle.color = Kirigami.Theme.disabledTextColor
recTitle.font.bold = false
}
}
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)
ThumbnailSource {
id: mpthumbnailSource
videoId: mpdelegateItem.videoId
}
RoundedImage {
source: mpthumbnailSource.cachedPath
height: 200
width: height
radius: 10
}
Rectangle {
id: recSelected
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.hoverColor
radius: 10
opacity: 0.2
}
Item{
height: parent.height
width: parent.width
NumberAnimation on opacity{
id: playAnimationOpacityRec
easing.type: Easing.OutCubic
running: false
from: 0; to: 1
}
NumberAnimation on y {
id: playAnimationPositionRec
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 {
ColumnLayout {
Controls.Label {
id: recTitle
text: mpdelegateItem.title
Layout.maximumWidth: 200
Layout.fillWidth: true
leftPadding: 5
elide: Text.ElideRight
}
Controls.Label {
id: recSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
text: mpdelegateItem.artistsDisplayString
elide: Text.ElideRight
}
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "overflow-menu"
onPressed: menu.openForSong(mpdelegateItem.videoId,
onClicked: play(mpdelegateItem.videoId)
onOptionsClicked: menu.openForSong(mpdelegateItem.videoId,
mpdelegateItem.title,
mpdelegateItem.artists,
mpdelegateItem.artistsDisplayString)
}
}
Item {
height: 5
}
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 {
@@ -606,7 +387,6 @@ Kirigami.ScrollablePage {
}
RowLayout {
Layout.fillWidth: true
spacing: Kirigami.Units.MediumSpacing
Kirigami.Heading {
text: i18n("Playlists")
Layout.alignment: Qt.AlignLeft
@@ -632,7 +412,7 @@ Kirigami.ScrollablePage {
Kirigami.Icon {
id: playlistsPlaceholder
visible: mostPlayedRepeater.count == 0
visible: playlistsRepeater.count === 0
Layout.margins: 20
isMask: true
opacity:0.4
@@ -705,151 +485,71 @@ Kirigami.ScrollablePage {
}
}
Controls.ScrollView {
leftPadding: 15
rightPadding: 25
HorizontalCoverView {
id: playlistsRepeater
Layout.fillWidth: true
RowLayout {
spacing: 20
Repeater {
id: playlistsRepeater
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
model: LocalPlaylistsModel {
id: localPlaylistsModel
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
}
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
onThumbnailIdsChanged: console.log(thumbnailIds)
Layout.fillWidth: false
Layout.maximumWidth: 200
Layout.preferredWidth: 200
Kirigami.ShadowedRectangle {
color: Kirigami.Theme.backgroundColor
id: playlistsCover
MouseArea {
id: playlistsArea
anchors.fill: parent
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput){
playlistSelected.visible = true
playlistTitle.color = Kirigami.Theme.hoverColor
playlistSubtitle.color = Kirigami.Theme.hoverColor
playlistTitle.font.bold = true
}
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
}
onExited:{
playlistSelected.visible = false
playlistTitle.color = Kirigami.Theme.textColor
playlistSubtitle.color = Kirigami.Theme.disabledTextColor
playlistTitle.font.bold = false
}
}
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)
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]
}
PlaylistCover {
source1: thumbnailSource1.cachedPath
source2: thumbnailSource2.cachedPath
source3: thumbnailSource3.cachedPath
source4: thumbnailSource4.cachedPath
title: playlistDelegate.title
height: 200
width: height
radius: 10
}
Rectangle {
id: playlistSelected
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.hoverColor
radius: 10
opacity: 0.2
}
visible: false
anchors.fill: parent
radius: 9
border.color: Kirigami.Theme.hoverColor
border.width: 2
color: "transparent"
}
}
RowLayout {
ColumnLayout {
Controls.Label {
id: playlistTitle
text: playlistDelegate.title
Layout.maximumWidth: 200
Layout.fillWidth: true
leftPadding: 5
elide: Text.ElideRight
}
Controls.Label {
id: playlistSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 5
color: Kirigami.Theme.disabledTextColor
text: playlistDelegate.description
elide: Text.ElideRight
}
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "overflow-menu"
onClicked:{
playlistMenu.modelData = playlistDelegate.model
playlistDrawer.modelData = playlistDelegate.model
Kirigami.Settings.isMobile? playlistDrawer.open() : playlistMenu.popup()
}
}
}
onOptionsClicked:{
playlistMenu.modelData = playlistDelegate.model
playlistDrawer.modelData = playlistDelegate.model
Kirigami.Settings.isMobile? playlistDrawer.open() : playlistMenu.popup()
}
}
}
+1
View File
@@ -118,6 +118,7 @@ Item {
icon.name: modelData.icon.name
text:modelData.text
onClicked: modelData.triggered()
visible: modelData.visible
}
}
Controls.Menu {
+86 -30
View File
@@ -3,12 +3,14 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.1
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.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
id: root
property alias playlistId: playlistModel.playlistId
@@ -24,7 +26,55 @@ Kirigami.ScrollablePage {
}
]
}
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
@@ -35,7 +85,7 @@ Kirigami.ScrollablePage {
id: playlistModel
}
header:RowLayout{
header: RowLayout{
spacing: Kirigami.Units.MediumSpacing
Controls.ToolButton {
@@ -74,40 +124,46 @@ Kirigami.ScrollablePage {
required property string artistsDisplayString
required property int index
onClicked: {
play(videoId)
}
RowLayout {
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
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
}
Controls.Label {
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
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
}
}
}
}
actions: [
Kirigami.Action {
icon.name: "overflow-menu"
+85 -97
View File
@@ -73,33 +73,93 @@ Kirigami.ScrollablePage {
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
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"
AddPlaylistDialog{
id: addPlaylistDialog
model: localPlaylistsModel
}
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 {
Kirigami.BasicListItem{
label: i18n("New Playlist")
icon: "list-add"
onClicked: addPlaylistDialog.open()
}
Kirigami.BasicListItem{
label: i18n("Import Playlist")
icon: "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
@@ -112,48 +172,31 @@ Kirigami.ScrollablePage {
required property string description
required property date createdOn
required property var thumbnailIds
onThumbnailIdsChanged: console.log(thumbnailIds)
width: grid.cellWidth
Kirigami.ShadowedRectangle {
AlbumCoverItem {
title: playlistDelegate.title
subtitle: playlistDelegate.description
showIcon: false
Layout.margins: 5
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.backgroundColor
id: favCover
MouseArea {
id: favArea
anchors.fill: parent
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput){
favSelected.visible = true
playlistTitle.color = Kirigami.Theme.hoverColor
playlistSubtitle.color = Kirigami.Theme.hoverColor
playlistTitle.font.bold = true
}
}
onClicked: pageStack.push("qrc:/LocalPlaylistPage.qml", {
"playlistId": playlistDelegate.playlistId,
"title": playlistDelegate.title
})
onExited:{
favSelected.visible = false
playlistTitle.color = Kirigami.Theme.textColor
playlistSubtitle.color = Kirigami.Theme.disabledTextColor
playlistTitle.font.bold = false
onOptionsClicked: {
menu.modelData = playlistDelegate.model
drawer.modelData = playlistDelegate.model
if (Kirigami.Settings.isMobile) {
drawer.open()
} else {
menu.popup()
}
}
Layout.margins: 15
Layout.bottomMargin: 5
Layout.topMargin: 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)
LocalPlaylistsModel{id:localPlaylistModel}
@@ -173,7 +216,7 @@ Kirigami.ScrollablePage {
id: thumbnailSource4
videoId: thumbnailIds[3] ?? thumbnailIds[0]
}
PlaylistCover {
contentItem: PlaylistCover {
source1: thumbnailSource1.cachedPath
source2: thumbnailSource2.cachedPath
source3: thumbnailSource3.cachedPath
@@ -183,61 +226,6 @@ Kirigami.ScrollablePage {
width: height
radius: 10
}
Rectangle {
id: favSelected
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.hoverColor
radius: 10
opacity: 0.2
}
visible: false
anchors.fill: parent
radius: 9
border.color: Kirigami.Theme.hoverColor
border.width: 2
color: "transparent"
}
}
RowLayout {
Layout.alignment: Qt.AlignHCenter
ColumnLayout {
Controls.Label {
id: playlistTitle
text: playlistDelegate.title
Layout.maximumWidth: 200
Layout.fillWidth: true
leftPadding: 15
elide: Text.ElideRight
}
Controls.Label {
id: playlistSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 15
color: Kirigami.Theme.disabledTextColor
text: playlistDelegate.description
elide: Text.ElideRight
}
}
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "overflow-menu"
onClicked:{
menu.modelData = playlistDelegate.model
drawer.modelData = playlistDelegate.model
Kirigami.Settings.isMobile? drawer.open() : menu.popup()
}
}
}
}
}
+310 -119
View File
@@ -19,10 +19,13 @@ Item {
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 requestClose()
onWidthChanged: {sideDrawer.Layout.minimumWidth = -1}
// background image
@@ -40,7 +43,7 @@ Item {
anchors.fill: parent
asynchronous: true
source: info.thumbnail
source: root.thumbnail
fillMode: Image.PreserveAspectCrop
sourceSize.width: 512
@@ -59,14 +62,9 @@ Item {
cached: true
radius: 100
}
}
}
Rectangle {
anchors.fill: parent
gradient: Gradient{
@@ -75,26 +73,35 @@ Item {
}
}
// content
RowLayout{
// content
RowLayout {
anchors.fill: parent
ColumnLayout {
id: mainContent
Layout.fillWidth: true
// hide arrow button
ToolButton {
id: closeButton
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
Layout.maximumHeight: parent.height
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
Layout.maximumWidth: parent.height
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
Layout.topMargin: Kirigami.Units.smallSpacing
icon.name: "arrow-down"
icon.color: "white"
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
onClicked: root.requestClose()
text: i18n("Close Maximized Player")
display: ToolButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
}
SwipeView {
@@ -152,13 +159,13 @@ Item {
shadow.yOffset: 5
shadow.color: Qt.rgba(0, 0, 0, 0.2)
RoundedImage {
source: info.thumbnail
source: root.thumbnail
height: parent.height
width: height
radius: 10
}
}
}
}
}
ColumnLayout{
@@ -416,11 +423,16 @@ Item {
}
}
}
text: "Favourite"
text: favouriteWatcher ? (favouriteWatcher.isFavourite ? i18n("Remove from Favourites") : i18n("Add to Favourites")) : i18n("Add to Favourites")
icon.name: favouriteWatcher ? (favouriteWatcher.isFavourite ? "starred-symbolic" : "non-starred-symbolic") : "non-starred-symbolic"
enabled: favouriteWatcher
icon.color: "white"
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
@@ -436,6 +448,12 @@ Item {
icon.name: muteButton.icon.name
text: i18n("Open Volume Drawer")
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
onClicked:{
if(!volumeDrawer.opened){
volumeDrawer.open()
@@ -456,6 +474,13 @@ Item {
icon.name: muteButton.icon.name
checkable: true
checked: muteButton.checked
text: muteButton.text
display: muteButton.display
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
onClicked: {
if(audio.muted)
{
@@ -531,6 +556,12 @@ Item {
checkable: true
visible: isWidescreen
enabled: isWidescreen
text: audio.muted ? i18n("Unmute Audio") : i18n("Mute Audio")
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
}
Slider {
@@ -590,12 +621,24 @@ Item {
}
lyricsShown = !lyricsShown
}
Connections {
target: UserPlaylistModel
function onNoLyrics() {
if(lyricsButton.lyricsShown) {
lyricsButton.onClicked()
}
}
}
enabled: UserPlaylistModel.lyrics
text: "Lyrics"
text: lyricsShown ? i18n("Hide Lyrics") : i18n("Show Lyrics")
icon.name: "view-media-lyrics"
icon.color: "white"
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
@@ -607,10 +650,15 @@ Item {
Layout.preferredWidth: height
onClicked: shareMenu.open()
text: "Share Song"
text: i18n("Share Song")
icon.name: "emblem-shared-symbolic"
icon.color: "white"
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
enabled: info.title
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
@@ -630,6 +678,7 @@ Item {
Layout.preferredHeight: Kirigami.Units.gridUnit * 2.5
Layout.maximumWidth: height
Layout.preferredWidth: height
enabled: info.videoId
onClicked: {
let index = UserPlaylistModel.index(UserPlaylistModel.currentIndex, 0)
@@ -647,6 +696,13 @@ Item {
icon.name: "media-playlist-append"
icon.color: "white"
text: i18n("Add to a local playlist")
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
@@ -662,7 +718,7 @@ Item {
Layout.maximumWidth: height
Layout.preferredWidth: height
checked: !sideDrawer.collapsed && wideScreen
enabled: playListView.count != 0
enabled: playListView.count != 0 || !sideDrawer.collapsed
onClicked: {
if (wideScreen){
@@ -674,10 +730,16 @@ Item {
}
sideDrawer.collapsed = !sideDrawer.collapsed
}else{queueDrawer.open()}
checked = !sideDrawer.collapsed && wideScreen
}
text: "Queue"
text: checked ? i18n("Hide Queue") : i18n("Show Queue")
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
icon.name: "amarok_playlist"
icon.color: "white"
@@ -695,12 +757,12 @@ Item {
}
Item {
onWidthChanged: if(!wideScreen) {collapse.running=true; collapsed=true}
onWidthChanged: if(!wideScreen) {collapse.running=true; collapsed=true; queueButton.checked=false}
property bool collapsed: true
id: sideDrawer
Layout.fillWidth: true
Layout.maximumWidth: 0
Layout.preferredWidth: 350
Layout.maximumWidth: -1
Layout.preferredWidth: Math.max(350, root.width/3)
Layout.fillHeight: true
visible: false
@@ -708,14 +770,14 @@ Item {
id: collapse
easing.type: Easing.OutCubic
running: false
from: sideDrawer.Layout.preferredWidth; to: 0
from: Math.min(sideDrawer.Layout.preferredWidth, sideDrawer.Layout.maximumWidth); to: 0
onFinished: { sideDrawer.visible=false}
}
NumberAnimation on Layout.maximumWidth {
id: show
easing.type: Easing.OutCubic
running: false
from: 0; to: 350
from: 0; to: Math.min(sideDrawer.Layout.preferredWidth, root.width - mainContent.Layout.minimumWidth)
//onFinished: { sideDrawer.visible=false}
}
Kirigami.Separator{
@@ -730,6 +792,23 @@ Item {
color: "white"
opacity: 0.2
}
MouseArea {
id: queueResizer
anchors.horizontalCenter: parent.left
anchors.top: parent.top
anchors.bottom: parent.bottom
width: Kirigami.Units.gridUnit
cursorShape: Qt.SplitHCursor
onPositionChanged: {
if(Math.max(sideDrawer.width - (mouse.x - width/2), queueFooter.Layout.minimumWidth) + mainContent.Layout.minimumWidth < root.width){
sideDrawer.Layout.preferredWidth = sideDrawer.Layout.minimumWidth = sideDrawer.Layout.maximumWidth = Math.max(sideDrawer.width - (mouse.x - width/2), queueFooter.Layout.minimumWidth)
}
}
}
ColumnLayout {
spacing: 0
anchors.fill: parent
@@ -740,12 +819,14 @@ Item {
Layout.fillWidth: true
Layout.fillHeight: true
Layout.leftMargin:10
ListView {
id: playListView
reuseItems: true
spacing: 5
rightMargin: 10
leftMargin:10
topMargin:10
bottomMargin: 10
clip: true
@@ -761,20 +842,32 @@ Item {
model: UserPlaylistModel
delegate: Kirigami.SwipeListItem {
moveDisplaced: Transition {
YAnimator {
duration: Kirigami.Units.mediumDuration
easing.type: Easing.InOutQuad
}
}
delegate: Item{
//listItemDragHandle requires queueEntry to be a child of the delegate, and not the delegate itself
id: delegateItem
required property string title
required property string videoId
required property string artists
required property bool isCurrent
required property int index
width: playListView.contentWidth
alwaysVisibleActions: true
width: queueEntry.width
height: queueEntry.height
Kirigami.SwipeListItem {
id: queueEntry
background: Rectangle{
radius: 7
color:
width: playListView.contentWidth
alwaysVisibleActions: true
background: Rectangle{
radius: 7
color:
if (parent.down){
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
}else if(parent.hovered){
@@ -785,62 +878,93 @@ Item {
Qt.rgba(0, 0, 0, 0.4)
}
border.color:
if (parent.down){
Kirigami.Theme.hoverColor
}else if(parent.hovered){
Kirigami.Theme.hoverColor
}else{
Qt.rgba(1, 1, 1, 0)
}
border.width: 1
}
highlighted: isCurrent
onClicked: UserPlaylistModel.skipTo(videoId)
contentItem: RowLayout{
ThumbnailSource {
id: delegateThumbnailSource
videoId: delegateItem.videoId
}
RoundedImage {
source: delegateThumbnailSource.cachedPath
Layout.margins: 2.5
height: delegateItem.height
width: height
radius: 5
}
ColumnLayout {
Layout.margins: 5
Layout.fillWidth: true
Kirigami.Heading {
elide: Text.ElideRight
Layout.fillWidth: true
level: 2
text: title
border.color:
if (parent.down){
Kirigami.Theme.hoverColor
}else if(parent.hovered){
Kirigami.Theme.hoverColor
}else{
Qt.rgba(1, 1, 1, 0)
}
Label {
border.width: 1
}
highlighted: isCurrent
onClicked: UserPlaylistModel.skipTo(videoId)
contentItem: RowLayout{
Item {
width: handle.width
height: handle.height
Kirigami.ListItemDragHandle {
id: handle
Layout.fillHeight: true
listItem: queueEntry
listView: playListView
onMoveRequested: UserPlaylistModel.moveRow(oldIndex, newIndex)
}
Rectangle {
anchors.fill: handle
layer.enabled: true
layer.effect: OpacityMask {
maskSource: handle
}
}
}
ThumbnailSource {
id: delegateThumbnailSource
videoId: delegateItem.videoId
}
RoundedImage {
source: delegateThumbnailSource.cachedPath
Layout.margins: 2.5
height: delegateItem.height
width: height
radius: 5
}
ColumnLayout {
Layout.margins: 5
elide: Text.ElideRight
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: artists
Kirigami.Heading {
elide: Text.ElideRight
Layout.fillWidth: true
level: 2
text: title
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.text: parent.text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: parent.truncated ? (Kirigami.Settings.isMobile ? containsPress : containsMouse) : false
}
}
Label {
elide: Text.ElideRight
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: artists
}
}
}
actions: [
Kirigami.Action {
text: i18n("Remove Track")
Item{
ToolTip.text: parent ? parent.text : ""
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: parent ? (Kirigami.Settings.isMobile ? parent.pressed : parent.hovered) : false
}
icon.name: "list-remove"
icon.color: "white"
onTriggered: UserPlaylistModel.remove(delegateItem.videoId)
}
]
}
actions: [
Kirigami.Action {
text: i18n("Remove Track")
icon.name: "list-remove"
icon.color: "white"
onTriggered: UserPlaylistModel.remove(delegateItem.videoId)
}
]
}
}
}
@@ -853,6 +977,8 @@ Item {
}
RowLayout{
id: queueFooter
Layout.margins: Kirigami.Units.gridUnit * 0.5
enabled: playListView.count != 0
Item {
@@ -866,12 +992,16 @@ Item {
Layout.maximumWidth: height
Layout.preferredWidth: height
text: i18n("Clear Playlist")
text: i18n("Clear Queue")
icon {
name: "edit-clear-all"
color: "white"
}
display: AbstractButton.IconOnly
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
onClicked: UserPlaylistModel.clearExceptCurrent()
@@ -887,7 +1017,11 @@ Item {
onClicked: UserPlaylistModel.shufflePlaylist()
text: i18n("Shuffle")
text: i18n("Shuffle Queue")
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
icon {
name: "media-playlist-shuffle"
@@ -927,11 +1061,17 @@ Item {
Layout.maximumWidth: height
Layout.preferredWidth: height
text: clearPlaylistButton.text
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
icon.name: "edit-clear-all"
display: clearPlaylistButton.display
onClicked: {
UserPlaylistModel.clearExceptCurrent()
}
enabled: playListView.count != 0
}
ToolButton {
@@ -942,15 +1082,22 @@ Item {
icon.name: "media-playlist-shuffle"
text: shuffleButton.text
display: shuffleButton.display
ToolTip.text: text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
onClicked: {
UserPlaylistModel.shufflePlaylist()
}
enabled: playListView.count != 0
}
}
drawerContentItem: ScrollView {
ListView {
id: drawerListView
topMargin: 10
clip: true
@@ -961,8 +1108,14 @@ Item {
model: UserPlaylistModel
delegate: Kirigami.SwipeListItem {
moveDisplaced: Transition {
YAnimator {
duration: Kirigami.Units.mediumDuration
easing.type: Easing.InOutQuad
}
}
delegate: Item{
id: drawerDelegateItem
required property string title
required property string videoId
@@ -970,52 +1123,90 @@ Item {
required property bool isCurrent
required property int index
alwaysVisibleActions:true
backgroundColor:"transparent"
highlighted: isCurrent
onClicked: {
queueDrawer.close()
UserPlaylistModel.skipTo(videoId)
}
RowLayout{
Layout.fillWidth: true
ThumbnailSource {
id: drawerDelegateThumbnailSource
videoId: drawerDelegateItem.videoId
}
RoundedImage {
source: drawerDelegateThumbnailSource.cachedPath
height: 50
width: height
radius: 5
}
width: drawerListView.width
height: drawerQueueEntry.height
ColumnLayout {
Layout.margins: 5
Kirigami.SwipeListItem {
id: drawerQueueEntry
alwaysVisibleActions:true
backgroundColor:"transparent"
highlighted: drawerDelegateItem.isCurrent
onClicked: {
queueDrawer.close()
UserPlaylistModel.skipTo(drawerDelegateItem.videoId)
}
contentItem: RowLayout{
Layout.fillWidth: true
Kirigami.Heading {
elide: Text.ElideRight
Layout.fillWidth: true
level: 2
text: title
Item {
width: handle.width
height: handle.height
Kirigami.ListItemDragHandle {
id: handle
Layout.fillHeight: true
listItem: drawerQueueEntry
listView: drawerListView
onMoveRequested: UserPlaylistModel.moveRow(oldIndex, newIndex)
}
Rectangle {
anchors.fill: handle
layer.enabled: true
layer.effect: OpacityMask {
maskSource: handle
}
}
}
ThumbnailSource {
id: drawerDelegateThumbnailSource
videoId: drawerDelegateItem.videoId
}
RoundedImage {
source: drawerDelegateThumbnailSource.cachedPath
height: 50
width: height
radius: 5
}
Label {
elide: Text.ElideRight
ColumnLayout {
Layout.margins: 5
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: artists
Kirigami.Heading {
elide: Text.ElideRight
Layout.fillWidth: true
level: 2
text: drawerDelegateItem.title
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.text: parent.text
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: parent.truncated ? (Kirigami.Settings.isMobile ? containsPress : containsMouse) : false
}
}
Label {
elide: Text.ElideRight
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: drawerDelegateItem.artists
}
}
}
actions: [
Kirigami.Action {
text: i18n("Remove Track")
Item{
ToolTip.text: parent ? parent.text : ""
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.visible: parent ? (Kirigami.Settings.isMobile ? parent.pressed : parent.hovered) : false
}
icon.name: "list-remove"
icon.color: "white"
onTriggered: UserPlaylistModel.remove(drawerDelegateItem.videoId)
}
]
}
actions: [
Kirigami.Action {
text: i18n("Remove Track")
icon.name: "list-remove"
icon.color: "white"
onTriggered: UserPlaylistModel.remove(drawerDelegateItem.videoId)
}
]
}
}
}
+2 -1
View File
@@ -21,6 +21,7 @@ Item {
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()
@@ -68,7 +69,7 @@ Item {
id: mainIcon
anchors.fill: parent
visible: !loadingIndicator.visible
source: info.thumbnail
source: root.thumbnail
radius: 5
}
+123 -56
View File
@@ -10,32 +10,50 @@ 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)
titleDelegate: 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)
}
}
DoubleActionButton {
id: action
visible: false
property bool shown
shown: !playbackHistoryPage.flickable.atYBeginning
onShownChanged:
if(shown){
visible = true
appear.running = true
} else {
disappear.running = true
}
Controls.ToolButton {
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")
icon.name: "shuffle"
onClicked: {
onTriggered: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.playFavourites(Library.favourites, true)
}
@@ -44,28 +62,71 @@ Kirigami.ScrollablePage {
}
}
}
Controls.ToolButton {
text: i18n("Append to queue")
icon.name: "media-playlist-append"
onClicked: {
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
if(playbackHistoryPage.objectName == "favourites") {
UserPlaylistModel.appendFavourites(Library.favourites,false)
UserPlaylistModel.playFavourites(Library.favourites, false)
}
else if(playbackHistoryPage.objectName == "history") {
UserPlaylistModel.appendPlaybackHistory(playbackHistoryPage.dataModel, false)
onClicked: UserPlaylistModel.playPlaybackHistory(playbackHistoryPage.dataModel, false)
}
}
}
Item {
Layout.fillWidth: true
}
}
}
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
@@ -87,40 +148,46 @@ Kirigami.ScrollablePage {
required property string artistsDisplayString
required property int index
onClicked: {
play(videoId)
}
RowLayout {
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
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
}
Controls.Label {
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
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
}
}
}
}
actions: [
Kirigami.Action {
icon.name: "overflow-menu"
+11 -6
View File
@@ -17,13 +17,15 @@ import org.kde.ytmusic 1.0
Flickable {
id: footerItem
property int footerSpacing:0
property int footerSpacing: 0
property bool maximized: false
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
readonly property string thumbnail: thumbnailSource.cachedPath
boundsBehavior: Flickable.StopAtBounds
function close() {
@@ -106,6 +108,11 @@ Flickable {
Library.addPlaybackHistoryItem(videoId, title, artist, album)
}
}
ThumbnailSource {
id: thumbnailSource
videoId: UserPlaylistModel.currentVideoId
}
property var audioPlayer: Audio {
id: audio
@@ -147,7 +154,7 @@ Flickable {
Image {
opacity: 0.2
source: info.thumbnail
source: thumbnailSource.cachedPath
asynchronous: true
anchors.fill: parent
@@ -180,6 +187,7 @@ Flickable {
anchors.right: parent.right
anchors.top: parent.top
thumbnail: thumbnailSource.cachedPath
info: footerItem.videoInfoExtractor
audio: footerItem.audioPlayer
@@ -193,14 +201,11 @@ Flickable {
Layout.fillHeight: true
implicitHeight: footerItem.height
thumbnail: footerItem.videoInfoExtractor.thumbnail
info: footerItem.videoInfoExtractor
audio: footerItem.audioPlayer
onRequestClose: toClose.start();
}
}
}
+95 -23
View File
@@ -9,7 +9,10 @@ import org.kde.kirigami 2.12 as Kirigami
import org.kde.ytmusic 1.0
import "components"
Kirigami.ScrollablePage {
id: root
property alias playlistId: playlistModel.playlistId
title: playlistModel.title
@@ -21,9 +24,59 @@ Kirigami.ScrollablePage {
inputTitle: playlistModel.title
url: playlistModel.webUrl
}
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: {
applicationWindow().playShufflePlaylist(playlistModel.playlistId)
}
}
leftAction: Kirigami.Action {
icon.name: "media-playback-start"
text: i18n("Play")
onTriggered: {
applicationWindow().playPlaylist(playlistModel.playlistId)
}
}
}
ListView {
id: songList
footer: Item { height: 60 }
header: ListHeader {
visibleActions: [
Kirigami.Action {
@@ -47,6 +100,17 @@ Kirigami.ScrollablePage {
icon.name: "media-playlist-append"
onTriggered: UserPlaylistModel.appendPlaylist(playlistModel)
},
Kirigami.Action {
text: i18n("Import Playlist")
icon.name: "document-save"
onTriggered: localPlaylistsModel.importPlaylist(playlistModel.webUrl)
PlaylistImporter{
id: localPlaylistsModel
onImportFinished: {
applicationWindow().showPassiveNotification(i18n("Playlist successfully imported"))
}
}
},
Kirigami.Action {
text: i18n("Open in Browser")
icon.name: "internet-services"
@@ -84,28 +148,38 @@ Kirigami.ScrollablePage {
required property string artistsDisplayString
required property int index
RowLayout {
Layout.fillHeight: true
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius: 5
}
ColumnLayout {
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
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
}
Controls.Label {
Layout.fillWidth: true
visible: delegateItem.artistsDisplayString
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
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
}
}
}
}
@@ -117,8 +191,6 @@ Kirigami.ScrollablePage {
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
]
onClicked: play(videoId)
}
Controls.BusyIndicator {
+37 -22
View File
@@ -32,6 +32,8 @@ Kirigami.ScrollablePage {
return i18n("Songs")
case SearchModel.Video:
return i18n("Videos")
case SearchModel.TopResult:
return i18n("Top Results")
}
return i18n("Unknown")
@@ -96,32 +98,44 @@ Kirigami.ScrollablePage {
required property string artistsDisplayString
required property string radioPlaylistId
required property string thumbnailUrl
RowLayout {
Layout.fillHeight: true
RoundedImage {
source: delegateItem.thumbnailUrl
height: 35
width: height
radius: delegateItem.type === SearchModel.Artist?height/2:5
}
ColumnLayout {
Controls.Label {
Layout.fillWidth: true
text: title
elide: Qt.ElideRight
MouseArea {
implicitHeight: content.implicitHeight
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked: 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
visible: delegateItem.artistsDisplayString
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
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
}
}
}
}
actions: [
@@ -133,7 +147,8 @@ Kirigami.ScrollablePage {
}
]
onClicked: searchModel.triggerItem(index)
}
Controls.BusyIndicator {
anchors.centerIn: parent
+43 -54
View File
@@ -26,8 +26,7 @@ Item {
}
Kirigami.SearchField {
property var filterExpression: new RegExp(`.*${filterText}.*`, "i")
property var filterText: ""
property var oldText: ""
property string filterText: ""
id: searchField
autoAccept: false
@@ -41,51 +40,48 @@ Item {
onTextEdited: {
filterText = text
if(oldText) {
Library.removeTemporarySearch(oldText)
}
if(text && completionList.count > 0) {
Library.addTemporarySearch(text)
oldText = text
if(completionList.count === 0) {
//no matching search -> message should display
Library.temporarySearch = ""
}
else {
oldText = ""
Library.temporarySearch = text
}
}
Keys.onPressed: {
if(completionList.count > 0) {
if (event.key == Qt.Key_Down) {
if(completionList.selectedDelegate == -1 || completionList.selectedDelegate == completionList.count - 1) {
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(!recents.visible) {
if(!recentsRepeater.visible) {
mainScrollView.contentItem.contentY = (completionList.selectedDelegate + 1) * completionList.empiricDelegateHeight - mainScrollView.height
}
else {
mainScrollView.contentItem.contentY = (completionList.selectedDelegate + 1) * completionList.empiricDelegateHeight + recents.height + mainScrollViewLayout.spacing - mainScrollView.height
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) {
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(!recents.visible) {
if(!recentsRepeater.visible) {
mainScrollView.contentItem.contentY = completionList.empiricDelegateHeight * completionList.selectedDelegate
}
else {
mainScrollView.contentItem.contentY = completionList.empiricDelegateHeight * completionList.selectedDelegate + recents.height + mainScrollViewLayout.spacing
mainScrollView.contentItem.contentY = completionList.empiricDelegateHeight * completionList.selectedDelegate + recentsRepeater.height + mainScrollViewLayout.spacing
}
}
}
@@ -104,6 +100,7 @@ Item {
onAccepted: {
popup.close()
completionList.selectedDelegate = -1
Library.temporarySearch = ""
while (pageStack.depth > 0) {
pageStack.pop()
@@ -205,7 +202,13 @@ Item {
from: searchField.height
duration: 200
to: completionList
? (Math.min(fieldContainer.height+ completionList.count * Kirigami.Units.gridUnit * 2 + recents.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
? (searchField.filterText && 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{
@@ -302,47 +305,32 @@ Item {
width: mainScrollView.contentWidth
Controls.ScrollView {
id: recents
HorizontalCoverView {
id: recentsRepeater
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
contentHeight: 120
itemSpacing: 0
Layout.fillWidth: true
Layout.maximumWidth: popup.width
visible: searchField.filterText && recentsRepeater.count > 0
visible: searchField.filterText && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
leftPadding: 10
rightPadding: 40
topPadding: 10
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
RowLayout {
spacing: 10
Layout.fillWidth: true
Layout.maximumWidth: popup.width - 23
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
}
delegate: Kirigami.DelegateRecycler {
Layout.alignment: Qt.AlignTop
width: popup.width
sourceComponent: searchAlbum
}
}
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
}
delegate: searchAlbum
}
Kirigami.Separator{
visible: recents.visible
Kirigami.Separator {
visible: recentsRepeater.visible
Layout.fillWidth: true
implicitWidth: popup.width
}
RowLayout{
id: noMatchingSearchLabel
Layout.margins: 10
visible: completionList.count == 0
Kirigami.Icon {
@@ -364,7 +352,7 @@ Item {
property int selectedDelegate: -1
property int delegateHeight: Kirigami.Units.gridUnit
property int delegatePadding: Kirigami.Units.smallSpacing
property int empiricDelegateHeight: recents.visible ? (mainScrollView.contentHeight - recents.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
id: completionList
model: SortFilterModel {
@@ -373,11 +361,11 @@ Item {
}
function isSelectedDelegateVisible() {
if(!recents.visible) {
if(!recentsRepeater.visible) {
return selectedDelegate * empiricDelegateHeight > mainScrollView.contentItem.contentY && (selectedDelegate + 1) * empiricDelegateHeight < mainScrollView.contentItem.contentY + mainScrollView.height
}
else {
return selectedDelegate * empiricDelegateHeight + recents.height > mainScrollView.contentItem.contentY && (selectedDelegate + 1) * empiricDelegateHeight + recents.height < mainScrollView.contentItem.contentY + mainScrollView.height
return selectedDelegate * empiricDelegateHeight + recentsRepeater.height > mainScrollView.contentItem.contentY && (selectedDelegate + 1) * empiricDelegateHeight + recentsRepeater.height < mainScrollView.contentItem.contentY + mainScrollView.height
}
}
@@ -399,9 +387,10 @@ Item {
implicitWidth: completionList.delegateHeight
color: Kirigami.Theme.disabledTextColor
}
Controls.Label{
Controls.Label {
text: model.display
Layout.fillWidth: true
elide: Text.ElideRight
}
Controls.ToolButton {
icon.name: "list-remove"
@@ -411,7 +400,7 @@ Item {
Library.removeSearch(model.display)
}
implicitHeight: completionList.delegateHeight
visible: !searchField.oldText || index != 0
visible: Library.temporarySearch == "" || index != 0
}
}
@@ -0,0 +1,70 @@
// 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.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.19 as Kirigami
import org.kde.ytmusic 1.0
import ".."
Controls.Button {
id: root
property Kirigami.Action singleAction
property int margin: 10
height: 55
width: 55
background: Kirigami.ShadowedRectangle{
Kirigami.Theme.inherit: false
Kirigami.Theme.colorSet: Kirigami.Theme.Window
border.width: 1
border.color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.4)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else{
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.2)
}
color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.8)
}else{
Kirigami.Theme.backgroundColor
}
shadow.size: 10
shadow.xOffset: 2
shadow.yOffset: 2
shadow.color: Qt.rgba(0, 0, 0, 0.2)
Behavior on color {
enabled: highlightBackground
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
Behavior on border.color {
enabled: highlightBorder
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
radius: 10
}
contentItem: Item{
Kirigami.Icon{
implicitHeight: Kirigami.Units.gridUnit * 1.2
source: root.singleAction.icon.name
anchors.centerIn: parent
}
}
text: root.singleAction.text
onClicked: root.singleAction.triggered()
}
@@ -0,0 +1,133 @@
// 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.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.19 as Kirigami
import org.kde.ytmusic 1.0
import ".."
Kirigami.ShadowedRectangle{
id: root
property Kirigami.Action leftAction
property Kirigami.Action rightAction
property int margin: 10
radius: 10
color: "transparent"
height: 55
width: 2* height - 1
shadow.size: 10
shadow.xOffset: 2
shadow.yOffset: 2
shadow.color: Qt.rgba(0, 0, 0, 0.2)
Controls.Button {
id: rightButton
property int margin: 10
background: Kirigami.ShadowedRectangle{
Kirigami.Theme.inherit: false
Kirigami.Theme.colorSet: Kirigami.Theme.Window
border.width: 1
border.color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.4)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else{
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.2)
}
color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.8)
}else{
Kirigami.Theme.backgroundColor
}
Behavior on color {
enabled: true
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
Behavior on border.color {
enabled: true
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
corners.topRightRadius: 10
corners.bottomRightRadius: 10
}
contentItem: Item{
Kirigami.Icon{
implicitHeight: Kirigami.Units.gridUnit *1.2
source: root.rightAction.icon.name
anchors.centerIn: parent
}
}
text: root.rightAction.text
onClicked: root.rightAction.triggered()
anchors.right: root.right
height: 55
width: 55
display: Controls.AbstractButton.IconOnly
}
Controls.Button {
id: leftButton
background: Kirigami.ShadowedRectangle{
Kirigami.Theme.inherit: false
Kirigami.Theme.colorSet: Kirigami.Theme.Window
border.width: 1
border.color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.4)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else{
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.2)
}
color: if (parent.down){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.6)
}else if(parent.hovered){
Kirigami.ColorUtils.tintWithAlpha(Kirigami.Theme.hoverColor, Kirigami.Theme.backgroundColor, 0.8)
}else{
Kirigami.Theme.backgroundColor
}
Behavior on color {
enabled: true
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
Behavior on border.color {
enabled: true
ColorAnimation {
duration: Kirigami.Units.longDuration
easing.type: Easing.OutCubic
}
}
corners.topLeftRadius: 10
corners.bottomLeftRadius: 10
}
contentItem: Item{
Kirigami.Icon{
implicitHeight: Kirigami.Units.gridUnit * 1.2
source: root.leftAction.icon.name
anchors.centerIn: parent
}
}
text: root.leftAction.text
onClicked: root.leftAction.triggered()
anchors.left: root.left
height: 55
width: 55
display: Controls.AbstractButton.IconOnl
}
}
@@ -0,0 +1,28 @@
// 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.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.19 as Kirigami
import org.kde.ytmusic 1.0
import ".."
Kirigami.PromptDialog {
property QtObject model
id: importPlaylistDialog
title: i18n("Import playlist")
standardButtons: Kirigami.Dialog.Ok | Kirigami.Dialog.Cancel
mainItem: Kirigami.FormLayout {
Controls.TextField {
id: urlField
Kirigami.FormData.label: i18n("Playlist URL (Youtube)")
}
}
onAccepted: model.importPlaylist(urlField.text)
}
+13 -6
View File
@@ -2,7 +2,7 @@
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.1
import QtQuick 2.15
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.19 as Kirigami
@@ -29,16 +29,24 @@ Kirigami.PromptDialog {
text: i18n("New Playlist")
iconName: "list-add"
onTriggered: {
addPlaylistDialog.open()
}
}
]
mainItem: ListView {
AddPlaylistDialog{
id:addPlaylistDialog
Item {
AddPlaylistDialog {
id: addPlaylistDialog
model: localPlaylistsModel
}
ImportPlaylistDialog {
id: importPlaylistDialog
model: localPlaylistsModel
}
}
mainItem: ListView {
reuseItems: true
implicitHeight: 200
model: LocalPlaylistsModel {
@@ -100,7 +108,6 @@ Kirigami.PromptDialog {
}
onClicked: {
localPlaylistsModel.addPlaylistEntry(playlistId, videoId, songTitle, artists, album )
playlistsDialog.close()
}
@@ -22,14 +22,13 @@ Kirigami.PromptDialog {
id: titleField
Kirigami.FormData.label: i18n("Playlist Title")
text: modelData.title
text: modelData ? modelData.title : ""
}
Controls.TextField {
id: descriptionField
Kirigami.FormData.label: i18n("Playlist Description")
text: modelData.description
text: modelData ? modelData.description : ""
}
}
+115 -9
View File
@@ -7,9 +7,12 @@ import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.14 as Kirigami
import QtGraphicalEffects 1.0
import QtMultimedia 5.12
import org.kde.ytmusic 1.0
import org.nemomobile.qtmpris 1.0
Kirigami.ApplicationWindow {
id: root
minimumWidth: 300
@@ -36,7 +39,6 @@ Kirigami.ApplicationWindow {
visible: wideScreen
}
Sidebar {
id:sidebar
visible: wideScreen
@@ -46,7 +48,6 @@ Kirigami.ApplicationWindow {
NavigationBar{
id: bottombar
visible: !wideScreen
}
header: Controls.Control {
@@ -94,7 +95,7 @@ Kirigami.ApplicationWindow {
Layout.fillWidth: true
Layout.fillHeight: true
height: back.height
width: wideScreen?null:root.width
width: wideScreen ? null : root.width
Layout.maximumWidth: wideScreen ? 400 : root.width
}
@@ -152,7 +153,7 @@ Kirigami.ApplicationWindow {
ColumnLayout {
id: mpdelegateItem
width: 100
width: 90
Layout.maximumWidth: 70
Kirigami.ShadowedRectangle {
@@ -163,19 +164,17 @@ Kirigami.ApplicationWindow {
onClicked: play(model.videoId)
hoverEnabled: !Kirigami.Settings.hasTransientTouchInput
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput)
if (!Kirigami.Settings.hasTransientTouchInput) {
recSelected.visible = true
searchTitle.color = Kirigami.Theme.hoverColor
searchTitle.font.bold = true
}
}
onExited:{
onExited: {
recSelected.visible = false
searchTitle.color = Kirigami.Theme.textColor
searchTitle.font.bold = false
}
}
Layout.margins: 5
@@ -252,4 +251,111 @@ Kirigami.ApplicationWindow {
// only expand flicking area to full screen when it is open
z: (contentY === 0) ? -1 : 999
}
MprisPlayer {
id: mprisPlayer
serviceName: "AudioTube"
property string artist: playerFooter.videoInfoExtractor.artist
property string songTitle: playerFooter.videoInfoExtractor.title ? playerFooter.videoInfoExtractor.title : i18n("No song playing")
property int songLength: playerFooter.audioPlayer.duration * 1000
property alias thumbnail: playerFooter.thumbnail
function next() {
if(UserPlaylistModel.canSkip) {
UserPlaylistModel.next()
}
else{
playerFooter.audioPlayer.stop()
}
}
//Mpris2 Root interface
identity: root.title
supportedUriSchemes: []
supportedMimeTypes: []
desktopEntry: "org.kde.audiotube"
//Mpris2 Player Interface
canControl: true
canGoNext: UserPlaylistModel.canSkip
canGoPrevious: UserPlaylistModel.canSkipBack
canPause: playerFooter.audioPlayer.status !== Audio.NoMedia
canPlay: playerFooter.audioPlayer.status !== Audio.NoMedia
canSeek: false
playbackStatus: playerFooter.audioPlayer.playbackState === Audio.PlayingState ? Mpris.Playing : (playerFooter.audioPlayer.playbackState == Audio.PausedState ? Mpris.Paused : Mpris.Stopped)
shuffle: false
volume: playerFooter.audioPlayer.muted ? 0.0 : playerFooter.audioPlayer.volume
position: playerFooter.audioPlayer.position * 1000
onPauseRequested: playerFooter.audioPlayer.pause()
onPlayRequested: playerFooter.audioPlayer.play()
onPlayPauseRequested: {
if(playerFooter.audioPlayer.playbackStatus === PlayingState) {
playerFooter.audioPlayer.pause()
}
else if(playerFooter.PlayingState === PausedState) {
PlayerFooter.audioPlayer.play()
}
}
onStopRequested: playerFooter.audioPlayer.stop()
onNextRequested: {
next()
}
onPreviousRequested: {
if(UserPlaylistModel.canSkipBack) {
UserPlaylistModel.previous()
}
else{
playerFooter.audioPlayer.stop()
}
}
onSeekRequested: {
if(canSeek) {
if(playerFooter.audioPlayer.position + offset/1000 < 0) {
playerFooter.audioPlayer.seek(0)
}
else if(playerFooter.audioPlayer.position + offset/1000 > playerFooter.audioPlayer.duration) {
next()
}
else {
playerFooter.audioPlayer.seek(Math.floor(playerFooter.audioPlayer.position + offset/1000));
}
emitSeeked()
}
}
onSetPositionRequested: {
if(canSeek) {
if(position >= 0 && position/1000 <= playerFooter.audioPlayer.duration) {
playerFooter.audioPlayer.seek(Math.floor(position/1000))
emitSeeked()
}
}
}
onShuffleRequested: {
UserPlaylistModel.shufflePlaylist()
}
onArtistChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.Artist)] = [artist]
mprisPlayer.metadata = metadata
}
onSongTitleChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.Title)] = songTitle
mprisPlayer.metadata = metadata
}
onSongLengthChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.Length)] = songLength
mprisPlayer.metadata = metadata
}
onThumbnailChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.ArtUrl)] = thumbnail
mprisPlayer.metadata = metadata
}
}
}
+1 -2
View File
@@ -2,5 +2,4 @@
#
# SPDX-License-Identifier: BSD-2-Clause
add_executable(ytm_example main.cpp)
target_link_libraries(ytm_example PRIVATE ytm)
ecm_add_test(main.cpp TEST_NAME test_extractor LINK_LIBRARIES ytm)
+5 -3
View File
@@ -8,7 +8,7 @@
int main() {
const auto ytm = YTMusic();
const auto results = ytm.search("Leoniden");
const auto results = ytm.search("grüne augen lügen nich");
std::cout << "Found " << results.size() << " results." << std::endl;
@@ -35,14 +35,16 @@ int main() {
std::cout << arg.title << std::endl;
ytm.get_playlist(arg.browse_id);
} else if constexpr (std::is_same_v<T, search::Song>) {
ytm.get_song(arg.video_id);
if (!ytm.get_song(arg.video_id)) {
std::cout << "Song info was empty" << std::endl;
}
ytm.extract_video_info(arg.video_id);
ytm.get_watch_playlist(arg.video_id);
std::cout << arg.title << std::endl;
} else if constexpr (std::is_same_v<T, search::Video>) {
std::cout << arg.title << std::endl;
} else {
std::cout << "non exaustive visitor";
std::cout << "non exaustive visitor" << std::endl;
}
}, result);
}
+77 -32
View File
@@ -9,7 +9,7 @@
#include <QStringBuilder>
#include <QGuiApplication>
#include "asyncdatabase.h"
#include <ThreadedDatabase>
namespace ranges = std::ranges;
@@ -22,7 +22,7 @@ Library::Library(QObject *parent)
DatabaseConfiguration config;
config.setDatabaseName(databaseDirectory % QDir::separator() % "library.sqlite");
config.setType(DATABASE_TYPE_SQLITE);
config.setType(DatabaseType::SQLite);
return config;
}()))
{
@@ -63,14 +63,14 @@ FavouritesModel *Library::favourites()
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
connectFuture(addSong(videoId, title, artist, album), this, [=, this] {
connectFuture(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
});
}
void Library::removeFavourite(const QString &videoId)
{
connectFuture(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
}
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
@@ -89,24 +89,23 @@ SearchHistoryModel *Library::searches()
void Library::addSearch(const QString &text)
{
m_searches->addSearch(text);
connectFuture(m_database->execute("insert into searches (search_query) values (?)", text), this, &Library::searchesChanged);
}
void Library::addTemporarySearch(const QString &text)
{
m_searches->addSearch(text);
Q_EMIT searchesChanged();
QCoro::connect(m_database->execute("insert into searches (search_query) values (?)", text), this, &Library::searchesChanged);
}
void Library::removeSearch(const QString &text) {
m_searches->removeSearch(text);
connectFuture(m_database->execute("delete from searches where search_query = ?", text), this, &Library::searchesChanged);
QCoro::connect(m_database->execute("delete from searches where search_query = ?", text), this, &Library::searchesChanged);
}
void Library::removeTemporarySearch(const QString& text)
const QString& Library::temporarySearch()
{
m_searches->removeSearch(text);
Q_EMIT searchesChanged();
return m_searches->temporarySearch();
}
void Library::setTemporarySearch(const QString& text)
{
m_searches->setTemporarySearch(text);
Q_EMIT temporarySearchChanged();
}
@@ -117,15 +116,15 @@ PlaybackHistoryModel *Library::playbackHistory()
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
connectFuture(addSong(videoId, title, artist, album), this, [=, this] {
connectFuture(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
connectFuture(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
});
});
}
void Library::removePlaybackHistoryItem(const QString &videoId)
{
connectFuture(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
}
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
@@ -155,10 +154,10 @@ QFuture<void> Library::addSong(const QString &videoId, const QString &title, con
return m_database->execute("insert or replace into songs (video_id, title, artist, album) values (?, ?, ?, ?)", videoId, title, artist, album);
}
PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong> > &&songs, QObject *parent)
PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent)
: QAbstractListModel(parent)
{
connectFuture(songs, this, [this](const auto songs) {
QCoro::connect(std::move(songs), this, [this](const auto songs) {
beginResetModel();
m_playedSongs = songs;
endResetModel();
@@ -210,7 +209,7 @@ std::vector<PlayedSong> PlaybackHistoryModel::getPlayedSong() const
FavouritesModel::FavouritesModel(QFuture<std::vector<Song>> &&songs, QObject *parent)
: QAbstractListModel(parent)
{
connectFuture(songs, this, [this](const auto songs) {
QCoro::connect(std::move(songs), this, [this](const auto songs) {
beginResetModel();
m_favouriteSongs = songs;
endResetModel();
@@ -258,7 +257,7 @@ FavouriteWatcher::FavouriteWatcher(Library *library, const QString &videoId)
: QObject(library), m_videoId(videoId), m_library(library)
{
auto update = [this] {
connectFuture(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from favourites where video_id = ?", m_videoId), this, [this](auto count) {
QCoro::connect(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from favourites where video_id = ?", m_videoId), this, [this](auto count) {
if (count) {
m_isFavourite = count->value;
Q_EMIT isFavouriteChanged();
@@ -276,7 +275,7 @@ bool FavouriteWatcher::isFavourite() const {
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
: QAbstractListModel(parent)
{
connectFuture(historyFuture, this, [this](const auto history) {
QCoro::connect(std::move(historyFuture), this, [this](const auto history) {
beginResetModel();
m_history = history;
endResetModel();
@@ -284,7 +283,15 @@ SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>
}
int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
return parent.isValid() ? 0 : m_history.size();
if(parent.isValid()) {
return 0;
}
else if (temporarySearch().isEmpty()) {
return m_history.size();
}
else {
return m_history.size() + 1;
}
}
void SearchHistoryModel::removeSearch(const QString &search) {
@@ -306,18 +313,56 @@ size_t SearchHistoryModel::getRow(const QString &search) const {
QVariant SearchHistoryModel::data(const QModelIndex &index, int role) const {
switch (role) {
case Qt::DisplayRole:
return m_history[index.row()].value;
if(m_temporarySearch == "") {
return m_history[index.row()].value;
}
else if(index.row() == 0) {
return m_temporarySearch;
}
else{
return m_history[index.row() - 1].value;
}
}
Q_UNREACHABLE();
}
void SearchHistoryModel::addSearch(const QString& search) {
beginInsertRows({}, 0, 0);
m_history.insert(m_history.begin(), {search});
endInsertRows();
auto itr = find_if(m_history.begin(), m_history.end(), [&](const auto &checkedValue) {
return checkedValue.value == search;
});
if(itr == m_history.end()) {
beginInsertRows({}, 0, 0);
m_history.insert(m_history.begin(), {search});
endInsertRows();
}
}
const QString& SearchHistoryModel::temporarySearch() const
{
return m_temporarySearch;
}
void SearchHistoryModel::setTemporarySearch(const QString& text)
{
if(text == "" && m_temporarySearch != "") {
beginRemoveRows(QModelIndex(), 0, 0);
m_temporarySearch = text;
endRemoveRows();
}
else if(text != "" && m_temporarySearch == "") {
beginInsertRows(QModelIndex(), 0, 0);
m_temporarySearch = text;
endInsertRows();
}
else if(m_temporarySearch != "") {
m_temporarySearch = text;
Q_EMIT dataChanged(createIndex(0,0), createIndex(0,0));
}
}
WasPlayedWatcher::WasPlayedWatcher(Library* library, const QString& videoId)
: QObject(library), m_videoId(videoId), m_library(library)
@@ -328,7 +373,7 @@ WasPlayedWatcher::WasPlayedWatcher(Library* library, const QString& videoId)
void WasPlayedWatcher::query()
{
connectFuture(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from played_songs where video_id = ?", m_videoId), this, &WasPlayedWatcher::update);
QCoro::connect(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from played_songs where video_id = ?", m_videoId), this, &WasPlayedWatcher::update);
}
@@ -338,7 +383,7 @@ bool WasPlayedWatcher::wasPlayed() const
}
void WasPlayedWatcher::update(std::optional<SingleValue<bool>> result)
void WasPlayedWatcher::update(std::optional<SingleValue<bool> > result)
{
if(result.has_value())
{
+10 -4
View File
@@ -10,10 +10,11 @@
#include <QAbstractListModel>
#include <QSortFilterProxyModel>
#include <ThreadedDatabase>
#include <memory>
#include "asyncytmusic.h"
#include "asyncdatabase.h"
class FavouriteWatcher;
class WasPlayedWatcher;
@@ -102,10 +103,13 @@ public:
void removeSearch(const QString &search);
QVariant data(const QModelIndex &index, int role) const override;
void addSearch(QString const& search);
const QString & temporarySearch() const;
void setTemporarySearch(QString const& text);
private:
size_t getRow(QString const &search) const;
std::vector<SingleValue<QString>> m_history;
QString m_temporarySearch;
};
class Library : public QObject
@@ -115,6 +119,7 @@ class Library : public QObject
Q_PROPERTY(QAbstractListModel *searches READ searches CONSTANT)
Q_PROPERTY(QAbstractListModel *playbackHistory READ playbackHistory NOTIFY playbackHistoryChanged)
Q_PROPERTY(QAbstractListModel *mostPlayed READ mostPlayed NOTIFY playbackHistoryChanged)
Q_PROPERTY(QString temporarySearch READ temporarySearch WRITE setTemporarySearch NOTIFY temporarySearchChanged)
public:
explicit Library(QObject *parent = nullptr);
@@ -132,9 +137,10 @@ public:
SearchHistoryModel *searches();
Q_SIGNAL void searchesChanged();
Q_INVOKABLE void addSearch(const QString &text);
Q_INVOKABLE void addTemporarySearch(const QString &text);
Q_INVOKABLE void removeSearch(const QString &text);
Q_INVOKABLE void removeTemporarySearch(const QString &text);
const QString& temporarySearch();
void setTemporarySearch(const QString& text);
Q_SIGNAL void temporarySearchChanged();
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
@@ -198,6 +204,6 @@ private:
bool m_wasPlayed = false;
QString m_videoId;
Library *m_library;
Q_SLOT void update(std::optional<SingleValue<bool>> result);
Q_SLOT void update(std::optional<SingleValue<bool> > result);
Q_SLOT void query();
};
+2 -2
View File
@@ -71,7 +71,7 @@ void LocalPlaylistModel::refreshModel()
"select video_id, title, artist, album from "
"playlist_entries natural join songs where playlist_id = ?", m_playlistId);
connectFuture(future, this, [this](auto entries) {
QCoro::connect(std::move(future), this, [this](auto entries) {
beginResetModel();
m_entries = entries;
endResetModel();
@@ -85,5 +85,5 @@ const std::vector<PlaylistEntry> &LocalPlaylistModel::entries() const
void LocalPlaylistModel::removeSong(QString videoId, qint64 playlistId)
{
connectFuture(Library::instance().database().execute("delete from playlist_entries where playlist_id = ? and video_id = ?", playlistId, videoId), this, &LocalPlaylistModel::refreshModel);
QCoro::connect(Library::instance().database().execute("delete from playlist_entries where playlist_id = ? and video_id = ?", playlistId, videoId), this, &LocalPlaylistModel::refreshModel);
}
+44 -11
View File
@@ -3,14 +3,25 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "localplaylistsmodel.h"
#include "playlistutils.h"
#include "library.h"
#include <qfuture.h>
#include <qglobal.h>
#include <qsqldatabase.h>
#include <threadeddatabase.h>
#include <KLocalizedString>
Q_DECLARE_METATYPE(std::vector<QString>);
LocalPlaylistsModel::LocalPlaylistsModel(QObject *parent)
: QAbstractListModel(parent)
{
importer = new PlaylistImporter(this);
connect(importer, &PlaylistImporter::playlistEntriesChanged, this, &LocalPlaylistsModel::playlistEntriesChanged);
connect(importer,&PlaylistImporter::importFinished, this, &LocalPlaylistsModel::importFinished);
connect(importer, &PlaylistImporter::refreshModel, this, &LocalPlaylistsModel::refreshModel);
connect(&Library::instance(), &Library::playlistsChanged,
this, &LocalPlaylistsModel::refreshModel);
refreshModel();
@@ -52,12 +63,11 @@ QVariant LocalPlaylistsModel::data(const QModelIndex &index, int role) const
void LocalPlaylistsModel::refreshModel()
{
connectFuture(Library::instance().database().getResults<Playlist>("select * from playlists"), this, [this](const auto &&playlists) {
qDebug() << "number of playlists" << playlists.size();
QCoro::connect(Library::instance().database().getResults<Playlist>("select * from playlists"), this, [this](const auto &&playlists) {
m_thumbnailIds.resize(playlists.size());
for (size_t i = 0; i < playlists.size(); i++) {
auto future = Library::instance().database().getResults<SingleValue<QString>>("select video_id from playlist_entries where playlist_id = ? order by random() limit 4", playlists.at(i).playlistId);
connectFuture(future, this, [this, playlists, i](auto &&ids) {
QCoro::connect(std::move(future), this, [this, playlists, i](auto &&ids) {
std::ranges::transform(ids, std::back_inserter(m_thumbnailIds[i]), [](auto &&id) { return id.value; });
dataChanged(index(i), index(i), {Roles::ThumbnailIds});
});
@@ -70,24 +80,47 @@ void LocalPlaylistsModel::refreshModel()
}
void LocalPlaylistsModel::addPlaylist(const QString &title, const QString &description)
{
connectFuture(Library::instance().database().execute("insert into playlists (title, description) values (?, ?)", title, description), &Library::instance(), &Library::playlistsChanged);
QCoro::connect(Library::instance().database().execute("insert into playlists (title, description) values (?, ?)", title, description), &Library::instance(), &Library::playlistsChanged);
}
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
connectFuture(Library::instance().addSong(videoId, title, artist, album), this, [=, this] {
connectFuture(Library::instance().database().execute("insert into playlist_entries (playlist_id, video_id) values (?, ?)", playlistId, videoId), this, [=, this] {
Q_EMIT playlistEntriesChanged(playlistId);
});
});
importer->addPlaylistEntry(playlistId, videoId, title, artist, album);
}
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const playlist::Track &track)
{
importer->addPlaylistEntry(playlistId, track);
}
void LocalPlaylistsModel::importPlaylist(const QString &url)
{
importer->importPlaylist(url);
}
void LocalPlaylistsModel::renamePlaylist(qint64 playlistId, const QString &name, const QString &description)
{
connectFuture(Library::instance().database().execute("update playlists set title = ? , description = ? where playlist_id = ?", name, description, playlistId), this, &LocalPlaylistsModel::refreshModel);
importer->renamePlaylist(playlistId, name, description);
}
void LocalPlaylistsModel::deletePlaylist(qint64 playlistId)
{
connectFuture(Library::instance().database().execute("delete from playlists where playlist_id = ?", playlistId), this, &LocalPlaylistsModel::refreshModel);
QCoro::connect(Library::instance().database().execute("delete from playlists where playlist_id = ?", playlistId), this, &LocalPlaylistsModel::refreshModel);
}
QStringView LocalPlaylistsModel::cropURL(QStringView srcUrl)
{
// Find entry point
constexpr auto urlFragment = QStringView(u"?list=");
qsizetype urlPos = srcUrl.indexOf(urlFragment);
if (urlPos != -1) {
urlPos += urlFragment.size();
} else {
urlPos = 0;
}
auto mid = srcUrl.mid(urlPos);
// Find exit point
urlPos = std::min(mid.indexOf(u"?"), mid.indexOf(u"&"));
return mid.mid(0, urlPos);
}
+8 -1
View File
@@ -4,10 +4,12 @@
#pragma once
#include "ytmusic.h"
#include "playlistimporter.h"
#include <QAbstractListModel>
#include <QDateTime>
#include <asyncdatabase.h>
#include <ThreadedDatabase>
struct Playlist {
using ColumnTypes = std::tuple<qint64, QString, QString, QDateTime>;
@@ -45,6 +47,9 @@ public:
Q_INVOKABLE void addPlaylist(const QString &title, const QString &description);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const playlist::Track &track);
Q_INVOKABLE void importPlaylist(const QString &url);
Q_SIGNAL void importFinished();
Q_INVOKABLE void renamePlaylist(qint64 playlistId, const QString &name, const QString &description);
Q_INVOKABLE void deletePlaylist(qint64 playlistId);
@@ -55,7 +60,9 @@ public:
void refreshModel();
private:
QStringView cropURL(QStringView srcURL);
std::vector<Playlist> m_playlists;
std::vector<std::vector<QString>> m_thumbnailIds;
PlaylistImporter *importer;
};
+15 -4
View File
@@ -9,12 +9,16 @@
#include <QUrl>
#include <QQuickWindow>
#include <QQuickStyle>
#include <QStyle>
#include <QStyleFactory>
#include <KLocalizedContext>
#include <KLocalizedString>
#include <KCrash>
#include <KAboutData>
#include <mprisplugin.h>
#include "clipboard.h"
#include "searchmodel.h"
#include "albummodel.h"
@@ -29,21 +33,25 @@
#include "blur.h"
#include "localplaylistmodel.h"
#include "localplaylistsmodel.h"
#include "playlistimporter.h"
#include "asyncdatabase.h"
#include <ThreadedDatabase>
constexpr auto URI = "org.kde.ytmusic";
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
// set default style and icon theme
QIcon::setFallbackThemeName(QStringLiteral("breeze"));
if (qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE") && QQuickStyle::name().isEmpty()) {
QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
QApplication::setStyle(QStyleFactory::create(QStringLiteral("Breeze")));
}
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QCoreApplication::setOrganizationName(QStringLiteral("KDE"));
QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org"));
QCoreApplication::setApplicationName(QStringLiteral("audiotube"));
@@ -62,7 +70,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
about.setOrganizationDomain("kde.org");
about.setBugAddress("https://bugs.kde.org/describecomponents.cgi?product=audiotube");
auto future = YTMusicThread::instance()->version();
connectFuture(future, &app, [&about](const auto &version) {
QCoro::connect(std::move(future), &app, [&about](const auto &version) {
about.addComponent(QStringLiteral("ytmusicapi"), i18n("Unofficial API for YouTube Music"), version);
KAboutData::setApplicationData(about);
});
@@ -73,6 +81,8 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
QQmlApplicationEngine engine;
MprisPlugin(&engine).registerTypes("org.nemomobile.qtmpris");
qmlRegisterType<SearchModel>(URI, 1, 0, "SearchModel");
qmlRegisterType<AlbumModel>(URI, 1, 0, "AlbumModel");
qmlRegisterType<VideoInfoExtractor>(URI, 1, 0, "VideoInfoExtractor");
@@ -83,6 +93,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
qmlRegisterType<LocalPlaylistModel>(URI, 1, 0, "LocalPlaylistModel");
qmlRegisterType<LocalPlaylistsModel>(URI, 1, 0, "LocalPlaylistsModel");
qmlRegisterType<PlaylistImporter>(URI, 1, 0, "PlaylistImporter");
qmlRegisterSingletonType(URI, 1, 0, "About", [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
return engine->toScriptValue(KAboutData::applicationData());
});
+84
View File
@@ -0,0 +1,84 @@
// SPDX-FileCopyrightText: 2023 Théophile Gilgien <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "playlistimporter.h"
#include "playlistutils.h"
#include "library.h"
#include <qfuture.h>
#include <qglobal.h>
#include <qsqldatabase.h>
#include <threadeddatabase.h>
#include <KLocalizedString>
PlaylistImporter::PlaylistImporter(QObject* parent)
:QObject(parent)
{}
void PlaylistImporter::importPlaylist(const QString &url)
{
const QString croppedURL = this->cropURL(url).toString(), title = i18n("Unknown"), description = i18n("No description");
QCoro::connect(Library::instance().database().execute("insert into playlists (title, description) values (?, ?)", title, description), &Library::instance(), [this, croppedURL]() {
QCoro::connect(Library::instance().database().getResults<SingleValue<qint64>>("select * from playlists"), &Library::instance(), [this, croppedURL](const auto& playlists) {
const quint64 playlistId = playlists.back().value;
Q_EMIT Library::instance().playlistsChanged();
QCoro::connect(YTMusicThread::instance()->fetchPlaylist(croppedURL), this, [this, playlistId](const auto& playlist) {
this->renamePlaylist(playlistId, QString::fromStdString(playlist.title), QString::fromStdString(playlist.author.name));
for (const auto& track : playlist.tracks) {
if (track.is_available && track.video_id) {
this->addPlaylistEntry(playlistId, track);
}
}
Q_EMIT Library::instance().playlistsChanged();
Q_EMIT importFinished();
});
});
});
}
void PlaylistImporter::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
QCoro::connect(Library::instance().addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(Library::instance().database().execute("insert into playlist_entries (playlist_id, video_id) values (?, ?)", playlistId, videoId), this, [=, this] {
Q_EMIT playlistEntriesChanged(playlistId);
});
});
}
void PlaylistImporter::addPlaylistEntry(qint64 playlistId, const playlist::Track &track)
{
const QString videoId = track.video_id.value().c_str();
const QString title = (!track.title.empty()) ? QString::fromStdString(track.title) : i18n("No title");
const QString artists = PlaylistUtils::artistsToString(track.artists);
const QString album = (track.album ) ? QString::fromStdString(track.album->name) : i18n("No album");
this->addPlaylistEntry(playlistId, videoId, title, artists, album);
}
void PlaylistImporter::renamePlaylist(qint64 playlistId, const QString &name, const QString &description)
{
QCoro::connect(Library::instance().database().execute("update playlists set title = ? , description = ? where playlist_id = ?", name, description, playlistId), this, &PlaylistImporter::refreshModel);
}
QStringView PlaylistImporter::cropURL(QStringView srcUrl)
{
// Find entry point
constexpr auto urlFragment = QStringView(u"?list=");
qsizetype urlPos = srcUrl.indexOf(urlFragment);
if (urlPos != -1) {
urlPos += urlFragment.size();
} else {
urlPos = 0;
}
auto mid = srcUrl.mid(urlPos);
// Find exit point
urlPos = std::min(mid.indexOf(u"?"), mid.indexOf(u"&"));
return mid.mid(0, urlPos);
}
+30
View File
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: 2023 Théophile Gilgien <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include "ytmusic.h"
#include <QObject>
#include <ThreadedDatabase>
class PlaylistImporter : public QObject
{
Q_OBJECT
public:
PlaylistImporter(QObject *parent = nullptr);
Q_INVOKABLE void importPlaylist(const QString &url);
Q_SIGNAL void importFinished();
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const playlist::Track &track);
Q_INVOKABLE void renamePlaylist(qint64 playlistId, const QString &name, const QString &description);
Q_SIGNAL void playlistEntriesChanged(quint64 playlistId);
Q_SIGNAL void refreshModel();
private:
QStringView cropURL(QStringView srcURL);
};
+1 -1
View File
@@ -19,7 +19,7 @@ PlaylistModel::PlaylistModel(QObject *parent)
connect(this, &PlaylistModel::playlistIdChanged, this, [=, this] {
setLoading(true);
auto future = YTMusicThread::instance()->fetchPlaylist(m_playlistId);
connectFuture(future, this, [=, this](const playlist::Playlist &playlist) {
QCoro::connect(std::move(future), this, [=, this](const playlist::Playlist &playlist) {
setLoading(false);
beginResetModel();
m_playlist = playlist;
+7
View File
@@ -0,0 +1,7 @@
#SPDX-FileCopyrightText: 2023 Théophile Gilgien <[email protected]>
#
#SPDX-License-Identifier: BSD-2-Clause
add_subdirectory(qtdbusextended)
add_subdirectory(src)
add_subdirectory(declarative)
+14
View File
@@ -0,0 +1,14 @@
#SPDX-FileCopyrightText: 2023 Théophile Gilgien <[email protected]>
#
#SPDX-License-Identifier: BSD-2-Clause
add_library(declarative STATIC
mprisplugin.cpp
)
target_link_libraries(declarative
Qt::Qml
Qt::Core
Qt::DBus
qt-mpris
)
+34
View File
@@ -0,0 +1,34 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#include "mprisplugin.h"
#include "mpris.h"
#include "mprisplayer.h"
#include "mprismanager.h"
#include <qqml.h>
static QObject * api_factory(QQmlEngine *, QJSEngine *)
{
return new Mpris;
}
MprisPlugin::MprisPlugin(QObject *parent) :
QQmlExtensionPlugin(parent)
{
}
MprisPlugin::~MprisPlugin()
{
}
void MprisPlugin::registerTypes(const char *uri)
{
qmlRegisterSingletonType<Mpris>(uri, 1, 0, "Mpris", api_factory);
qmlRegisterType<MprisPlayer>(uri, 1, 0, "MprisPlayer");
qmlRegisterType<MprisManager>(uri, 1, 0, "MprisManager");
}
+27
View File
@@ -0,0 +1,27 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef MPRIS_PLUGIN_H
#define MPRIS_PLUGIN_H
#include <QQmlExtensionPlugin>
#include <QtGlobal>
class MprisPlugin : public QQmlExtensionPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.nemomobile.mpris")
public:
MprisPlugin(QObject *parent = 0);
~MprisPlugin();
virtual void registerTypes(const char *uri) override;
};
#endif /* MPRIS_PLUGIN_H */
@@ -0,0 +1,33 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#include <Mpris>
#include <MprisManager>
#include <QtQuick>
#include <QGuiApplication>
static QObject * api_factory(QQmlEngine *, QJSEngine *)
{
return new Mpris;
}
int main(int argc, char *argv[])
{
QGuiApplication *app = new QGuiApplication(argc, argv);
QQuickView *view = new QQuickView;
qmlRegisterSingletonType<Mpris>("org.nemomobile.qtmpris", 1, 0, "Mpris", api_factory);
qmlRegisterType<MprisManager>("org.nemomobile.qtmpris", 1, 0, "MprisManager");
view->setSource(app->applicationDirPath().append("/../qml/controller.qml"));
view->show();
int retVal = app->exec();
return retVal;
}
+33
View File
@@ -0,0 +1,33 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#include <Mpris>
#include <MprisPlayer>
#include <QtQuick>
#include <QGuiApplication>
static QObject * api_factory(QQmlEngine *, QJSEngine *)
{
return new Mpris;
}
int main(int argc, char *argv[])
{
QGuiApplication *app = new QGuiApplication(argc, argv);
QQuickView *view = new QQuickView;
qmlRegisterSingletonType<Mpris>("org.nemomobile.qtmpris", 1, 0, "Mpris", api_factory);
qmlRegisterType<MprisPlayer>("org.nemomobile.qtmpris", 1, 0, "MprisPlayer");
view->setSource(app->applicationDirPath().append("/../qml/player.qml"));
view->show();
int retVal = app->exec();
return retVal;
}
+91
View File
@@ -0,0 +1,91 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
import QtQuick 2.0
import org.nemomobile.qtmpris 1.0
Item {
id: controls
property MprisManager mprisManager
property bool isPlaying: mprisManager.currentService && mprisManager.playbackStatus == Mpris.Playing
height: parent.height
width: column.width
Column {
id: column
Text {
id: artistLabel
text: if (mprisManager.currentService) {
var artistTag = Mpris.metadataToString(Mpris.Artist)
return (artistTag in mprisManager.metadata) ? mprisManager.metadata[artistTag].toString() : ""
}
width: parent.width
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
}
Text {
id: songLabel
text: if (mprisManager.currentService) {
var titleTag = Mpris.metadataToString(Mpris.Title)
return (titleTag in mprisManager.metadata) ? mprisManager.metadata[titleTag].toString() : ""
}
width: parent.width
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
}
Row {
MouseArea {
width: controls.parent.width * 0.25
height: width
onClicked: if (mprisManager.canGoPrevious) mprisManager.previous()
Text {
anchors.centerIn: parent
text: "⏮"
}
}
MouseArea {
width: controls.parent.width * 0.25
height: width
onClicked: if ((controls.isPlaying && mprisManager.canPause) || (!controls.isPlaying && mprisManager.canPlay)) {
mprisManager.playPause()
}
Text {
anchors.centerIn: parent
text: controls.isPlaying ? "⏸" : "⏵"
}
}
MouseArea {
width: controls.parent.width * 0.25
height: width
onClicked: if (mprisManager.canGoPrevious) if (mprisManager.canGoNext) mprisManager.next()
Text {
anchors.centerIn: parent
text: "⏭"
}
}
}
}
}
+26
View File
@@ -0,0 +1,26 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
import QtQuick 2.0
import org.nemomobile.qtmpris 1.0
Item {
id: mainItem
anchors.fill: parent
Loader {
id: controlsLoader
active: mprisManager.availableServices.length > 0
Component.onCompleted: setSource("MprisControls.qml", { "mprisManager": mprisManager, "parent": mainItem })
MprisManager {
id: mprisManager
}
}
}
+208
View File
@@ -0,0 +1,208 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
import QtQuick 2.0
import org.nemomobile.qtmpris 1.0
Item {
id: mainItem
anchors.fill: parent
Column {
id: column
x: (parent.width - width) * 0.5
width: parent.width * 0.75
Row {
MouseArea {
width: column.parent.width * 0.25
height: width
onClicked: mprisPlayer.playbackStatus = Mpris.Stopped
Text {
anchors.centerIn: parent
text: "Stop"
}
}
MouseArea {
width: column.parent.width * 0.25
height: width
onClicked: mprisPlayer.playbackStatus = Mpris.Playing
Text {
anchors.centerIn: parent
text: "Play"
}
}
MouseArea {
width: column.parent.width * 0.25
height: width
onClicked: mprisPlayer.playbackStatus = Mpris.Paused
Text {
anchors.centerIn: parent
text: "Pause"
}
}
}
Row {
width: parent.width
height: artistSet.height
Text {
id: artistLabel
height: parent.height
text: "Artist: "
verticalAlignment: Text.AlignVCenter
}
TextInput {
id: artistInput
width: parent.width - artistLabel.width - artistSet.width
height: parent.height
verticalAlignment: Text.AlignVCenter
}
MouseArea {
id: artistSet
width: column.parent.width * 0.25
height: width
onClicked: mprisPlayer.artist = artistInput.text
Text {
anchors.centerIn: parent
text: "Set"
}
}
}
Row {
width: parent.width
height: songSet.height
Text {
id: songLabel
height: parent.height
text: "Song: "
verticalAlignment: Text.AlignVCenter
}
TextInput {
id: songInput
width: parent.width - songLabel.width - songSet.width
height: parent.height
verticalAlignment: Text.AlignVCenter
}
MouseArea {
id: songSet
width: column.parent.width * 0.25
height: width
onClicked: mprisPlayer.song = songInput.text
Text {
anchors.centerIn: parent
text: "Set"
}
}
}
Text {
id: message
property string lastMessage
text: "Last Message was: " + lastMessage
width: parent.width
elide: Text.ElideRight
}
}
MprisPlayer {
id: mprisPlayer
property string artist
property string song
serviceName: "qtmpris"
// Mpris2 Root Interface
identity: "QtMpris Example"
supportedUriSchemes: ["file"]
supportedMimeTypes: ["audio/x-wav", "audio/x-vorbis+ogg"]
// Mpris2 Player Interface
canControl: true
canGoNext: true
canGoPrevious: true
canPause: playbackStatus == Mpris.Playing
canPlay: playbackStatus != Mpris.Playing
canSeek: false
playbackStatus: Mpris.Stopped
loopStatus: Mpris.None
shuffle: false
volume: 1
onPauseRequested: message.lastMessage = "Pause requested"
onPlayRequested: message.lastMessage = "Play requested"
onPlayPauseRequested: message.lastMessage = "Play/Pause requested"
onStopRequested: message.lastMessage = "Stop requested"
onNextRequested: message.lastMessage = "Next requested"
onPreviousRequested: message.lastMessage = "Previous requested"
onSeekRequested: {
message.lastMessage = "Seeked requested with offset - " + offset + " microseconds"
emitSeeked()
}
onSetPositionRequested: {
message.lastMessage = "Position requested to - " + position + " microseconds"
emitSeeked()
}
onOpenUriRequested: message.lastMessage = "Requested to open uri \"" + url + "\""
onLoopStatusRequested: {
if (loopStatus == Mpris.None) {
repeatSwitch.checked = false
} else if (loopStatus == Mpris.Playlist) {
repeatSwitch.checked = true
}
}
onShuffleRequested: shuffleSwitch.checked = shuffle
onArtistChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.Artist)] = [artist] // List of strings
mprisPlayer.metadata = metadata
}
onSongChanged: {
var metadata = mprisPlayer.metadata
metadata[Mpris.metadataToString(Mpris.Title)] = song // String
mprisPlayer.metadata = metadata
}
}
}
+12
View File
@@ -0,0 +1,12 @@
#SPDX-FileCopyrightText: 2023 Théophile Gilgien <[email protected]>
#
#SPDX-License-Identifier: BSD-2-Clause
add_library(qtdbusextended STATIC
dbusextendedabstractinterface.cpp
dbusextendedpendingcallwatcher.cpp
)
target_link_libraries(qtdbusextended
Qt::DBus
)
+16
View File
@@ -0,0 +1,16 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef QT_DBUS_EXTENDED_H
#define QT_DBUS_EXTENDED_H
#if defined(QT_DBUS_EXTENDED_LIBRARY)
# define QT_DBUS_EXTENDED_EXPORT Q_DECL_EXPORT
#else
# define QT_DBUS_EXTENDED_EXPORT Q_DECL_IMPORT
#endif
#endif /* QT_DBUS_EXTENDED_H */
@@ -0,0 +1,420 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#include "dbusextendedpendingcallwatcher_p.h"
#include <dbusextendedabstractinterface.h>
#include <QtDBus/QDBusMetaType>
#include <QtDBus/QDBusMessage>
#include <QtDBus/QDBusPendingCall>
#include <QtDBus/QDBusPendingCallWatcher>
#include <QtDBus/QDBusPendingReply>
#include <QtCore/QDebug>
#include <QtCore/QMetaProperty>
Q_GLOBAL_STATIC_WITH_ARGS(QByteArray, dBusPropertiesInterface, ("org.freedesktop.DBus.Properties"))
Q_GLOBAL_STATIC_WITH_ARGS(QByteArray, dBusPropertiesChangedSignal, ("PropertiesChanged"))
Q_GLOBAL_STATIC_WITH_ARGS(QByteArray, propertyChangedSignature, ("propertyChanged(QString,QVariant)"))
Q_GLOBAL_STATIC_WITH_ARGS(QByteArray, propertyInvalidatedSignature, ("propertyInvalidated(QString)"))
DBusExtendedAbstractInterface::DBusExtendedAbstractInterface(const QString &service, const QString &path, const char *interface, const QDBusConnection &connection, QObject *parent)
: QDBusAbstractInterface(service, path, interface, connection, parent)
, m_sync(false)
, m_useCache(false)
, m_getAllPendingCallWatcher(0)
, m_propertiesChangedConnected(false)
{
}
DBusExtendedAbstractInterface::~DBusExtendedAbstractInterface()
{
}
void DBusExtendedAbstractInterface::getAllProperties()
{
m_lastExtendedError = QDBusError();
if (!isValid()) {
QString errorMessage = QStringLiteral("This Extended DBus interface is not valid yet.");
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qDebug() << Q_FUNC_INFO << errorMessage;
return;
}
if (!m_sync && m_getAllPendingCallWatcher) {
// Call already in place, not repeating ...
return;
}
QDBusMessage msg = QDBusMessage::createMethodCall(service(), path(), *dBusPropertiesInterface(), QStringLiteral("GetAll"));
msg << interface();
if (m_sync) {
QDBusMessage reply = connection().call(msg);
if (reply.type() != QDBusMessage::ReplyMessage) {
m_lastExtendedError = QDBusError(reply);
qWarning() << Q_FUNC_INFO << m_lastExtendedError.message();
return;
}
if (reply.signature() != QLatin1String("a{sv}")) {
QString errorMessage = QStringLiteral("Invalid signature \"%1\" in return from call to %2")
.arg(reply.signature(),
QString(*dBusPropertiesInterface()));
qWarning() << Q_FUNC_INFO << errorMessage;
m_lastExtendedError = QDBusError(QDBusError::InvalidSignature, errorMessage);
return;
}
QVariantMap value = reply.arguments().at(0).toMap();
onPropertiesChanged(interface(), value, QStringList());
} else {
QDBusPendingReply<QVariantMap> async = connection().asyncCall(msg);
m_getAllPendingCallWatcher = new QDBusPendingCallWatcher(async, this);
connect(m_getAllPendingCallWatcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(onAsyncGetAllPropertiesFinished(QDBusPendingCallWatcher*)));
return;
}
}
void DBusExtendedAbstractInterface::connectNotify(const QMetaMethod &signal)
{
if (signal.methodType() == QMetaMethod::Signal
&& (signal.methodSignature() == *propertyChangedSignature()
|| signal.methodSignature() == *propertyInvalidatedSignature())) {
if (!m_propertiesChangedConnected) {
QStringList argumentMatch;
argumentMatch << interface();
connection().connect(service(), path(), *dBusPropertiesInterface(), *dBusPropertiesChangedSignal(),
argumentMatch, QString(),
this, SLOT(onPropertiesChanged(QString, QVariantMap, QStringList)));
m_propertiesChangedConnected = true;
return;
}
} else {
QDBusAbstractInterface::connectNotify(signal);
}
}
void DBusExtendedAbstractInterface::disconnectNotify(const QMetaMethod &signal)
{
if (signal.methodType() == QMetaMethod::Signal
&& (signal.methodSignature() == *propertyChangedSignature()
|| signal.methodSignature() == *propertyInvalidatedSignature())) {
if (m_propertiesChangedConnected
&& 0 == receivers(propertyChangedSignature()->constData())
&& 0 == receivers(propertyInvalidatedSignature()->constData())) {
QStringList argumentMatch;
argumentMatch << interface();
connection().disconnect(service(), path(), *dBusPropertiesInterface(), *dBusPropertiesChangedSignal(),
argumentMatch, QString(),
this, SLOT(onPropertiesChanged(QString, QVariantMap, QStringList)));
m_propertiesChangedConnected = false;
return;
}
} else {
QDBusAbstractInterface::disconnectNotify(signal);
}
}
QVariant DBusExtendedAbstractInterface::internalPropGet(const char *propname, void *propertyPtr)
{
m_lastExtendedError = QDBusError();
if (m_useCache) {
int propertyIndex = metaObject()->indexOfProperty(propname);
QMetaProperty metaProperty = metaObject()->property(propertyIndex);
return QVariant(metaProperty.type(), propertyPtr);
}
if (m_sync) {
return property(propname);
} else {
if (!isValid()) {
QString errorMessage = QStringLiteral("This Extended DBus interface is not valid yet.");
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qDebug() << Q_FUNC_INFO << errorMessage;
return QVariant();
}
int propertyIndex = metaObject()->indexOfProperty(propname);
if (-1 == propertyIndex) {
QString errorMessage = QStringLiteral("Got unknown property \"%1\" to read")
.arg(QString::fromLatin1(propname));
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qWarning() << Q_FUNC_INFO << errorMessage;
return QVariant();
}
QMetaProperty metaProperty = metaObject()->property(propertyIndex);
if (!metaProperty.isReadable()) {
QString errorMessage = QStringLiteral("Property \"%1\" is NOT readable")
.arg(QString::fromLatin1(propname));
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qWarning() << Q_FUNC_INFO << errorMessage;
return QVariant();
}
// is this metatype registered?
const char *expectedSignature = "";
if (int(metaProperty.type()) != QMetaType::QVariant) {
expectedSignature = QDBusMetaType::typeToSignature(metaProperty.userType());
if (0 == expectedSignature) {
QString errorMessage =
QStringLiteral("Type %1 must be registered with Qt D-Bus "
"before it can be used to read property "
"%2.%3")
.arg(metaProperty.typeName(),
interface(),
propname);
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qWarning() << Q_FUNC_INFO << errorMessage;
return QVariant();
}
}
asyncProperty(propname);
return QVariant(metaProperty.type(), propertyPtr);
}
}
void DBusExtendedAbstractInterface::internalPropSet(const char *propname, const QVariant &value, void *propertyPtr)
{
m_lastExtendedError = QDBusError();
if (m_sync) {
setProperty(propname, value);
} else {
if (!isValid()) {
QString errorMessage = QStringLiteral("This interface is not yet valid");
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qDebug() << Q_FUNC_INFO << errorMessage;
return;
}
int propertyIndex = metaObject()->indexOfProperty(propname);
if (-1 == propertyIndex) {
QString errorMessage = QStringLiteral("Got unknown property \"%1\" to write")
.arg(QString::fromLatin1(propname));
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qWarning() << Q_FUNC_INFO << errorMessage;
return;
}
QMetaProperty metaProperty = metaObject()->property(propertyIndex);
if (!metaProperty.isWritable()) {
QString errorMessage = QStringLiteral("Property \"%1\" is NOT writable")
.arg(QString::fromLatin1(propname));
m_lastExtendedError = QDBusMessage::createError(QDBusError::Failed, errorMessage);
qWarning() << Q_FUNC_INFO << errorMessage;
return;
}
asyncSetProperty(propname, QVariant(metaProperty.type(), propertyPtr));
}
}
QVariant DBusExtendedAbstractInterface::asyncProperty(const QString &propertyName)
{
QDBusMessage msg = QDBusMessage::createMethodCall(service(), path(), *dBusPropertiesInterface(), QStringLiteral("Get"));
msg << interface() << propertyName;
QDBusPendingReply<QVariant> async = connection().asyncCall(msg);
DBusExtendedPendingCallWatcher *watcher = new DBusExtendedPendingCallWatcher(async, propertyName, QVariant(), this);
connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(onAsyncPropertyFinished(QDBusPendingCallWatcher*)));
return QVariant();
}
void DBusExtendedAbstractInterface::asyncSetProperty(const QString &propertyName, const QVariant &value)
{
QDBusMessage msg = QDBusMessage::createMethodCall(service(), path(), *dBusPropertiesInterface(), QStringLiteral("Set"));
msg << interface() << propertyName << value;
QDBusPendingReply<QVariant> async = connection().asyncCall(msg);
DBusExtendedPendingCallWatcher *watcher = new DBusExtendedPendingCallWatcher(async, propertyName, value, this);
connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(onAsyncSetPropertyFinished(QDBusPendingCallWatcher*)));
}
void DBusExtendedAbstractInterface::onAsyncPropertyFinished(DBusExtendedPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariant> reply = *watcher;
if (reply.isError()) {
m_lastExtendedError = reply.error();
} else {
int propertyIndex = metaObject()->indexOfProperty(watcher->asyncProperty().toLatin1().constData());
QVariant value = demarshall(interface(),
metaObject()->property(propertyIndex),
reply.value(),
&m_lastExtendedError);
if (m_lastExtendedError.isValid()) {
emit propertyInvalidated(watcher->asyncProperty());
} else {
emit propertyChanged(watcher->asyncProperty(), value);
}
}
emit asyncPropertyFinished(watcher->asyncProperty());
watcher->deleteLater();
}
void DBusExtendedAbstractInterface::onAsyncSetPropertyFinished(DBusExtendedPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariant> reply = *watcher;
if (reply.isError()) {
m_lastExtendedError = reply.error();
} else {
m_lastExtendedError = QDBusError();
}
emit asyncSetPropertyFinished(watcher->asyncProperty());
// Resetting the property to its previous value after sending the
// finished signal
if (reply.isError()) {
m_lastExtendedError = QDBusError();
emit propertyChanged(watcher->asyncProperty(), watcher->previousValue());
}
watcher->deleteLater();
}
void DBusExtendedAbstractInterface::onAsyncGetAllPropertiesFinished(QDBusPendingCallWatcher *watcher)
{
m_getAllPendingCallWatcher = 0;
QDBusPendingReply<QVariantMap> reply = *watcher;
if (reply.isError()) {
m_lastExtendedError = reply.error();
} else {
m_lastExtendedError = QDBusError();
}
emit asyncGetAllPropertiesFinished();
if (!reply.isError()) {
onPropertiesChanged(interface(), reply.value(), QStringList());
}
watcher->deleteLater();
}
void DBusExtendedAbstractInterface::onPropertiesChanged(const QString& interfaceName,
const QVariantMap& changedProperties,
const QStringList& invalidatedProperties)
{
if (interfaceName == interface()) {
QVariantMap::const_iterator i = changedProperties.constBegin();
while (i != changedProperties.constEnd()) {
int propertyIndex = metaObject()->indexOfProperty(i.key().toLatin1().constData());
if (-1 == propertyIndex) {
qDebug() << Q_FUNC_INFO << "Got unknown changed property" << i.key();
} else {
QVariant value = demarshall(interface(), metaObject()->property(propertyIndex), i.value(), &m_lastExtendedError);
if (m_lastExtendedError.isValid()) {
emit propertyInvalidated(i.key());
} else {
emit propertyChanged(i.key(), value);
}
}
++i;
}
QStringList::const_iterator j = invalidatedProperties.constBegin();
while (j != invalidatedProperties.constEnd()) {
if (-1 == metaObject()->indexOfProperty(j->toLatin1().constData())) {
qDebug() << Q_FUNC_INFO << "Got unknown invalidated property" << *j;
} else {
m_lastExtendedError = QDBusError();
emit propertyInvalidated(*j);
}
++j;
}
}
}
QVariant DBusExtendedAbstractInterface::demarshall(const QString &interface, const QMetaProperty &metaProperty, const QVariant &value, QDBusError *error)
{
Q_ASSERT(metaProperty.isValid());
Q_ASSERT(error != 0);
if (value.userType() == metaProperty.userType()) {
// No need demarshalling. Passing back straight away ...
*error = QDBusError();
return value;
}
QVariant result = QVariant(metaProperty.userType(), (void*)0);
QString errorMessage;
const char *expectedSignature = QDBusMetaType::typeToSignature(metaProperty.userType());
if (value.userType() == qMetaTypeId<QDBusArgument>()) {
// demarshalling a DBus argument ...
QDBusArgument dbusArg = value.value<QDBusArgument>();
if (expectedSignature == dbusArg.currentSignature().toLatin1()) {
QDBusMetaType::demarshall(dbusArg, metaProperty.userType(), result.data());
if (!result.isValid()) {
errorMessage = QStringLiteral("Unexpected failure demarshalling "
"upon PropertiesChanged signal arrival "
"for property `%3.%4' (expected type `%5' (%6))")
.arg(interface,
QString::fromLatin1(metaProperty.name()),
QString::fromLatin1(metaProperty.typeName()),
expectedSignature);
}
} else {
errorMessage = QStringLiteral("Unexpected `user type' (%2) "
"upon PropertiesChanged signal arrival "
"for property `%3.%4' (expected type `%5' (%6))")
.arg(dbusArg.currentSignature(),
interface,
QString::fromLatin1(metaProperty.name()),
QString::fromLatin1(metaProperty.typeName()),
QString::fromLatin1(expectedSignature));
}
} else {
const char *actualSignature = QDBusMetaType::typeToSignature(value.userType());
errorMessage = QStringLiteral("Unexpected `%1' (%2) "
"upon PropertiesChanged signal arrival "
"for property `%3.%4' (expected type `%5' (%6))")
.arg(QString::fromLatin1(value.typeName()),
QString::fromLatin1(actualSignature),
interface,
QString::fromLatin1(metaProperty.name()),
QString::fromLatin1(metaProperty.typeName()),
QString::fromLatin1(expectedSignature));
}
if (errorMessage.isEmpty()) {
*error = QDBusError();
} else {
*error = QDBusMessage::createError(QDBusError::InvalidSignature, errorMessage);
qDebug() << Q_FUNC_INFO << errorMessage;
}
return result;
}
@@ -0,0 +1,75 @@
//SPDX-FileCopyrightText: 2015 Jolla Ltd. <[email protected]>
//SPDX-FileContributor: Andres Gomez
//
//SPDX-License-Identifier: LGPL-2.1-or-later
#ifndef DBUSEXTENDEDABSTRACTINTERFACE_H
#define DBUSEXTENDEDABSTRACTINTERFACE_H
#include <dbusextended.h>
#include <QDBusAbstractInterface>
#include <QDBusError>
class QDBusPendingCallWatcher;
class DBusExtendedPendingCallWatcher;
class DBusExtendedAbstractInterface: public QDBusAbstractInterface
{
Q_OBJECT
public:
virtual ~DBusExtendedAbstractInterface();
Q_PROPERTY(bool sync READ sync WRITE setSync)
inline bool sync() const { return m_sync; }
inline void setSync(bool sync) { m_sync = sync; }
Q_PROPERTY(bool useCache READ useCache WRITE setUseCache)
inline bool useCache() const { return m_useCache; }
inline void setUseCache(bool useCache) { m_useCache = useCache; }
void getAllProperties();
inline QDBusError lastExtendedError() const { return m_lastExtendedError; };
protected:
DBusExtendedAbstractInterface(const QString &service,
const QString &path,
const char *interface,
const QDBusConnection &connection,
QObject *parent);
void connectNotify(const QMetaMethod &signal) override;
void disconnectNotify(const QMetaMethod &signal) override;
QVariant internalPropGet(const char *propname, void *propertyPtr);
void internalPropSet(const char *propname, const QVariant &value, void *propertyPtr);
Q_SIGNALS:
void propertyChanged(const QString &propertyName, const QVariant &value);
void propertyInvalidated(const QString &propertyName);
void asyncPropertyFinished(const QString &propertyName);
void asyncSetPropertyFinished(const QString &propertyName);
void asyncGetAllPropertiesFinished();
private Q_SLOTS:
void onPropertiesChanged(const QString& interfaceName,
const QVariantMap& changedProperties,
const QStringList& invalidatedProperties);
void onAsyncPropertyFinished(DBusExtendedPendingCallWatcher *watcher);
void onAsyncSetPropertyFinished(DBusExtendedPendingCallWatcher *watcher);
void onAsyncGetAllPropertiesFinished(QDBusPendingCallWatcher *watcher);
private:
QVariant asyncProperty(const QString &propertyName);
void asyncSetProperty(const QString &propertyName, const QVariant &value);
static QVariant demarshall(const QString &interface, const QMetaProperty &metaProperty, const QVariant &value, QDBusError *error);
bool m_sync;
bool m_useCache;
QDBusPendingCallWatcher *m_getAllPendingCallWatcher;
QDBusError m_lastExtendedError;
bool m_propertiesChangedConnected;
};
#endif /* DBUSEXTENDEDABSTRACTINTERFACE_H */
Loaded 100 of 127 files, more files were not shown because too many files have changed in this diff. Show more