Compare commits
24
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
630b54933d | ||
|
|
2293280316 | ||
|
|
14116b9cd2 | ||
|
|
4c7db5d5c9 | ||
|
|
f26bc80421 | ||
|
|
f934e99254 | ||
|
|
b6cd3c4a2b | ||
|
|
76763b9be1 | ||
|
|
1606f91124 | ||
|
|
cf8c982228 | ||
|
|
e94362854d | ||
|
|
40f3d5eab1 | ||
|
|
dc3b35bffa | ||
|
|
52c654179f | ||
|
|
a07a3c162f | ||
|
|
e4f8f96517 | ||
|
|
6fdb0321d6 | ||
|
|
be9b0d57e9 | ||
|
|
b4c6749a76 | ||
|
|
a98e3c7b92 | ||
|
|
26e7bbbdb8 | ||
|
|
efa7dd674a | ||
|
|
ef59e9d418 | ||
|
|
e1678a76ba |
No files matched your search
+2
-2
@@ -8,7 +8,7 @@ project(audiotube)
|
||||
|
||||
include(FeatureSummary)
|
||||
|
||||
set(PROJECT_VERSION "22.06")
|
||||
set(PROJECT_VERSION "22.09")
|
||||
set(QT5_MIN_VERSION 5.15)
|
||||
set(KF5_MIN_VERSION 5.81)
|
||||
|
||||
@@ -33,7 +33,7 @@ ecm_setup_version(${PROJECT_VERSION}
|
||||
|
||||
kde_enable_exceptions()
|
||||
|
||||
find_package(Qt5 ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql DBus)
|
||||
find_package(Qt5 ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql)
|
||||
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash)
|
||||
find_package(pybind11 REQUIRED)
|
||||
find_package(Ytdlp REQUIRED RUNTIME)
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"yt-dlp\" --no-build-isolation"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/10/a5/6e8b3a3f9caa535543f342254ee15e711cb26e974b54f998e90e17e1fe09/yt_dlp-2022.9.1-py2.py3-none-any.whl",
|
||||
"sha256": "af3721ecb286a95272008add3b9bebde4f370fb3bdd1bb6402727af9e2e3aa2b"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/f8/a3/622d9acbfb9a71144b5d7609906bc648c62e3ca5fdbb1c8cca222949d82c/websockets-10.3.tar.gz",
|
||||
@@ -25,11 +30,6 @@
|
||||
"url": "https://files.pythonhosted.org/packages/e9/06/d3d367b7af6305b16f0d28ae2aaeb86154fa91f144f036c2d5002a5a202b/certifi-2022.6.15-py3-none-any.whl",
|
||||
"sha256": "fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/1f/13/b1f7b4e44b11584a5f077af87895961b57911217a629efb8d3a9efd2a491/yt_dlp-2022.7.18-py2.py3-none-any.whl",
|
||||
"sha256": "d7d1f81d230756f094b4d9ee59b37b2c13b2e63ff5fb72cda53625edb072cdae"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/52/0d/6cc95a83f6961a1ca041798d222240890af79b381e97eda3b9b538dba16f/pycryptodomex-3.15.0.tar.gz",
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/94/69/64b11e8c2fb21f08634468caef885112e682b0ebe2908e74d3616eb1c113/charset_normalizer-2.1.0-py3-none-any.whl",
|
||||
"sha256": "5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5"
|
||||
"url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl",
|
||||
"sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/68/47/93d3d28e97c7577f563903907912f4b3804054e4877a5ba6651f7182c53b/urllib3-1.26.10-py2.py3-none-any.whl",
|
||||
"sha256": "8298d6d56d39be0e3bc13c1c97d133f9b45d797169a0e11cdd0e0489d786f7ec"
|
||||
"url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl",
|
||||
"sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
|
||||
@@ -22,6 +22,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<name xml:lang="it">AudioTube</name>
|
||||
<name xml:lang="ko">AudioTube</name>
|
||||
<name xml:lang="nl">AudioTube</name>
|
||||
<name xml:lang="nn">AudioTube</name>
|
||||
<name xml:lang="pa">ਆਡੀਓ-ਟਿਊਬ</name>
|
||||
<name xml:lang="pl">AudioTube</name>
|
||||
<name xml:lang="pt">AudioTube</name>
|
||||
@@ -49,6 +50,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<summary xml:lang="it">Client YouTube Music convergente</summary>
|
||||
<summary xml:lang="ko">올인원 YouTube Music 클라이언트</summary>
|
||||
<summary xml:lang="nl">Convergente muziekclient van YouTube</summary>
|
||||
<summary xml:lang="nn">YouTube Music-klient, tilpassa ulike brukarflater</summary>
|
||||
<summary xml:lang="pl">Adaptacyjny program do YouTube Music</summary>
|
||||
<summary xml:lang="pt">Cliente de música do YouTube convergente</summary>
|
||||
<summary xml:lang="pt-BR">Um cliente convergente para o YouTube Music</summary>
|
||||
@@ -77,6 +79,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<developer_name xml:lang="it">Comunità KDE</developer_name>
|
||||
<developer_name xml:lang="ko">KDE 커뮤니티</developer_name>
|
||||
<developer_name xml:lang="nl">KDE-gemeenschap</developer_name>
|
||||
<developer_name xml:lang="nn">KDE-fellesskapet</developer_name>
|
||||
<developer_name xml:lang="pa">ਕੇਡੀਈ ਕਮਿਊਨਟੀ</developer_name>
|
||||
<developer_name xml:lang="pl">Społeczność KDE</developer_name>
|
||||
<developer_name xml:lang="pt">Comunidade do KDE</developer_name>
|
||||
@@ -92,6 +95,9 @@ 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="22.09" date="2022-09-27">
|
||||
<url>https://www.plasma-mobile.org/2022/09/27/plasma-mobile-gear-22-09/</url>
|
||||
</release>
|
||||
<release version="22.06" date="2022-06-24">
|
||||
<url>https://www.plasma-mobile.org/2022/06/28/plasma-mobile-gear-22-06/</url>
|
||||
<description>
|
||||
@@ -159,6 +165,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<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="ko">AudioTube는 YouTube Music을 검색하고, 앨범과 아티스트를 표시하고, 자동 생성된 재생 목록, 앨범을 재생하고, 사용자 정의 재생 목록을 만들 수 있습니다.</p>
|
||||
<p xml:lang="nl">AudioTube kan in YouTube Music zoeken, een lijst maken van albums en artiesten, automatically gegenereerde afspeellijsten, albums afspelen en biedt u het samenstellen van uw eigen afspeellijst.</p>
|
||||
<p xml:lang="nn">Med AudioTube kan du søkja på YouTube Music, visa album og artistar, spela automatiske genererte spelelister og album samt laga eigne spelelister.</p>
|
||||
<p xml:lang="pl">AudioTube może przeszukiwać serwis YouTube Music, wypisać albumy i wykonawców, odtwarzać samoczynnie utworzone listy odtwarzania, albumy oraz umożliwia tworzenie własnych list odtwarzania.</p>
|
||||
<p xml:lang="pt">O AudioTube consegue pesquisar no YouTube Music, enumerar os álbuns e artistas, reproduzir listas geradas automaticamente, álbuns e permite-lhe reproduzir as suas próprias listas de reprodução.</p>
|
||||
<p xml:lang="pt-BR">O AudioTube pode pesquisar no YouTube Music, listar álbuns e artistas, rodar listas de reprodução geradas automaticamente, álbuns inteiros, e criar a sua própria lista de reprodução.</p>
|
||||
|
||||
@@ -15,6 +15,7 @@ Name[hi]=ओडियो-ट्यूब
|
||||
Name[it]=AudioTube
|
||||
Name[ko]=AudioTube
|
||||
Name[nl]=AudioTube
|
||||
Name[nn]=AudioTube
|
||||
Name[pa]=ਆਡੀਓ-ਟਿਊਬ
|
||||
Name[pl]=AudioTube
|
||||
Name[pt]=AudioTube
|
||||
@@ -43,6 +44,7 @@ Comment[hi]=यूट्यूब संगीत क्लाएंट
|
||||
Comment[it]=Client YouTube Music
|
||||
Comment[ko]=YouTube Music 클라이언트
|
||||
Comment[nl]=Muziekclient van YouTube
|
||||
Comment[nn]=YouTube Music-klient
|
||||
Comment[pa]=ਯੂਟਿਊਬ ਸੰਗੀਤ ਕਲਾਈਂਟ
|
||||
Comment[pl]=Program do YouTube Music
|
||||
Comment[pt]=Cliente do YouTube Music
|
||||
|
||||
+14
-9
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-28 23:09+0400\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-28 22:19+0400\n"
|
||||
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
|
||||
"Language-Team: Arabic <[email protected]>\n"
|
||||
"Language: ar\n"
|
||||
@@ -38,42 +38,47 @@ msgstr "شغّل"
|
||||
msgid "Shuffle"
|
||||
msgstr "اخلط"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "افتح في المتصفّح"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "شغل التالي"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "أضف إلى قائمة التّشغيل"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "الألبومات"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "فردي"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "أغاني"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "الفيديوهات"
|
||||
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
|
||||
"Last-Translator: Kheyyam <[email protected]>\n"
|
||||
"Language-Team: Azerbaijani <[email protected]>\n"
|
||||
@@ -37,20 +37,25 @@ msgstr "Başladın"
|
||||
msgid "Shuffle"
|
||||
msgstr "Qarışıq"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Sonrakını oxudun"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Mahnı siyahısına əlavə edin"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albomlar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Musiqilər"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Mahnılar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videolar"
|
||||
|
||||
+14
-9
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 09:09+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 10:31+0200\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
"Language: ca\n"
|
||||
@@ -40,20 +40,25 @@ msgstr "Reprodueix"
|
||||
msgid "Shuffle"
|
||||
msgstr "Barreja"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Obre en el navegador"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reprodueix el següent"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Afegeix a la llista de reproducció"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -62,22 +67,22 @@ msgstr ""
|
||||
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
|
||||
"«%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Àlbums"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Individuals"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Cançons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
|
||||
+16
-11
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 09:09+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 10:31+0200\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
"Language: ca@valencia\n"
|
||||
@@ -40,20 +40,25 @@ msgstr "Reproduïx"
|
||||
msgid "Shuffle"
|
||||
msgstr "Barreja"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Obri en el navegador"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduïx el següent"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Afig a la llista de reproducció"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -62,22 +67,22 @@ msgstr ""
|
||||
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
|
||||
"«%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Àlbums"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Individuals"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Cançons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -120,7 +125,7 @@ msgstr "Cançons reproduïdes"
|
||||
#: contents/ui/main.qml:39
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Enrere"
|
||||
msgstr "Arrere"
|
||||
|
||||
#: contents/ui/main.qml:73 contents/ui/SearchPage.qml:150
|
||||
#, kde-format
|
||||
@@ -191,4 +196,4 @@ msgstr "Ràdio"
|
||||
#: contents/ui/SearchPage.qml:147
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Busca a la Música de Youtube"
|
||||
msgstr "Busca en la Música de Youtube"
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-06-28 13:58+0200\n"
|
||||
"Last-Translator: Vit Pelcak <[email protected]>\n"
|
||||
"Language-Team: Czech <[email protected]>\n"
|
||||
@@ -37,20 +37,25 @@ msgstr "Přehrát"
|
||||
msgid "Shuffle"
|
||||
msgstr "Zamíchat"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Otevřít v prohlížeči"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Přehrát následující"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Přidat do seznamu skladeb"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,22 @@ msgstr ""
|
||||
"Přehrávání videa ještě není podporováno. Chcete z \"%1\" přehrávat pouze "
|
||||
"zvuk?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Alba"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Samotné"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Písně"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videa"
|
||||
|
||||
+13
-8
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-07-02 12:04+0200\n"
|
||||
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
|
||||
"Language-Team: German <[email protected]>\n"
|
||||
@@ -38,20 +38,25 @@ msgstr "Wiedergabe"
|
||||
msgid "Shuffle"
|
||||
msgstr "Zufällig"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Nächste Wiedergabe"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Zur Wiedergabeliste hinzufügen"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -60,22 +65,22 @@ msgstr ""
|
||||
"Die Video-Wiedergabe wird noch nicht unterstützt. Möchten Sie nur die "
|
||||
"Audiospur von „%1“ abspielen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Alben"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videos"
|
||||
|
||||
+26
-22
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-01-01 15:21+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-29 12:04+0100\n"
|
||||
"Last-Translator: Steve Allewell <[email protected]>\n"
|
||||
"Language-Team: British English <[email protected]>\n"
|
||||
"Language: en_GB\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 21.12.0\n"
|
||||
"X-Generator: Lokalize 22.08.0\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -37,20 +37,25 @@ msgstr "Play"
|
||||
msgid "Shuffle"
|
||||
msgstr "Shuffle"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Open in Browser"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Play Next"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Add to Playlist"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,22 @@ msgstr ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videos"
|
||||
@@ -92,32 +97,32 @@ msgstr "Cancel"
|
||||
#: contents/ui/LibraryPage.qml:27
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
msgstr "Favourites"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:37 contents/ui/LibraryPage.qml:108
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
msgstr "Show All"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:42
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
msgstr "Favourite Songs"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
msgstr "Most played"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
msgstr "Played Songs"
|
||||
|
||||
#: contents/ui/main.qml:39
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "Back"
|
||||
|
||||
#: contents/ui/main.qml:73 contents/ui/SearchPage.qml:150
|
||||
#, kde-format
|
||||
@@ -130,15 +135,14 @@ msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:92
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "No media playing"
|
||||
#, kde-format
|
||||
msgid "Now Playing"
|
||||
msgstr "No media playing"
|
||||
msgstr "Now Playing"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:117
|
||||
#, kde-format
|
||||
msgid "Queue"
|
||||
msgstr ""
|
||||
msgstr "Queue"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:222
|
||||
#, kde-format
|
||||
@@ -154,12 +158,12 @@ msgstr "No media playing"
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
msgstr ""
|
||||
msgstr "Unknown list of songs"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:25
|
||||
#, kde-format
|
||||
msgid "No songs here yet"
|
||||
msgstr ""
|
||||
msgstr "No songs here yet"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#, kde-format
|
||||
|
||||
+15
-10
@@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-27 12:34+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-30 04:36+0200\n"
|
||||
"Last-Translator: Eloy Cuadra <[email protected]>\n"
|
||||
"Language-Team: Spanish <[email protected]>\n"
|
||||
"Language: es\n"
|
||||
@@ -17,7 +17,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.04.1\n"
|
||||
"X-Generator: Lokalize 22.08.0\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -39,20 +39,25 @@ msgstr "Reproducir"
|
||||
msgid "Shuffle"
|
||||
msgstr "Desordenar"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Abrir en el navegador"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproducir siguiente"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Añadir a la lista de reproducción"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -61,22 +66,22 @@ msgstr ""
|
||||
"La reproducción de vídeo aún no está permitida. ¿Desea reproducir solo el "
|
||||
"sonido de «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbumes"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Sencillos"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Canciones"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
|
||||
+14
-9
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-07-18 22:37+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 07:27+0200\n"
|
||||
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
|
||||
"Language-Team: Basque <[email protected]>\n"
|
||||
"Language: eu\n"
|
||||
@@ -40,20 +40,25 @@ msgstr "Jo"
|
||||
msgid "Shuffle"
|
||||
msgstr "Nahastu"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Ireki arakatzailean"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Jo hurrengoa"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Gehitu jotze-zerrendara"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -62,22 +67,22 @@ msgstr ""
|
||||
"Oraindik ez dago bideoa atzera jotzeko euskarririk. «%1»(r)en audioa "
|
||||
"bakarrik jo nahi duzu?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumak"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Banakoa"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Abestiak"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Bideoak"
|
||||
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-06-13 19:11+0300\n"
|
||||
"Last-Translator: Tommi Nieminen <[email protected]>\n"
|
||||
"Language-Team: Finnish <[email protected]>\n"
|
||||
@@ -37,20 +37,25 @@ msgstr "Toista"
|
||||
msgid "Shuffle"
|
||||
msgstr "Sekoita"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Toista seuraava"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Lisää soittolistaan"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -58,22 +63,22 @@ msgid ""
|
||||
msgstr ""
|
||||
"Videotoistoa ei vielä tueta. Haluatko toistaa videosta ”%1” vain äänen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumit"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singlet"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Kappaleet"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videot"
|
||||
|
||||
+15
-10
@@ -3,8 +3,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-06-05 18:56+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-29 12:39+0200\n"
|
||||
"Last-Translator: Xavier Besnard <[email protected]>\n"
|
||||
"Language-Team: French <[email protected]>\n"
|
||||
"Language: fr\n"
|
||||
@@ -12,7 +12,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.04.1\n"
|
||||
"X-Generator: Lokalize 22.08.0\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -34,20 +34,25 @@ msgstr "Lire"
|
||||
msgid "Shuffle"
|
||||
msgstr "Mélanger"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Ouvrir dans un navigateur"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Lire le suivant"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Ajouter à la liste de lecture"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -56,22 +61,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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Titres uniques"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Chansons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vidéos"
|
||||
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
|
||||
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
|
||||
"Language-Team: kde-hindi\n"
|
||||
@@ -37,20 +37,25 @@ msgstr "बजाएँ"
|
||||
msgid "Shuffle"
|
||||
msgstr "फेंटें"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "अगला बजाएँ"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "गीत-सूची में जोड़ें"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -58,22 +63,22 @@ msgid ""
|
||||
msgstr ""
|
||||
"वीडियो चलाना अभी तक समर्थित नहीं है। क्या आप केवल \"%1\" का ध्वनी चलाना चाहते हैं?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "एल्बम्स"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "एक गीत"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "गीत"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "वीडियो"
|
||||
|
||||
+15
-10
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 14:13+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-29 15:18+0200\n"
|
||||
"Last-Translator: Vincenzo Reale <[email protected]>\n"
|
||||
"Language-Team: Italian <[email protected]>\n"
|
||||
"Language: it\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.04.1\n"
|
||||
"X-Generator: Lokalize 22.08.0\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -37,20 +37,25 @@ msgstr "Riproduci"
|
||||
msgid "Shuffle"
|
||||
msgstr "Mescola"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Apri nel browser"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Riproduci successivo"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Aggiungi alla scaletta"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,22 @@ msgstr ""
|
||||
"La riproduzione dei video non è ancora supportata. Vuoi riprodurre solo "
|
||||
"l'audio di «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singoli"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Brani"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Video"
|
||||
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-07-13 15:34+0200\n"
|
||||
"Last-Translator: Shinjo Park <[email protected]>\n"
|
||||
"Language-Team: Korean <[email protected]>\n"
|
||||
@@ -37,42 +37,47 @@ msgstr "재생"
|
||||
msgid "Shuffle"
|
||||
msgstr "무순서 재생"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "다음 재생"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "재생 목록에 추가"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "앨범"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "싱글"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "곡"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "비디오"
|
||||
|
||||
+15
-10
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 13:17+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 16:52+0200\n"
|
||||
"Last-Translator: Freek de Kruijf <[email protected]>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\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.04.1\n"
|
||||
"X-Generator: Lokalize 22.08.0\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -37,20 +37,25 @@ msgstr "Afspelen"
|
||||
msgid "Shuffle"
|
||||
msgstr "Willekeurig afspelen"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "In browser openen"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Volgende afspelen"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Aan afspeellijst toevoegen"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,22 @@ msgstr ""
|
||||
"Afspelen van video wordt nog niet ondersteund. Wilt u alleen het geluid van "
|
||||
"\"%1\" afspelen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Enkelvoudige"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Video's"
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
# Translation of audiotube to Norwegian Nynorsk
|
||||
#
|
||||
# Øystein Steffensen-Alværvik <[email protected]>, 2022.
|
||||
# Karl Ove Hufthammer <[email protected]>, 2022.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-11 19:45+0200\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
|
||||
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
|
||||
"Language: nn\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 22.08.1\n"
|
||||
"X-Environment: kde\n"
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Øystein Steffensen-Alværvik"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:19 contents/ui/PlaylistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Play"
|
||||
msgstr "Spel av"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:26 contents/ui/PlaylistPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Shuffle"
|
||||
msgstr "Stokk om"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Opna i nettlesar"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Spel som neste"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Legg til speleliste"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singelplater"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videoar"
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:21
|
||||
#, kde-format
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:27
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favorittar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:37 contents/ui/LibraryPage.qml:108
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Vis alle"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:42
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Favorittsongar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Oftast avspela"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Avspela songar"
|
||||
|
||||
#: contents/ui/main.qml:39
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Tilbake"
|
||||
|
||||
#: contents/ui/main.qml:73 contents/ui/SearchPage.qml:150
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: contents/ui/main.qml:85
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:92
|
||||
#, kde-format
|
||||
msgid "Now Playing"
|
||||
msgstr "Spelar no"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:117
|
||||
#, kde-format
|
||||
msgid "Queue"
|
||||
msgstr "Kø"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:222
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Fjern spor"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:242
|
||||
#: contents/ui/MinimizedPlayerControls.qml:96
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Inkje medium vert spela"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
msgstr "Ukjend songliste"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:25
|
||||
#, kde-format
|
||||
msgid "No songs here yet"
|
||||
msgstr "Ingen songar enno"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Spelelister"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjend"
|
||||
|
||||
#: contents/ui/SearchPage.qml:117
|
||||
#, kde-format
|
||||
msgid "Play next"
|
||||
msgstr "Spel som neste"
|
||||
|
||||
#: contents/ui/SearchPage.qml:129
|
||||
#, kde-format
|
||||
msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
#: contents/ui/SearchPage.qml:147
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Søk etter musikk på YouTube Music"
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+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"
|
||||
@@ -37,42 +37,47 @@ msgstr "ਚਲਾਓ"
|
||||
msgid "Shuffle"
|
||||
msgstr "ਰਲਵੇਂ"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "ਅਗਲਾ ਚਲਾਓ"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "ਐਲਬਮਾਂ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "ਇਕੱਲੇ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "ਗੀਤ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "ਵਿਡੀਓ"
|
||||
|
||||
+13
-8
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-06-26 20:24+0200\n"
|
||||
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
|
||||
"Language-Team: Polish <[email protected]>\n"
|
||||
@@ -39,20 +39,25 @@ msgstr "Odtwórz"
|
||||
msgid "Shuffle"
|
||||
msgstr "Wymieszaj"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Odtwórz następny"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Dodaj do listy odtwarzania"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -61,22 +66,22 @@ msgstr ""
|
||||
"Odtwarzanie wideo nie jest jeszcze obsługiwane. Czy odtworzyć tylko dźwięk z "
|
||||
"„%1”?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumy"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Single"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Piosenki"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Filmy"
|
||||
|
||||
+13
-8
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-06-03 17:36+0100\n"
|
||||
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
|
||||
"Language-Team: Portuguese <[email protected]>\n"
|
||||
@@ -39,20 +39,25 @@ msgstr "Reproduzir"
|
||||
msgid "Shuffle"
|
||||
msgstr "Baralhar"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Abrir no Navegador"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduzir o Seguinte"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Adicionar à Lista de Reprodução"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -61,22 +66,22 @@ msgstr ""
|
||||
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
|
||||
"áudio de \"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbuns"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "'Singles'"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Músicas"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
|
||||
+13
-8
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-07-13 14:59-0300\n"
|
||||
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
|
||||
"Language-Team: Portuguese <[email protected]>\n"
|
||||
@@ -38,20 +38,25 @@ msgstr "Reproduzir"
|
||||
msgid "Shuffle"
|
||||
msgstr "Embaralhar"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduzir próxima"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Adicionar à lista de reprodução"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -60,22 +65,22 @@ msgstr ""
|
||||
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
|
||||
"áudio de \"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbuns"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Músicas"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
|
||||
+13
-8
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-05-10 21:39+0300\n"
|
||||
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
@@ -38,42 +38,47 @@ msgstr "Воспроизвести"
|
||||
msgid "Shuffle"
|
||||
msgstr "Перемешать"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Воспроизвести следующий"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Альбомы"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Видеозаписи"
|
||||
|
||||
+13
-8
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+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"
|
||||
@@ -35,43 +35,48 @@ msgstr "Prehrať"
|
||||
msgid "Shuffle"
|
||||
msgstr "Zamiešať"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play"
|
||||
msgid "Play Next"
|
||||
msgstr "Prehrať"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumy"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Samotné"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videá"
|
||||
|
||||
+15
-10
@@ -6,15 +6,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-27 07:50+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-03 08:19+0200\n"
|
||||
"Last-Translator: Matjaž Jeran <[email protected]>\n"
|
||||
"Language-Team: Slovenian <[email protected]>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 21.12.2\n"
|
||||
"X-Generator: Lokalize 22.04.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
|
||||
"%100==4 ? 3 : 0);\n"
|
||||
|
||||
@@ -38,42 +38,47 @@ msgstr "Predvajaj"
|
||||
msgid "Shuffle"
|
||||
msgstr "Premešaj"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Odpri v brskalniku"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Predvajaj naslednjo"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Dodaj v seznam predvajanja"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumi"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singli"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Glasba"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videposnetki"
|
||||
|
||||
+14
-9
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 10:40+0200\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-24 14:57+0200\n"
|
||||
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
|
||||
"Language-Team: Swedish <[email protected]>\n"
|
||||
"Language: sv\n"
|
||||
@@ -37,42 +37,47 @@ msgstr "Spela"
|
||||
msgid "Shuffle"
|
||||
msgstr "Blanda"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Öppna i webbläsare"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Spela nästa"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Lägg till i spellista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Singlar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Låtar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videor"
|
||||
|
||||
+15
-10
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 10:29+0300\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 05:01+0300\n"
|
||||
"Last-Translator: Emir SARI <[email protected]>\n"
|
||||
"Language-Team: Turkish <[email protected]>\n"
|
||||
"Language: tr\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.04.0\n"
|
||||
"X-Generator: Lokalize 22.04.3\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -37,20 +37,25 @@ msgstr "Çal"
|
||||
msgid "Shuffle"
|
||||
msgstr "Karıştır"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Tarayıcıda Aç"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Sonrakini Çal"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Çalma Listesine Ekle"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -59,22 +64,22 @@ msgstr ""
|
||||
"Video oynatımı henüz desteklenmiyor. \"%1\" videosunun yalnızca sesinin "
|
||||
"çalınmasını ister misiniz?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albümler"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Tekliler"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Şarkılar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videolar"
|
||||
|
||||
+14
-9
@@ -6,8 +6,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-05-26 08:15+0300\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-08-27 09:13+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
|
||||
"Language-Team: Ukrainian <[email protected]>\n"
|
||||
"Language: uk\n"
|
||||
@@ -38,20 +38,25 @@ msgstr "Відтворити"
|
||||
msgid "Shuffle"
|
||||
msgstr "Перемішати"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Відкрити у переглядачі"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Відтворити наступну"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "Додати до списку відтворення"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -60,22 +65,22 @@ msgstr ""
|
||||
"Підтримки відтворення відео ще не передбачено. Хочете, щоб було відтворено "
|
||||
"лише звукову частину «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Альбоми"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "Одинарні"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Пісні"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Відео"
|
||||
|
||||
+24
-19
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"PO-Revision-Date: 2022-07-16 05:20\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-09-20 01:57\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -37,42 +37,47 @@ msgstr "播放"
|
||||
msgid "Shuffle"
|
||||
msgstr "随机播放"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "在浏览器中打开"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "播放下一首"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr "添加到播放列表"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, 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:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "专辑"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr "单曲"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "曲目"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "视频"
|
||||
@@ -90,32 +95,32 @@ msgstr "取消"
|
||||
#: contents/ui/LibraryPage.qml:27
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
msgstr "收藏夹"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:37 contents/ui/LibraryPage.qml:108
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
msgstr "显示全部"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:42
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
msgstr "收藏的歌曲"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:98
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
msgstr "最常播放"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:113
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
msgstr "已播放歌曲"
|
||||
|
||||
#: contents/ui/main.qml:39
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
msgstr "返回"
|
||||
|
||||
#: contents/ui/main.qml:73 contents/ui/SearchPage.qml:150
|
||||
#, kde-format
|
||||
@@ -130,12 +135,12 @@ msgstr "AudioTube"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:92
|
||||
#, kde-format
|
||||
msgid "Now Playing"
|
||||
msgstr ""
|
||||
msgstr "正在播放"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:117
|
||||
#, kde-format
|
||||
msgid "Queue"
|
||||
msgstr ""
|
||||
msgstr "播放队列"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:222
|
||||
#, kde-format
|
||||
@@ -151,12 +156,12 @@ msgstr "没有正在播放的媒体"
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
msgstr ""
|
||||
msgstr "未知歌曲列表"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:25
|
||||
#, kde-format
|
||||
msgid "No songs here yet"
|
||||
msgstr ""
|
||||
msgstr "此处无歌曲"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#, kde-format
|
||||
|
||||
+13
-8
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-07-12 00:48+0000\n"
|
||||
"POT-Creation-Date: 2022-08-27 00:50+0000\n"
|
||||
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -38,42 +38,47 @@ msgstr ""
|
||||
msgid "Shuffle"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:68 contents/ui/ArtistPage.qml:101
|
||||
#: contents/ui/AlbumPage.qml:35 contents/ui/ArtistPage.qml:19
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:109
|
||||
#: contents/ui/PlaybackHistory.qml:74 contents/ui/PlaylistPage.qml:67
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:73 contents/ui/ArtistPage.qml:107
|
||||
#: contents/ui/AlbumPage.qml:82 contents/ui/ArtistPage.qml:115
|
||||
#: contents/ui/PlaybackHistory.qml:79 contents/ui/PlaylistPage.qml:72
|
||||
#: contents/ui/SearchPage.qml:123
|
||||
#, kde-format
|
||||
msgid "Add to Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:39 contents/ui/SearchPage.qml:67
|
||||
#: contents/ui/ArtistPage.qml:47 contents/ui/SearchPage.qml:67
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:55 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:63 contents/ui/SearchPage.qml:25
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:57
|
||||
#: contents/ui/ArtistPage.qml:65
|
||||
#, kde-format
|
||||
msgid "Singles"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:59 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:67 contents/ui/SearchPage.qml:31
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:61 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:69 contents/ui/SearchPage.qml:33
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr ""
|
||||
|
||||
@@ -19,7 +19,6 @@ target_include_directories(asyncdatabase PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(asyncdatabase PUBLIC Qt5::Sql)
|
||||
|
||||
add_subdirectory(example)
|
||||
add_subdirectory(mpris2)
|
||||
|
||||
add_executable(audiotube
|
||||
main.cpp
|
||||
@@ -51,7 +50,6 @@ target_link_libraries(audiotube
|
||||
KF5::Crash
|
||||
ytm
|
||||
asyncdatabase
|
||||
mpris2
|
||||
)
|
||||
|
||||
target_compile_definitions(audiotube PRIVATE -DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
|
||||
|
||||
+6
-1
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "albummodel.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QStringBuilder>
|
||||
|
||||
AlbumModel::AlbumModel(QObject *parent)
|
||||
: AbstractYTMusicModel(parent)
|
||||
@@ -90,3 +90,8 @@ QString AlbumModel::playlistId() const
|
||||
{
|
||||
return QString::fromStdString(m_album.audio_playlist_id);
|
||||
}
|
||||
|
||||
QUrl AlbumModel::webUrl() const
|
||||
{
|
||||
return QUrl(YTMUSIC_WEB_BASE_URL % "/playlist?list=" % QString::fromStdString(m_album.audio_playlist_id));
|
||||
}
|
||||
@@ -18,6 +18,7 @@ class AlbumModel : public AbstractYTMusicModel
|
||||
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
|
||||
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
|
||||
Q_PROPERTY(QString playlistId READ playlistId NOTIFY playlistIdChanged)
|
||||
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY webUrlChanged)
|
||||
|
||||
public:
|
||||
enum Role {
|
||||
@@ -45,6 +46,9 @@ public:
|
||||
QString playlistId() const;
|
||||
Q_SIGNAL void playlistIdChanged();
|
||||
|
||||
QUrl webUrl() const;
|
||||
Q_SIGNAL void webUrlChanged();
|
||||
|
||||
private:
|
||||
QString m_browseId;
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "artistmodel.h"
|
||||
|
||||
#include <QStringBuilder>
|
||||
|
||||
#include <asyncytmusic.h>
|
||||
|
||||
ArtistModel::ArtistModel(QObject *parent)
|
||||
@@ -145,6 +147,11 @@ QUrl ArtistModel::thumbnailUrl() const
|
||||
return QUrl(QString::fromStdString(m_artist.thumbnails.back().url));
|
||||
}
|
||||
|
||||
QUrl ArtistModel::webUrl() const
|
||||
{
|
||||
return QUrl(YTMUSIC_WEB_BASE_URL % u"channel/" % QString::fromStdString(m_artist.channel_id));
|
||||
}
|
||||
|
||||
void ArtistModel::triggerItem(int row)
|
||||
{
|
||||
std::visit([&](auto&& item) {
|
||||
|
||||
@@ -23,6 +23,7 @@ class ArtistModel : public AbstractYTMusicModel
|
||||
|
||||
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
|
||||
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
|
||||
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY webUrlChanged)
|
||||
|
||||
public:
|
||||
enum Type {
|
||||
@@ -56,6 +57,9 @@ public:
|
||||
QUrl thumbnailUrl() const;
|
||||
Q_SIGNAL void thumbnailUrlChanged();
|
||||
|
||||
QUrl webUrl() const;
|
||||
Q_SIGNAL void webUrlChanged();
|
||||
|
||||
Q_INVOKABLE void triggerItem(int row);
|
||||
|
||||
Q_SIGNAL void openAlbum(const QString &browseId);
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
|
||||
#include <ytmusic.h>
|
||||
|
||||
constexpr QStringView YTMUSIC_WEB_BASE_URL = u"https://music.youtube.com/";
|
||||
|
||||
Q_DECLARE_METATYPE(std::vector<artist::Artist::Album>);
|
||||
Q_DECLARE_METATYPE(std::vector<search::SearchResultItem>)
|
||||
Q_DECLARE_METATYPE(artist::Artist)
|
||||
@@ -59,12 +61,14 @@ void connectFuture(const QFuture<T> &future, QObjectDerivedType *self, const Fun
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,15 @@ Kirigami.ScrollablePage {
|
||||
}
|
||||
}
|
||||
|
||||
contextualActions: [
|
||||
Kirigami.Action {
|
||||
text: i18n("Open in Browser")
|
||||
icon.name: "internet-services"
|
||||
onTriggered: Qt.openUrlExternally(albumModel.webUrl)
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
ListView {
|
||||
header: Kirigami.ItemViewHeader {
|
||||
backgroundImage.source: albumModel.thumbnailUrl
|
||||
|
||||
@@ -14,6 +14,14 @@ Kirigami.ScrollablePage {
|
||||
|
||||
title: artistModel.title
|
||||
|
||||
contextualActions: [
|
||||
Kirigami.Action {
|
||||
text: i18n("Open in Browser")
|
||||
icon.name: "internet-services"
|
||||
onTriggered: Qt.openUrlExternally(artistModel.webUrl)
|
||||
}
|
||||
]
|
||||
|
||||
ListView {
|
||||
header: Kirigami.ItemViewHeader {
|
||||
backgroundImage.source: artistModel.thumbnailUrl
|
||||
|
||||
@@ -98,17 +98,7 @@ Flickable {
|
||||
videoId: UserPlaylistModel.currentVideoId
|
||||
onTitleChanged: Library.addPlaybackHistoryItem(info.videoId, info.title)
|
||||
}
|
||||
|
||||
MprisPlayer {
|
||||
id: mpris
|
||||
|
||||
trackTitle: info.title
|
||||
album: "Test Album"
|
||||
playbackState: MprisPlayer.PlaybackRunning
|
||||
playerName: "AudioTube"
|
||||
trackDuration: audio.duration
|
||||
}
|
||||
|
||||
|
||||
property var audioPlayer: Audio {
|
||||
id: audio
|
||||
|
||||
|
||||
+1
-1
@@ -40,7 +40,7 @@ Library &Library::instance()
|
||||
|
||||
FavouritesModel *Library::favourites()
|
||||
{
|
||||
auto future = m_database->getResults<Song>("select * from favourites natural join songs");
|
||||
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
|
||||
return new FavouritesModel(std::move(future), this);
|
||||
}
|
||||
|
||||
|
||||
+1
-4
@@ -11,8 +11,6 @@
|
||||
#include <KCrash>
|
||||
#include <KAboutData>
|
||||
|
||||
#include "declarativemprisplayer.h"
|
||||
#include "mpris2.h"
|
||||
#include "searchmodel.h"
|
||||
#include "albummodel.h"
|
||||
#include "videoinfoextractor.h"
|
||||
@@ -23,7 +21,7 @@
|
||||
#include "playerutils.h"
|
||||
#include "library.h"
|
||||
|
||||
#include <mediaplayer2.h>
|
||||
#include "asyncdatabase.h"
|
||||
|
||||
constexpr auto URI = "org.kde.ytmusic";
|
||||
|
||||
@@ -47,7 +45,6 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
qmlRegisterType<VideoInfoExtractor>(URI, 1, 0, "VideoInfoExtractor");
|
||||
qmlRegisterType<ArtistModel>(URI, 1, 0, "ArtistModel");
|
||||
qmlRegisterType<PlaylistModel>(URI, 1, 0, "PlaylistModel");
|
||||
qmlRegisterType<DeclarativeMprisPlayer>(URI, 1, 0, "MprisPlayer");
|
||||
qmlRegisterSingletonType<UserPlaylistModel>(URI, 1, 0, "UserPlaylistModel", [](QQmlEngine *, QJSEngine *) {
|
||||
return new UserPlaylistModel();
|
||||
});
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
|
||||
add_library(mpris2 STATIC
|
||||
mediaplayer2.cpp
|
||||
mediaplayer2.h
|
||||
mediaplayer2player.cpp
|
||||
mediaplayer2player.h
|
||||
mpris2.cpp
|
||||
mpris2.h
|
||||
declarativemprisplayer.cpp
|
||||
declarativemprisplayer.h
|
||||
)
|
||||
|
||||
target_link_libraries(mpris2 PUBLIC Qt::Core Qt::Gui Qt::DBus KF5::CoreAddons)
|
||||
@@ -1,61 +0,0 @@
|
||||
#include "declarativemprisplayer.h"
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
DeclarativeMprisPlayer::DeclarativeMprisPlayer()
|
||||
{
|
||||
QTimer::singleShot(0, [this]() {
|
||||
connect(m_mpris.player(), &MediaPlayer2Player::play, this, &DeclarativeMprisPlayer::play);
|
||||
connect(m_mpris.player(), &MediaPlayer2Player::playPause, this, &DeclarativeMprisPlayer::playPause);
|
||||
connect(m_mpris.player(), &MediaPlayer2Player::Stop, this, &DeclarativeMprisPlayer::stop);
|
||||
});
|
||||
}
|
||||
|
||||
QString DeclarativeMprisPlayer::playerName() const {
|
||||
return m_mpris.playerName();
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setPlayerName(const QString &name) {
|
||||
m_mpris.setPlayerName(name);
|
||||
Q_EMIT playerNameChanged();
|
||||
}
|
||||
|
||||
DeclarativeMprisPlayer::PlaybackState DeclarativeMprisPlayer::playbackState() {
|
||||
return PlaybackState(m_mpris.player()->playbackState());
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setPlaybackState(PlaybackState state) {
|
||||
m_mpris.player()->setPlaybackState(MediaPlayer2Player::PlaybackState(state));
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setAlbum(const QString &album) {
|
||||
m_mpris.player()->setCurrentTrackAlbum(album);
|
||||
}
|
||||
|
||||
QString DeclarativeMprisPlayer::album() const {
|
||||
return m_mpris.player()->currentTrackAlbum();
|
||||
}
|
||||
|
||||
QUrl DeclarativeMprisPlayer::albumArt() const {
|
||||
return m_mpris.player()->currentTrackCoverArt();
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setAlbumArt(const QUrl &url) {
|
||||
m_mpris.player()->setCurrentTrackCoverArt(url);
|
||||
}
|
||||
|
||||
QString DeclarativeMprisPlayer::trackTitle() const
|
||||
{
|
||||
return m_mpris.player()->currentTrackTitle();
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setTrackTitle(const QString &title)
|
||||
{
|
||||
m_mpris.player()->setCurrentTrackTitle(title);
|
||||
}
|
||||
|
||||
void DeclarativeMprisPlayer::setTrackDuration(qlonglong trackDuration)
|
||||
{
|
||||
return m_mpris.player()->setDuration(trackDuration);
|
||||
}
|
||||
qlonglong DeclarativeMprisPlayer::trackDuration() const { return 0; }
|
||||
@@ -1,66 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
|
||||
#include "mediaplayer2player.h"
|
||||
#include "mpris2.h"
|
||||
|
||||
|
||||
class DeclarativeMprisPlayer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QString playerName READ playerName WRITE setPlayerName NOTIFY playerNameChanged)
|
||||
Q_PROPERTY(PlaybackState playbackState READ playbackState WRITE setPlaybackState NOTIFY playbackStateChanged)
|
||||
Q_PROPERTY(QString album READ album WRITE setAlbum NOTIFY albumChanged)
|
||||
Q_PROPERTY(QUrl albumArt READ albumArt WRITE setAlbumArt NOTIFY albumArtChanged)
|
||||
Q_PROPERTY(QString trackTitle READ trackTitle WRITE setTrackTitle NOTIFY trackTitleChanged);
|
||||
Q_PROPERTY(qlonglong trackDuration READ trackDuration WRITE setTrackDuration NOTIFY trackDurationChanged);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
enum PlaybackState {
|
||||
PlaybackStopped = MediaPlayer2Player::PlaybackStopped,
|
||||
PlaybackRunning = MediaPlayer2Player::PlaybackRunning,
|
||||
PlaybackPaused = MediaPlayer2Player::PlaybackPaused
|
||||
};
|
||||
Q_ENUM(PlaybackState)
|
||||
|
||||
DeclarativeMprisPlayer();
|
||||
|
||||
QString playerName() const;
|
||||
void setPlayerName(const QString &name);
|
||||
Q_SIGNAL void playerNameChanged();
|
||||
|
||||
PlaybackState playbackState();
|
||||
void setPlaybackState(PlaybackState state);
|
||||
Q_SIGNAL void playbackStateChanged();
|
||||
|
||||
void setAlbum(const QString &album);
|
||||
QString album() const;
|
||||
Q_SIGNAL void albumChanged();
|
||||
|
||||
QUrl albumArt() const;
|
||||
void setAlbumArt(const QUrl &url);
|
||||
Q_SIGNAL void albumArtChanged();
|
||||
|
||||
QString trackTitle() const;
|
||||
void setTrackTitle(const QString &title);
|
||||
Q_SIGNAL void trackTitleChanged();
|
||||
|
||||
qlonglong trackDuration() const;
|
||||
void setTrackDuration(qlonglong trackDuration);
|
||||
Q_SIGNAL void trackDurationChanged();
|
||||
|
||||
Q_SIGNAL void changeVolume();
|
||||
Q_SIGNAL void play();
|
||||
Q_SIGNAL void playPause();
|
||||
Q_SIGNAL void stop();
|
||||
Q_SIGNAL void goPrevious();
|
||||
Q_SIGNAL void goNext();
|
||||
|
||||
private:
|
||||
Mpris2 m_mpris;
|
||||
};
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "mediaplayer2.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
|
||||
#include <KAboutData>
|
||||
|
||||
MediaPlayer2::MediaPlayer2(QObject* parent)
|
||||
: QDBusAbstractAdaptor(parent)
|
||||
{
|
||||
}
|
||||
|
||||
MediaPlayer2::~MediaPlayer2()
|
||||
= default;
|
||||
|
||||
bool MediaPlayer2::CanQuit() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MediaPlayer2::CanRaise() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
bool MediaPlayer2::HasTrackList() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void MediaPlayer2::Quit()
|
||||
{
|
||||
QCoreApplication::quit();
|
||||
}
|
||||
|
||||
void MediaPlayer2::Raise()
|
||||
{
|
||||
Q_EMIT raisePlayer();
|
||||
}
|
||||
|
||||
QString MediaPlayer2::Identity() const
|
||||
{
|
||||
return KAboutData::applicationData().displayName();
|
||||
}
|
||||
|
||||
QString MediaPlayer2::DesktopEntry() const
|
||||
{
|
||||
return KAboutData::applicationData().desktopFileName();
|
||||
}
|
||||
|
||||
QStringList MediaPlayer2::SupportedUriSchemes() const
|
||||
{
|
||||
return QStringList() << QStringLiteral("file");
|
||||
}
|
||||
|
||||
QStringList MediaPlayer2::SupportedMimeTypes() const
|
||||
{
|
||||
// KService::Ptr app = KService::serviceByDesktopName(KCmdLineArgs::aboutData()->appName());
|
||||
|
||||
// if (app) {
|
||||
// return app->mimeTypes();
|
||||
// }
|
||||
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
#include "moc_mediaplayer2.cpp"
|
||||
@@ -1,51 +0,0 @@
|
||||
/***************************************************************************
|
||||
SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
***************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QDBusAbstractAdaptor>
|
||||
#include <QStringList>
|
||||
|
||||
|
||||
class MediaPlayer2 : public QDBusAbstractAdaptor
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2") // Docs: https://specifications.freedesktop.org/mpris-spec/latest/Media_Player.html
|
||||
|
||||
Q_PROPERTY(bool CanQuit READ CanQuit CONSTANT)
|
||||
Q_PROPERTY(bool CanRaise READ CanRaise CONSTANT)
|
||||
Q_PROPERTY(bool HasTrackList READ HasTrackList CONSTANT)
|
||||
|
||||
Q_PROPERTY(QString Identity READ Identity CONSTANT)
|
||||
Q_PROPERTY(QString DesktopEntry READ DesktopEntry CONSTANT)
|
||||
|
||||
Q_PROPERTY(QStringList SupportedUriSchemes READ SupportedUriSchemes CONSTANT)
|
||||
Q_PROPERTY(QStringList SupportedMimeTypes READ SupportedMimeTypes CONSTANT)
|
||||
|
||||
public:
|
||||
explicit MediaPlayer2(QObject* parent = nullptr);
|
||||
~MediaPlayer2() override;
|
||||
|
||||
[[nodiscard]] bool CanQuit() const;
|
||||
[[nodiscard]] bool CanRaise() const;
|
||||
[[nodiscard]] bool HasTrackList() const;
|
||||
|
||||
[[nodiscard]] QString Identity() const;
|
||||
[[nodiscard]] QString DesktopEntry() const;
|
||||
|
||||
[[nodiscard]] QStringList SupportedUriSchemes() const;
|
||||
[[nodiscard]] QStringList SupportedMimeTypes() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void Quit();
|
||||
void Raise();
|
||||
|
||||
Q_SIGNALS:
|
||||
void raisePlayer();
|
||||
|
||||
};
|
||||
@@ -1,383 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2022 (c) Jonah Brüchert <[email protected]>
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "mediaplayer2player.h"
|
||||
|
||||
#include <QStringList>
|
||||
#include <QStringBuilder>
|
||||
#include <QDBusConnection>
|
||||
#include <QMetaClassInfo>
|
||||
|
||||
#include <QImage>
|
||||
#include <QBuffer>
|
||||
|
||||
|
||||
constexpr double MAX_RATE = 1.0;
|
||||
constexpr const double MIN_RATE = 1.0;
|
||||
|
||||
MediaPlayer2Player::MediaPlayer2Player(QObject* parent)
|
||||
: QDBusAbstractAdaptor(parent)
|
||||
{
|
||||
m_volume = 0; // TODO
|
||||
m_canPlay = true; // TODO
|
||||
signalPropertiesChange(QStringLiteral("Volume"), Volume());
|
||||
|
||||
m_mediaPlayerPresent = 1;
|
||||
}
|
||||
|
||||
MediaPlayer2Player::~MediaPlayer2Player() = default;
|
||||
|
||||
QString MediaPlayer2Player::PlaybackStatus() const
|
||||
{
|
||||
switch (m_playbackState) {
|
||||
case PlaybackStopped:
|
||||
return QStringLiteral("Stopped");
|
||||
case PlaybackRunning:
|
||||
return QStringLiteral("Playing");
|
||||
case PlaybackPaused:
|
||||
return QStringLiteral("Paused");
|
||||
}
|
||||
|
||||
Q_UNREACHABLE();
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanGoNext() const
|
||||
{
|
||||
return m_canGoNext;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Next()
|
||||
{
|
||||
Q_EMIT next();
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanGoPrevious() const
|
||||
{
|
||||
return m_canGoPrevious;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Previous()
|
||||
{
|
||||
Q_EMIT previous();
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanPause() const
|
||||
{
|
||||
return m_canPlay;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Pause()
|
||||
{
|
||||
Q_EMIT pause();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::PlayPause()
|
||||
{
|
||||
Q_EMIT playPause();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Stop()
|
||||
{
|
||||
Q_EMIT stop();
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanPlay() const
|
||||
{
|
||||
return m_canPlay;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Play()
|
||||
{
|
||||
Q_EMIT play();
|
||||
}
|
||||
|
||||
double MediaPlayer2Player::Volume() const
|
||||
{
|
||||
return m_volume;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setVolume(double volume)
|
||||
{
|
||||
m_volume = qBound(0.0, volume, 1.0);
|
||||
Q_EMIT volumeChanged(m_volume);
|
||||
|
||||
signalPropertiesChange(QStringLiteral("Volume"), Volume());
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setPropertyPosition(int newPositionInMs)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
QVariantMap MediaPlayer2Player::Metadata() const
|
||||
{
|
||||
return m_metadata;
|
||||
}
|
||||
|
||||
qlonglong MediaPlayer2Player::Position() const
|
||||
{
|
||||
return m_position;
|
||||
}
|
||||
|
||||
double MediaPlayer2Player::Rate() const
|
||||
{
|
||||
return m_rate;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setRate(double newRate)
|
||||
{
|
||||
if (newRate <= 0.0001 && newRate >= -0.0001) {
|
||||
Pause();
|
||||
} else {
|
||||
m_rate = qBound(MinimumRate(), newRate, MaximumRate());
|
||||
Q_EMIT rateChanged(m_rate);
|
||||
|
||||
signalPropertiesChange(QStringLiteral("Rate"), Rate());
|
||||
}
|
||||
}
|
||||
|
||||
double MediaPlayer2Player::MinimumRate() const
|
||||
{
|
||||
return MIN_RATE;
|
||||
}
|
||||
|
||||
double MediaPlayer2Player::MaximumRate() const
|
||||
{
|
||||
return MAX_RATE;
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanSeek() const
|
||||
{
|
||||
return m_playerIsSeekableChanged;
|
||||
}
|
||||
|
||||
bool MediaPlayer2Player::CanControl() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::Seek(qlonglong Offset)
|
||||
{
|
||||
Q_EMIT seek(Offset);
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::SetPosition(const QDBusObjectPath &trackId, qlonglong pos)
|
||||
{
|
||||
Q_EMIT positionRequested(pos);
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::OpenUri(const QString &uri)
|
||||
{
|
||||
Q_UNUSED(uri);
|
||||
}
|
||||
|
||||
//void MediaPlayer2Player::playerSourceChanged()
|
||||
//{
|
||||
// setCurrentTrack(m_manageAudioPlayer->playListPosition());
|
||||
//}
|
||||
|
||||
void MediaPlayer2Player::playControlEnabledChanged()
|
||||
{
|
||||
signalPropertiesChange(QStringLiteral("CanPause"), CanPause());
|
||||
signalPropertiesChange(QStringLiteral("CanPlay"), CanPlay());
|
||||
|
||||
Q_EMIT canPauseChanged();
|
||||
Q_EMIT canPlayChanged();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::skipBackwardControlEnabledChanged()
|
||||
{
|
||||
signalPropertiesChange(QStringLiteral("CanGoPrevious"), CanGoPrevious());
|
||||
Q_EMIT canGoPreviousChanged();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::skipForwardControlEnabledChanged()
|
||||
{
|
||||
signalPropertiesChange(QStringLiteral("CanGoNext"), CanGoNext());
|
||||
Q_EMIT canGoNextChanged();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::playerPlaybackStateChanged()
|
||||
{
|
||||
signalPropertiesChange(QStringLiteral("PlaybackStatus"), PlaybackStatus());
|
||||
Q_EMIT playbackStatusChanged();
|
||||
|
||||
playerIsSeekableChanged();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::playerIsSeekableChanged()
|
||||
{
|
||||
signalPropertiesChange(QStringLiteral("CanSeek"), CanSeek());
|
||||
Q_EMIT canSeekChanged();
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::audioPositionChanged()
|
||||
{
|
||||
setPropertyPosition(m_position);
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::playerSeeked(qint64 position)
|
||||
{
|
||||
Q_EMIT Seeked(position * 1000);
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::audioDurationChanged()
|
||||
{
|
||||
m_metadata = getMetadataOfCurrentTrack();
|
||||
signalPropertiesChange(QStringLiteral("Metadata"), Metadata());
|
||||
|
||||
skipBackwardControlEnabledChanged();
|
||||
skipForwardControlEnabledChanged();
|
||||
playerPlaybackStateChanged();
|
||||
playerIsSeekableChanged();
|
||||
setPropertyPosition(m_position);
|
||||
}
|
||||
|
||||
QVariantMap MediaPlayer2Player::getMetadataOfCurrentTrack()
|
||||
{
|
||||
auto result = QVariantMap();
|
||||
|
||||
if (m_currentTrackId.isEmpty()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
result[QStringLiteral("mpris:trackid")] = QVariant::fromValue<QDBusObjectPath>(QDBusObjectPath(m_currentTrackId));
|
||||
result[QStringLiteral("mpris:length")] = m_duration * 1000;
|
||||
//convert milli-seconds into micro-seconds
|
||||
result[QStringLiteral("xesam:title")] = m_currentTrackTitle;
|
||||
result[QStringLiteral("xesam:url")] = m_currentTrackUrl;
|
||||
result[QStringLiteral("xesam:album")] = m_currentTrackAlbum;
|
||||
result[QStringLiteral("xesam:artist")] = m_currentTrackArtist;
|
||||
result[QStringLiteral("mpris:artUrl")] = m_coverArtUrl;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int MediaPlayer2Player::mediaPlayerPresent() const
|
||||
{
|
||||
return m_mediaPlayerPresent;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setDuration(qlonglong duration) {
|
||||
m_duration = duration;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setPlaybackState(PlaybackState newState)
|
||||
{
|
||||
m_playbackState = newState;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackTitle(const QString &title)
|
||||
{
|
||||
m_currentTrackTitle = title;
|
||||
}
|
||||
|
||||
QString MediaPlayer2Player::currentTrackTitle() const
|
||||
{
|
||||
return m_currentTrackTitle;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackUrl(const QUrl &url)
|
||||
{
|
||||
m_currentTrackUrl = url;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackAlbum(const QString &album)
|
||||
{
|
||||
m_currentTrackAlbum = album;
|
||||
}
|
||||
|
||||
QString MediaPlayer2Player::currentTrackAlbum() const
|
||||
{
|
||||
return m_currentTrackAlbum;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackArtist(const QString &artist)
|
||||
{
|
||||
m_currentTrackArtist = artist;
|
||||
}
|
||||
|
||||
QString MediaPlayer2Player::currentTrackArtist() const
|
||||
{
|
||||
return m_currentTrackArtist;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackCoverArt(const QUrl &url)
|
||||
{
|
||||
m_coverArtUrl = url;
|
||||
}
|
||||
|
||||
QUrl MediaPlayer2Player::currentTrackCoverArt() const
|
||||
{
|
||||
return m_coverArtUrl;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCurrentTrackCoverArt(const QImage &image)
|
||||
{
|
||||
QByteArray data;
|
||||
QBuffer buffer(&data);
|
||||
image.save(&buffer);
|
||||
m_coverArtUrl = QUrl(QString("data:image/png;base64," % data));
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setCanGoPrevious(bool value)
|
||||
{
|
||||
m_canGoPrevious = value;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::canGoForward(bool value)
|
||||
{
|
||||
m_canGoNext = value;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::canPause(bool value)
|
||||
{
|
||||
m_canPause = value;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::canPlay(bool value)
|
||||
{
|
||||
m_canPlay = value;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setPosition(qlonglong position) {
|
||||
m_position = position;
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::setMediaPlayerPresent(int status)
|
||||
{
|
||||
if (m_mediaPlayerPresent != status) {
|
||||
m_mediaPlayerPresent = status;
|
||||
Q_EMIT mediaPlayerPresentChanged();
|
||||
|
||||
signalPropertiesChange(QStringLiteral("CanGoNext"), CanGoNext());
|
||||
signalPropertiesChange(QStringLiteral("CanGoPrevious"), CanGoPrevious());
|
||||
signalPropertiesChange(QStringLiteral("CanPause"), CanPause());
|
||||
signalPropertiesChange(QStringLiteral("CanPlay"), CanPlay());
|
||||
Q_EMIT canGoNextChanged();
|
||||
Q_EMIT canGoPreviousChanged();
|
||||
Q_EMIT canPauseChanged();
|
||||
Q_EMIT canPlayChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void MediaPlayer2Player::signalPropertiesChange(const QString &property, const QVariant &value)
|
||||
{
|
||||
QVariantMap properties;
|
||||
properties[property] = value;
|
||||
const int ifaceIndex = metaObject()->indexOfClassInfo("D-Bus Interface");
|
||||
QDBusMessage msg = QDBusMessage::createSignal(QStringLiteral("/org/mpris/MediaPlayer2"),
|
||||
QStringLiteral("org.freedesktop.DBus.Properties"), QStringLiteral("PropertiesChanged"));
|
||||
|
||||
msg << QLatin1String(metaObject()->classInfo(ifaceIndex).value());
|
||||
msg << properties;
|
||||
msg << QStringList();
|
||||
|
||||
QDBusConnection::sessionBus().send(msg);
|
||||
}
|
||||
|
||||
#include "moc_mediaplayer2player.cpp"
|
||||
@@ -1,244 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2022 (c) Jonah Brüchert <[email protected]>
|
||||
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QDBusAbstractAdaptor>
|
||||
#include <QDBusObjectPath>
|
||||
#include <QDBusMessage>
|
||||
#include <QUrl>
|
||||
|
||||
class MediaPlayListProxyModel;
|
||||
class ManageAudioPlayer;
|
||||
class ManageMediaPlayerControl;
|
||||
class ManageHeaderBar;
|
||||
class AudioWrapper;
|
||||
|
||||
class MediaPlayer2Player : public QDBusAbstractAdaptor
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_CLASSINFO("D-Bus Interface", "org.mpris.MediaPlayer2.Player") // Docs: https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html
|
||||
|
||||
Q_PROPERTY(QString PlaybackStatus READ PlaybackStatus NOTIFY playbackStatusChanged)
|
||||
Q_PROPERTY(double Rate READ Rate WRITE setRate NOTIFY rateChanged)
|
||||
Q_PROPERTY(QVariantMap Metadata READ Metadata NOTIFY playbackStatusChanged)
|
||||
Q_PROPERTY(double Volume READ Volume WRITE setVolume NOTIFY volumeChanged)
|
||||
Q_PROPERTY(qlonglong Position READ Position WRITE setPropertyPosition NOTIFY playbackStatusChanged)
|
||||
Q_PROPERTY(double MinimumRate READ MinimumRate CONSTANT)
|
||||
Q_PROPERTY(double MaximumRate READ MaximumRate CONSTANT)
|
||||
Q_PROPERTY(bool CanGoNext READ CanGoNext NOTIFY canGoNextChanged)
|
||||
Q_PROPERTY(bool CanGoPrevious READ CanGoPrevious NOTIFY canGoPreviousChanged)
|
||||
Q_PROPERTY(bool CanPlay READ CanPlay NOTIFY canPlayChanged)
|
||||
Q_PROPERTY(bool CanPause READ CanPause NOTIFY canPauseChanged)
|
||||
Q_PROPERTY(bool CanControl READ CanControl NOTIFY canControlChanged)
|
||||
Q_PROPERTY(bool CanSeek READ CanSeek NOTIFY canSeekChanged)
|
||||
Q_PROPERTY(int mediaPlayerPresent READ mediaPlayerPresent WRITE setMediaPlayerPresent NOTIFY mediaPlayerPresentChanged)
|
||||
|
||||
public:
|
||||
explicit MediaPlayer2Player(QObject* parent = nullptr);
|
||||
~MediaPlayer2Player() override;
|
||||
|
||||
QString PlaybackStatus() const;
|
||||
double Rate() const;
|
||||
QVariantMap Metadata() const;
|
||||
double Volume() const;
|
||||
qlonglong Position() const;
|
||||
double MinimumRate() const;
|
||||
double MaximumRate() const;
|
||||
bool CanGoNext() const;
|
||||
bool CanGoPrevious() const;
|
||||
bool CanPlay() const;
|
||||
bool CanPause() const;
|
||||
bool CanSeek() const;
|
||||
bool CanControl() const;
|
||||
int currentTrack() const;
|
||||
int mediaPlayerPresent() const;
|
||||
|
||||
void setDesktopFileName(const QString &fileName);
|
||||
|
||||
///
|
||||
/// Signal to the mpris interface that the playback is now at a new position
|
||||
///
|
||||
void setPosition(qlonglong pos);
|
||||
|
||||
///
|
||||
/// Signal the length of the current track to the mpris interface
|
||||
///
|
||||
void setDuration(qlonglong duration);
|
||||
|
||||
enum PlaybackState {
|
||||
PlaybackStopped,
|
||||
PlaybackRunning,
|
||||
PlaybackPaused
|
||||
};
|
||||
|
||||
///
|
||||
/// Set the current playback state
|
||||
///
|
||||
void setPlaybackState(PlaybackState newState);
|
||||
PlaybackState playbackState() const {
|
||||
return m_playbackState;
|
||||
}
|
||||
|
||||
///
|
||||
/// Set the current track's title
|
||||
///
|
||||
void setCurrentTrackTitle(const QString &title);
|
||||
QString currentTrackTitle() const;
|
||||
|
||||
///
|
||||
/// Set the current track's URL
|
||||
///
|
||||
void setCurrentTrackUrl(const QUrl &url);
|
||||
|
||||
///
|
||||
/// Set the album of the currently playing track
|
||||
///
|
||||
void setCurrentTrackAlbum(const QString &album);
|
||||
QString currentTrackAlbum() const;
|
||||
|
||||
///
|
||||
/// Set current track's artist
|
||||
///
|
||||
void setCurrentTrackArtist(const QString &artist);
|
||||
QString currentTrackArtist() const;
|
||||
|
||||
///
|
||||
/// Set cover art url
|
||||
///
|
||||
void setCurrentTrackCoverArt(const QUrl &url);
|
||||
QUrl currentTrackCoverArt() const;
|
||||
|
||||
///
|
||||
/// Set cover art image
|
||||
///
|
||||
void setCurrentTrackCoverArt(const QImage &image);
|
||||
|
||||
void setCanGoPrevious(bool);
|
||||
void canGoForward(bool);
|
||||
void canPause(bool value);
|
||||
void canPlay(bool value);
|
||||
|
||||
Q_SIGNALS:
|
||||
void Seeked(qlonglong Position);
|
||||
|
||||
void rateChanged(double newRate);
|
||||
|
||||
///
|
||||
/// Emitted when the volume should be changed to newVol
|
||||
///
|
||||
void volumeChanged(double newVol);
|
||||
void playbackStatusChanged();
|
||||
void canGoNextChanged();
|
||||
void canGoPreviousChanged();
|
||||
void canPlayChanged();
|
||||
void canPauseChanged();
|
||||
void canControlChanged();
|
||||
void canSeekChanged();
|
||||
void currentTrackChanged();
|
||||
void mediaPlayerPresentChanged();
|
||||
|
||||
///
|
||||
/// Emitted when the player should skip to the next track
|
||||
///
|
||||
void next();
|
||||
|
||||
///
|
||||
/// Emitted when it is requested to skip to the previous track
|
||||
/// over the MPRIS interface
|
||||
///
|
||||
void previous();
|
||||
|
||||
///
|
||||
/// Emitted when play / pause should be toggled
|
||||
///
|
||||
void playPause();
|
||||
|
||||
///
|
||||
/// Emitted when the playback should be stopped
|
||||
///
|
||||
void stop();
|
||||
|
||||
///
|
||||
/// Emitted when playback should be resumed
|
||||
///
|
||||
void play();
|
||||
|
||||
///
|
||||
/// Emitted when the player should seek
|
||||
///
|
||||
void seek(qlonglong offset);
|
||||
|
||||
///
|
||||
/// Emitted when the player should skip to the given position
|
||||
///
|
||||
void positionRequested(qlonglong position);
|
||||
|
||||
public Q_SLOTS:
|
||||
|
||||
void Next();
|
||||
void Previous();
|
||||
void Pause();
|
||||
void PlayPause();
|
||||
void Stop();
|
||||
void Play();
|
||||
void Seek(qlonglong Offset);
|
||||
void SetPosition(const QDBusObjectPath &trackId, qlonglong pos);
|
||||
void OpenUri(const QString &uri);
|
||||
|
||||
private Q_SLOTS:
|
||||
|
||||
void playControlEnabledChanged();
|
||||
|
||||
void skipBackwardControlEnabledChanged();
|
||||
|
||||
void skipForwardControlEnabledChanged();
|
||||
|
||||
void playerPlaybackStateChanged();
|
||||
|
||||
void playerIsSeekableChanged();
|
||||
|
||||
void audioPositionChanged();
|
||||
|
||||
void playerSeeked(qint64 position);
|
||||
|
||||
void audioDurationChanged();
|
||||
|
||||
private:
|
||||
void signalPropertiesChange(const QString &property, const QVariant &value);
|
||||
|
||||
void setMediaPlayerPresent(int status);
|
||||
void setRate(double newRate);
|
||||
void setVolume(double volume);
|
||||
void setPropertyPosition(int newPositionInMs);
|
||||
|
||||
QVariantMap getMetadataOfCurrentTrack();
|
||||
|
||||
QVariantMap m_metadata;
|
||||
QString m_currentTrack;
|
||||
QString m_currentTrackId;
|
||||
double m_rate = 1.0;
|
||||
double m_volume = 0.0;
|
||||
int m_mediaPlayerPresent = 0;
|
||||
bool m_canPause = true;
|
||||
bool m_canPlay = false;
|
||||
bool m_canGoNext = false;
|
||||
bool m_canGoPrevious = false;
|
||||
qlonglong m_position = 0;
|
||||
bool m_playerIsSeekableChanged = false;
|
||||
mutable QDBusMessage mProgressIndicatorSignal;
|
||||
int mPreviousProgressPosition = 0;
|
||||
|
||||
// Current track metadata
|
||||
qlonglong m_duration;
|
||||
PlaybackState m_playbackState = PlaybackStopped;
|
||||
QString m_currentTrackTitle;
|
||||
QUrl m_currentTrackUrl;
|
||||
QString m_currentTrackAlbum;
|
||||
QString m_currentTrackArtist;
|
||||
QUrl m_coverArtUrl;
|
||||
};
|
||||
@@ -1,79 +0,0 @@
|
||||
/***************************************************************************
|
||||
SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
***************************************************************************/
|
||||
|
||||
#include "mpris2.h"
|
||||
#include "mediaplayer2.h"
|
||||
#include "mediaplayer2player.h"
|
||||
|
||||
#include <QDBusConnection>
|
||||
|
||||
|
||||
#if defined Q_OS_WIN
|
||||
#include <Windows.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
Mpris2::Mpris2(QObject* parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void Mpris2::initDBusService()
|
||||
{
|
||||
QString mspris2Name(QStringLiteral("org.mpris.MediaPlayer2.") + m_playerName);
|
||||
|
||||
bool success = QDBusConnection::sessionBus().registerService(mspris2Name);
|
||||
|
||||
// If the above failed, it's likely because we're not the first instance
|
||||
// or the name is already taken. In that event the MPRIS2 spec wants the
|
||||
// following:
|
||||
if (!success) {
|
||||
#if defined Q_OS_WIN
|
||||
success = QDBusConnection::sessionBus().registerService(mspris2Name + QLatin1String(".instance") + QString::number(GetCurrentProcessId()));
|
||||
#else
|
||||
success = QDBusConnection::sessionBus().registerService(mspris2Name + QLatin1String(".instance") + QString::number(getpid()));
|
||||
#endif
|
||||
}
|
||||
|
||||
if (success) {
|
||||
m_mp2 = std::make_unique<MediaPlayer2>(this);
|
||||
m_mp2p = std::make_unique<MediaPlayer2Player>(this);
|
||||
|
||||
QDBusConnection::sessionBus().registerObject(QStringLiteral("/org/mpris/MediaPlayer2"), this, QDBusConnection::ExportAdaptors);
|
||||
|
||||
connect(m_mp2.get(), &MediaPlayer2::raisePlayer, this, &Mpris2::raisePlayer);
|
||||
}
|
||||
}
|
||||
|
||||
Mpris2::~Mpris2()
|
||||
= default;
|
||||
|
||||
QString Mpris2::playerName() const
|
||||
{
|
||||
return m_playerName;
|
||||
}
|
||||
|
||||
void Mpris2::setPlayerName(const QString &playerName)
|
||||
{
|
||||
if (m_playerName == playerName) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_playerName = playerName;
|
||||
|
||||
if (!m_playerName.isEmpty()) {
|
||||
if (!m_mp2) {
|
||||
initDBusService();
|
||||
}
|
||||
}
|
||||
|
||||
Q_EMIT playerNameChanged();
|
||||
}
|
||||
|
||||
#include "moc_mpris2.cpp"
|
||||
@@ -1,63 +0,0 @@
|
||||
/***************************************************************************
|
||||
SPDX-FileCopyrightText: 2014 (c) Sujith Haridasan <[email protected]>
|
||||
SPDX-FileCopyrightText: 2014 (c) Ashish Madeti <[email protected]>
|
||||
SPDX-FileCopyrightText: 2016 (c) Matthieu Gallien <[email protected]>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
***************************************************************************/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <memory>
|
||||
|
||||
class MediaPlayer2;
|
||||
class MediaPlayer2Player;
|
||||
|
||||
class Mpris2 : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QString playerName
|
||||
READ playerName
|
||||
WRITE setPlayerName
|
||||
NOTIFY playerNameChanged)
|
||||
|
||||
public:
|
||||
explicit Mpris2(QObject* parent = nullptr);
|
||||
~Mpris2() override;
|
||||
|
||||
[[nodiscard]] QString playerName() const;
|
||||
|
||||
MediaPlayer2Player *player() const {
|
||||
return m_mp2p.get();
|
||||
}
|
||||
|
||||
void setPlayerName(const QString &playerName);
|
||||
|
||||
Q_SIGNALS:
|
||||
void raisePlayer();
|
||||
|
||||
void playerNameChanged();
|
||||
|
||||
void playListModelChanged();
|
||||
|
||||
void audioPlayerManagerChanged();
|
||||
|
||||
void manageMediaPlayerControlChanged();
|
||||
|
||||
void headerBarManagerChanged();
|
||||
|
||||
void audioPlayerChanged();
|
||||
|
||||
void showProgressOnTaskBarChanged();
|
||||
|
||||
private:
|
||||
|
||||
void initDBusService();
|
||||
|
||||
std::unique_ptr<MediaPlayer2> m_mp2;
|
||||
std::unique_ptr<MediaPlayer2Player> m_mp2p;
|
||||
QString m_playerName;
|
||||
bool mShowProgressOnTaskBar = true;
|
||||
};
|
||||
Reference in new issue
Block a user