Compare commits

...
Author SHA1 Message Date
Jonah Brüchert f4b2f06484 Small library cleanup 2023-08-07 01:54:55 +02:00
Jonah Brüchert 89dda4c28a Filter search history in the database
Allows to easily limit the default number of history entries.
Previously, limiting the number of sql results would not have worked,
since the filter was being applied on top of them.
2023-08-07 01:45:54 +02:00
Jonah Brüchert e82fb652ee Improve performance of search popup with new local search model 2023-08-07 01:32:07 +02:00
Bart Ribbers 2894ab83e2 Allow building with KF6 2023-08-06 21:32:23 +02:00
Jonah Brüchert 7677ba8bf5 Update ytmusicapi to 1.1.1 2023-08-06 16:37:54 +02:00
Jonah Brüchert 678111a144 Fetch up too 100 search results 2023-08-06 16:36:39 +02:00
l10n daemon script 825ab78b46 GIT_SILENT Sync po/docbooks with svn 2023-08-03 02:04:21 +00:00
l10n daemon script b7ed9d6c2d GIT_SILENT Sync po/docbooks with svn 2023-07-31 02:05:26 +00:00
l10n daemon script cb9b3ef479 GIT_SILENT Sync po/docbooks with svn 2023-07-29 01:45:21 +00:00
l10n daemon script d8f30ae36f GIT_SILENT Sync po/docbooks with svn 2023-07-24 08:59:52 +00:00
l10n daemon script 930c1506a0 GIT_SILENT Sync po/docbooks with svn 2023-07-19 02:31:36 +00:00
Albert Astals Cid aa393e4278 GIT_SILENT Upgrade release service version to 23.11.70. 2023-07-17 12:49:23 +02:00
16 changed files with 326 additions and 359 deletions

No files matched your search

+13 -6
View File
@@ -6,7 +6,7 @@ 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 "07")
set(RELEASE_SERVICE_VERSION_MINOR "11")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
@@ -14,13 +14,20 @@ project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
include(FeatureSummary)
set(QT5_MIN_VERSION 5.15)
set(KF5_MIN_VERSION 5.81)
if (QT_MAJOR_VERSION STREQUAL "6")
set(QT_MIN_VERSION "6.4.0")
set(KF_MIN_VERSION "5.240.0")
set(KF_MAJOR_VERSION "6")
else()
set(QT_MIN_VERSION "5.15")
set(KF_MIN_VERSION "5.81.0")
set(KF_MAJOR_VERSION "5")
endif()
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
@@ -39,8 +46,8 @@ 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 DBus)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
+4 -4
View File
@@ -12,8 +12,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
},
{
"type": "file",
@@ -32,8 +32,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/65/9b/21628ca5bcf40f58c33f0fbb4927a1bb91e12f3c33a3cf8e29e03f6bc1d1/yt_dlp-2023.6.22-py2.py3-none-any.whl",
"sha256": "c559885322f7f492c1e7fc8f5a59e2a72e47719b59575599cf8b0e69ea70d0a8"
"url": "https://files.pythonhosted.org/packages/5c/da/ef08140cea3392288a8f6cd60f6f12510a4c5776eead53e90151f139af19/yt_dlp-2023.7.6-py2.py3-none-any.whl",
"sha256": "b33b3f68751f33dd8290f1f61f7a011679b3b512aa223df3bff496688bc0bd19"
}
]
}
+8 -8
View File
@@ -7,13 +7,13 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9d/19/59961b522e6757f0c9097e4493fa906031b95b3ebe9360b2c3083561a6b4/certifi-2023.5.7-py3-none-any.whl",
"sha256": "c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"
"url": "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl",
"sha256": "92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ff/d7/8d757f8bd45be079d76309248845a04f09619a7b17d6dfc8c9ff6433cac2/charset-normalizer-3.1.0.tar.gz",
"sha256": "34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"
"url": "https://files.pythonhosted.org/packages/2a/53/cf0a48de1bdcf6ff6e1c9a023f5f523dfe303e4024f216feac64b6eb7f67/charset-normalizer-3.2.0.tar.gz",
"sha256": "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"
},
{
"type": "file",
@@ -27,13 +27,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/8a/03/ad9306a50d05c166e3456fe810f33cee2b8b2a7a6818ec5d4908c4ec6b36/urllib3-2.0.3-py3-none-any.whl",
"sha256": "48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"
"url": "https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl",
"sha256": "de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/50/1c/24829fa937a3555bf782491669ec74e0afbae5adbd724d5ce1fd542062d1/ytmusicapi-1.1.0-py3-none-any.whl",
"sha256": "d7923e9b789b7107c75bd8e9010640cf99ce08d472f42a9bd9402088acfc4d49"
"url": "https://files.pythonhosted.org/packages/28/e2/35adcefca140b4232387b5d7d119abe69c6d1c86d48c949a720c7ccb8bc7/ytmusicapi-1.1.1-py3-none-any.whl",
"sha256": "0c154a052c8f8e2310a51b1f391aa2ed1a2f6693a7ec343cc47b822de5e95783"
}
]
}
-20
View File
@@ -529,23 +529,3 @@ msgstr "Bez názvu"
#, kde-format
msgid "No album"
msgstr "Žádné album"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importovat seznam skladeb"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "Importovat seznam skladeb"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "Importovat seznam skladeb"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "Importovat seznam skladeb"
+16 -18
View File
@@ -10,7 +10,7 @@ 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-04-19 00:04+0200\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,7 +18,7 @@ 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.3\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -26,6 +26,8 @@ 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
@@ -148,16 +150,14 @@ msgid "Playlist Description"
msgstr "Jotze-zerrendaren deskribapena"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:17
#, fuzzy, kde-format
#| msgid "Add playlist"
#, kde-format
msgid "Import playlist"
msgstr "Gehitu jotze-zerrenda"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlist Title"
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Jotze-zerrendaren titulua"
msgstr "Jotze-zerrendaren URL (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
@@ -249,10 +249,9 @@ msgstr "Jotze-zerrenda hau oraindik hutsik dago"
#: 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"
#, kde-format
msgid "Import Playlist"
msgstr "Jotze-zerrenda"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
@@ -380,7 +379,7 @@ msgstr "Hemen oraindik ez dago abestirik"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "Jotze-zerrenda ondo inportatu da"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
@@ -405,7 +404,7 @@ msgstr "Artistak"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "Emaitza nagusiak"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
@@ -520,20 +519,19 @@ msgid "Unofficial API for YouTube Music"
msgstr "«YouTube Music»erako API ez-ofiziala"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlist Description"
#, kde-format
msgid "No description"
msgstr "Jotze-zerrendaren deskribapena"
msgstr "Deskribapenik ez"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
msgstr "Titulurik ez"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
msgstr "Albumik ez"
#, fuzzy
#~| msgid "Playlist"
+6 -25
View File
@@ -1,3 +1,4 @@
# maboroshini <pc.genkaku.in>, 2023.
# Fumiaki Okushi <[email protected]>, 2023.
msgid ""
msgstr ""
@@ -21,7 +22,7 @@ msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"未テストのバージョンの ymusicapi %1 で実行中です。エラーが発生時には、お使い"
"未テストのバージョンの ymusicapi %1 で実行中です。エラーの発生時には、お使い"
"のディストリビューションに報告してください。"
#: contents/ui/AlbumPage.qml:75 contents/ui/LibraryPage.qml:37
@@ -332,7 +333,7 @@ msgstr "再生キューを表示"
#: contents/ui/MaximizedPlayerPage.qml:1198
#, kde-format
msgid "Remove Track"
msgstr ""
msgstr "曲の除去"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
@@ -367,7 +368,7 @@ msgstr ""
#: contents/ui/PlaybackHistory.qml:135
#, kde-format
msgid "No songs here yet"
msgstr "ここにはまだ曲なし"
msgstr "まだここに曲はなし"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
@@ -397,7 +398,7 @@ msgstr "アーティスト"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "検索上位"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
@@ -407,7 +408,7 @@ msgstr "不明"
#: contents/ui/SearchWithDropdown.qml:343
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "以前の検索には一致しません"
#: contents/ui/ShareMenu.qml:39
#, kde-format
@@ -525,23 +526,3 @@ msgstr "タイトルなし"
#, kde-format
msgid "No album"
msgstr "アルバムなし"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from Url"
#~ msgstr "再生リストのインポート"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlist from File"
#~ msgstr "再生リストのインポート"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Export Playlist"
#~ msgstr "再生リストのインポート"
#, fuzzy
#~| msgid "Import Playlist"
#~ msgid "Import Playlists"
#~ msgstr "再生リストのインポート"
+66 -88
View File
@@ -7,7 +7,7 @@ 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-03-01 00:43+0100\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,7 +15,7 @@ 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"
#: asyncytmusic.cpp:65
#, kde-format
@@ -23,6 +23,8 @@ 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
@@ -50,8 +52,7 @@ msgstr "무순서 재생"
#: 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
#, fuzzy, kde-format
#| msgid "Add to queue"
#, kde-format
msgid "Append to queue"
msgstr "대기열에 추가"
@@ -65,7 +66,7 @@ msgstr "브라우저로 열기"
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "공유"
#: contents/ui/AlbumPage.qml:110
#, kde-format
@@ -127,57 +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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Import playlist"
msgstr "재생 목록에 추가"
msgstr "재생 목록 가져오기"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlist"
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "재생 목록"
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:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlist"
#, 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
@@ -222,41 +215,38 @@ msgid "Playlists"
msgstr "재생 목록"
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No Playlists Yet"
msgstr "재생 목록"
msgstr "재생 목록 없음"
#: 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: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:21
#, fuzzy, kde-format
#| msgid "Remove from History"
#, kde-format
msgid "Remove from Playlist"
msgstr "과거 기록에서 삭제"
msgstr "재생 목록에서 삭제"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "재생 목록이 비어 있습니다"
#: 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"
#, kde-format
msgid "Import Playlist"
msgstr "재생 목록"
msgstr "재생 목록 가져오기"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
@@ -264,15 +254,14 @@ msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:260
#, fuzzy, kde-format
#| msgid "No media playing"
#, kde-format
msgid "No song playing"
msgstr "재생 중인 미디어 없음"
msgstr "재생 중인 곡 없음"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
msgstr "최대화된 재생기 닫기"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
@@ -281,32 +270,29 @@ msgid "No media playing"
msgstr "재생 중인 미디어 없음"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Remove Favourite"
#, kde-format
msgid "Remove from Favourites"
msgstr "책갈피 삭제"
msgstr "책갈피에서 삭제"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Add Favourite"
#, kde-format
msgid "Add to Favourites"
msgstr "책갈피에 추가"
#: contents/ui/MaximizedPlayerPage.qml:451
#, fuzzy, kde-format
#| msgid "Open in Browser"
#, kde-format
msgid "Open Volume Drawer"
msgstr "브라우저로 열기"
msgstr "음량 서랍 열기"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
msgstr "오디오 음소거 해제"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
msgstr "오디오 음소거"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
@@ -316,37 +302,33 @@ msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
msgstr "가사 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
msgstr "가사 표시"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
#, kde-format
msgid "Share Song"
msgstr "책갈피에 등록된 노래"
msgstr "노래 공유"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to a local playlist"
msgstr "재생 목록에 추가"
msgstr "로컬 재생 목록에 추가"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Hide Queue"
msgstr "대기열에 추가"
msgstr "대기열 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Show Queue"
msgstr "대기열에 추가"
msgstr "대기열 표시"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
@@ -355,21 +337,19 @@ msgid "Remove Track"
msgstr "트랙 삭제"
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Clear Queue"
msgstr "대기열에 추가"
msgstr "대기열 비우기"
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
#, kde-format
msgid "Shuffle Queue"
msgstr "무순서 재생"
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
@@ -394,7 +374,7 @@ msgstr "목록에 등록된 곡 없음"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "재생 목록을 가져왔습니다"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
@@ -419,7 +399,7 @@ msgstr "아티스트"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "상위 결과"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
@@ -434,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
@@ -482,8 +462,7 @@ 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 "재생 목록에 추가"
@@ -535,20 +514,19 @@ msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music 비공식 API"
#: playlistimporter.cpp:23
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No description"
msgstr "재생 목록"
msgstr "설명 없음"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
msgstr "제목 없음"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
msgstr "앨범 없음"
#, fuzzy
#~| msgid "Playlist"
+9 -9
View File
@@ -7,7 +7,7 @@ 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-02-23 19:21+0100\n"
"PO-Revision-Date: 2023-07-30 22:10+0200\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
"Language: nn\n"
@@ -15,7 +15,7 @@ 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"
@@ -67,7 +67,7 @@ msgstr "Opna i nettlesar"
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Del"
#: contents/ui/AlbumPage.qml:110
#, kde-format
@@ -131,24 +131,24 @@ 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 ""
msgstr "Importer speleliste"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
@@ -158,7 +158,7 @@ msgstr ""
#: 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:102
@@ -166,7 +166,7 @@ msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:143
#, kde-format
msgid "New Playlist"
msgstr ""
msgstr "Ny speleliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
+98 -126
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-07-09 00:59+0000\n"
"PO-Revision-Date: 2022-09-24 14:57+0200\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"
@@ -23,6 +23,8 @@ 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
@@ -52,7 +54,7 @@ msgstr "Blanda"
#: 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:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
@@ -64,19 +66,19 @@ msgstr "Öppna i webbläsare"
#: contents/ui/PlaylistPage.qml:120
#, kde-format
msgid "Share"
msgstr ""
msgstr "Dela"
#: contents/ui/AlbumPage.qml:110
#, kde-format
msgid "Album • %1"
msgstr ""
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 ""
msgstr "Mer"
#: contents/ui/ArtistPage.qml:81
#, kde-format
@@ -84,10 +86,9 @@ msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:109
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Artister"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:131 contents/ui/SearchPage.qml:72
#, kde-format
@@ -127,57 +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
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Import playlist"
msgstr "Lägg till i spellista"
msgstr "Importera spellista"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Spellistor"
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:102
#: contents/ui/LocalPlaylistsPage.qml:128
#: contents/ui/LocalPlaylistsPage.qml:143
#, fuzzy, kde-format
#| msgid "Playlists"
#, 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
@@ -193,10 +186,9 @@ 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:215
#, kde-format
@@ -211,10 +203,9 @@ msgid "Played Songs"
msgstr "Spelade låtar"
#: contents/ui/LibraryPage.qml:334
#, fuzzy, kde-format
#| msgid "No songs here yet"
#, kde-format
msgid "No Songs Played Yet"
msgstr "Inga låtar här ännu"
msgstr "Inga låtar spelade ännu"
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
@@ -224,41 +215,38 @@ msgid "Playlists"
msgstr "Spellistor"
#: contents/ui/LibraryPage.qml:430
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No Playlists Yet"
msgstr "Spellistor"
msgstr "Inga spellistor ännu"
#: 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: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:21
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Remove from Playlist"
msgstr "Spellistor"
msgstr "Ta bort från spellista"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Spellistan är fortfarande tom"
#: 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"
#, kde-format
msgid "Import Playlist"
msgstr "Spellistor"
msgstr "Importera spellista"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
@@ -266,15 +254,14 @@ msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/main.qml:260
#, fuzzy, kde-format
#| msgid "No media playing"
#, kde-format
msgid "No song playing"
msgstr "Inga media spelar"
msgstr "Ingen låt spelas"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
msgstr "Stäng maximerad spelare"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
@@ -283,72 +270,65 @@ msgid "No media playing"
msgstr "Inga media spelar"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Remove from Favourites"
msgstr "Favoriter"
msgstr "Ta bort från favoriter"
#: contents/ui/MaximizedPlayerPage.qml:426
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Add to Favourites"
msgstr "Favoriter"
msgstr "Lägg till i favoriter"
#: contents/ui/MaximizedPlayerPage.qml:451
#, fuzzy, kde-format
#| msgid "Open in Browser"
#, kde-format
msgid "Open Volume Drawer"
msgstr "Öppna i webbläsare"
msgstr "Öppna volymlåda"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
msgstr "Ljud på"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
msgstr "Tysta ljud"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
msgid "%1%"
msgstr ""
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
msgstr "Dölj Sångtext"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
msgstr "Visa sångtext"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, fuzzy, kde-format
#| msgid "Favourite Songs"
#, kde-format
msgid "Share Song"
msgstr "Favoritlåtar"
msgstr "Dela låt"
#: contents/ui/MaximizedPlayerPage.qml:699
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to a local playlist"
msgstr "Lägg till i spellista"
msgstr "Lägg till i lokal spellista"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Hide Queue"
msgstr "Köa"
msgstr "Dölj kö"
#: contents/ui/MaximizedPlayerPage.qml:736
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Show Queue"
msgstr "Köa"
msgstr "Visa kö"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
@@ -357,26 +337,24 @@ msgid "Remove Track"
msgstr "Ta bort spår"
#: contents/ui/MaximizedPlayerPage.qml:995
#, fuzzy, kde-format
#| msgid "Queue"
#, kde-format
msgid "Clear Queue"
msgstr "Köa"
msgstr "Rensa kö"
#: contents/ui/MaximizedPlayerPage.qml:1020
#, fuzzy, kde-format
#| msgid "Shuffle"
#, kde-format
msgid "Shuffle Queue"
msgstr "Blanda"
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
@@ -396,23 +374,22 @@ msgstr "Inga låtar här ännu"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "Spellista importerad med lyckat resultat"
#: contents/ui/PlaylistPage.qml:131
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Spellistor"
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
@@ -422,7 +399,7 @@ msgstr "Artister"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
@@ -432,32 +409,32 @@ msgstr "Okänd"
#: 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
@@ -467,60 +444,57 @@ 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"
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube musikspelare"
#: 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:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Underhåll"
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Designer"
#: main.cpp:69
#, kde-format
@@ -535,26 +509,24 @@ msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:74
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
#, 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
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No description"
msgstr "Spellistor"
msgstr "Ingen beskrivning"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
msgstr "Namnlös"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
msgstr "Inget album"
#, fuzzy
#~| msgid "Playlists"
+1 -16
View File
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: kdeorg\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-03 11:39\n"
"PO-Revision-Date: 2023-08-02 12:41\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -525,18 +525,3 @@ msgstr ""
#, kde-format
msgid "No album"
msgstr ""
#, fuzzy
#~| msgid "Playlist Title"
#~ msgid "Import Playlist from File"
#~ msgstr "播放列表标题"
#, fuzzy
#~| msgid "Playlist"
#~ msgid "Export Playlist"
#~ msgstr "播放列表"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ 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==1.1.0
ytmusicapi==1.1.1
yt-dlp
+5 -8
View File
@@ -40,6 +40,7 @@ Item {
onTextEdited: {
filterText = text
Library.searches.filter = text
if(completionList.count === 0) {
//no matching search -> message should display
Library.temporarySearch = ""
@@ -316,11 +317,10 @@ Item {
visible: searchField.filterText && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
model: LocalSearchModel {
searchQuery: searchField.text
}
delegate: searchAlbum
}
Kirigami.Separator {
@@ -355,10 +355,7 @@ Item {
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
id: completionList
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchField.filterExpression
}
model: Library.searches
function isSelectedDelegateVisible() {
if(!recentsRepeater.visible) {
+71 -24
View File
@@ -27,25 +27,10 @@ Library::Library(QObject *parent)
}()))
{
m_database->runMigrations(":/migrations/");
m_searches = new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
connect(this, &Library::changeFavourites, [this]() {
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
m_favourites= new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
});
Q_EMIT changeFavourites();
m_searches = new SearchHistoryModel(this);
connect(this, &Library::changePlaybackHistory, [this]() {
//playbackHistory
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
//mostPlayed
auto future2 = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
});
Q_EMIT changePlaybackHistory();
refreshFavourites();
refreshPlaybackHistory();
}
Library::~Library() = default;
@@ -64,13 +49,15 @@ FavouritesModel *Library::favourites()
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
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);
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId),
this, &Library::refreshFavourites);
});
}
void Library::removeFavourite(const QString &videoId)
{
QCoro::connect(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::refreshFavourites);
}
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
@@ -114,17 +101,41 @@ PlaybackHistoryModel *Library::playbackHistory()
return m_playbackHistory;
}
void Library::refreshPlaybackHistory()
{
// playbackHistory
auto future = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
// mostPlayed
auto future2 = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
}
void Library::refreshFavourites()
{
auto future = m_database->getResults<Song>(
"select * from favourites natural join songs order by favourites.rowid desc");
m_favourites = new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
}
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
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);
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId),
this, &Library::refreshPlaybackHistory);
});
});
}
void Library::removePlaybackHistoryItem(const QString &videoId)
{
QCoro::connect(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::refreshPlaybackHistory);
}
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
@@ -164,6 +175,11 @@ PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&so
});
}
PlaybackHistoryModel::PlaybackHistoryModel(QObject *parent)
: QAbstractListModel(parent)
{
}
QHash<int, QByteArray> PlaybackHistoryModel::roleNames() const {
return {
{Roles::VideoId, "videoId"},
@@ -272,9 +288,25 @@ bool FavouriteWatcher::isFavourite() const {
return m_isFavourite;
}
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
: QAbstractListModel(parent)
SearchHistoryModel::SearchHistoryModel(Library *library)
: QAbstractListModel(library)
{
auto historyFuture = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc limit 20");
connect(this, &SearchHistoryModel::filterChanged, this, [library, this]() {
auto future = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches "
"where search_query like '%" % m_filter % "%'"
"order by search_id desc limit 20");
QCoro::connect(std::move(future), this, [this](auto history) {
beginResetModel();
m_history = history;
endResetModel();
});
});
QCoro::connect(std::move(historyFuture), this, [this](const auto history) {
beginResetModel();
m_history = history;
@@ -391,3 +423,18 @@ void WasPlayedWatcher::update(std::optional<SingleValue<bool> > result)
Q_EMIT wasPlayedChanged();
}
}
LocalSearchModel::LocalSearchModel(QObject *parent) : PlaybackHistoryModel(parent)
{
connect(this, &LocalSearchModel::searchQueryChanged, this, [this]() {
auto resultFuture = Library::instance().database()
.getResults<PlayedSong>("select * from played_songs natural join songs "
"where title like '%" % m_searchQuery % "%' "
"order by plays desc limit 10");
QCoro::connect(std::move(resultFuture), this, [this](auto results) {
beginResetModel();
m_playedSongs = results;
endResetModel();
});
});
}
+25 -4
View File
@@ -84,21 +84,39 @@ public:
Q_ENUM(Roles);
PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent = nullptr);
PlaybackHistoryModel(QObject *parent = nullptr);
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
std::vector<PlayedSong> getPlayedSong() const;
private:
protected:
std::vector<PlayedSong> m_playedSongs;
};
class LocalSearchModel : public PlaybackHistoryModel {
Q_OBJECT
Q_PROPERTY(QString searchQuery MEMBER m_searchQuery NOTIFY searchQueryChanged)
Q_SIGNAL void searchQueryChanged();
public:
LocalSearchModel(QObject *parent = nullptr);
QString m_searchQuery;
};
class Library;
class SearchHistoryModel : public QAbstractListModel {
Q_OBJECT
Q_PROPERTY(QString filter MEMBER m_filter NOTIFY filterChanged)
public:
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
SearchHistoryModel(Library *library);
int rowCount(const QModelIndex &parent) const override;
void removeSearch(const QString &search);
QVariant data(const QModelIndex &index, int role) const override;
@@ -106,10 +124,13 @@ public:
const QString & temporarySearch() const;
void setTemporarySearch(QString const& text);
Q_SIGNAL void filterChanged();
private:
size_t getRow(QString const &search) const;
std::vector<SingleValue<QString>> m_history;
QString m_temporarySearch;
QString m_filter;
};
class Library : public QObject
@@ -129,7 +150,7 @@ public:
FavouritesModel *favourites();
Q_SIGNAL void favouritesChanged();
Q_SIGNAL void changeFavourites();
void refreshFavourites();
Q_INVOKABLE void addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removeFavourite(const QString &videoId);
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
@@ -144,7 +165,7 @@ public:
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
Q_SIGNAL void changePlaybackHistory();
void refreshPlaybackHistory();
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
+1
View File
@@ -91,6 +91,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
qmlRegisterType<LocalSearchModel>(URI, 1, 0, "LocalSearchModel");
qmlRegisterType<LocalPlaylistModel>(URI, 1, 0, "LocalPlaylistModel");
qmlRegisterType<LocalPlaylistsModel>(URI, 1, 0, "LocalPlaylistsModel");
qmlRegisterType<PlaylistImporter>(URI, 1, 0, "PlaylistImporter");
+2 -2
View File
@@ -12,7 +12,7 @@
#include <vector>
#include <memory>
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.1.0";
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.1.1";
struct YTMusicPrivate;
@@ -293,7 +293,7 @@ public:
std::vector<search::SearchResultItem> search(const std::string &query,
const std::optional<std::string> &filter = std::nullopt,
const std::optional<std::string> &scope = std::nullopt,
const int limit = 20,
const int limit = 100,
const bool ignore_spelling = false) const;
/// https://ytmusicapi.readthedocs.io/en/latest/reference.html#ytmusicapi.YTMusic.get_artist