Compare commits
60
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cca7eb4c0c | ||
|
|
d0bf9ecb99 | ||
|
|
068071d263 | ||
|
|
e9064602a6 | ||
|
|
71f574fce9 | ||
|
|
c2a7a9742f | ||
|
|
38a1018817 | ||
|
|
58d877a1e6 | ||
|
|
ea97b5a3f2 | ||
|
|
ea5085bfc7 | ||
|
|
26dd42bf0d | ||
|
|
8a5e0a26f9 | ||
|
|
6b22eb5af0 | ||
|
|
cbafceb01e | ||
|
|
843325d6c7 | ||
|
|
11a1ce02a8 | ||
|
|
8bc3012eb4 | ||
|
|
e108ec5105 | ||
|
|
57b1c07c33 | ||
|
|
f07076910a | ||
|
|
ce74b42e3e | ||
|
|
47e4831bca | ||
|
|
1a15e1578f | ||
|
|
94e8fce0f2 | ||
|
|
e40b9f6e10 | ||
|
|
e44182ee71 | ||
|
|
e1a32deb01 | ||
|
|
9261999563 | ||
|
|
1f5ed15cb9 | ||
|
|
49ad94e2f8 | ||
|
|
faad08c203 | ||
|
|
4237746082 | ||
|
|
989cecaf64 | ||
|
|
a6e3220054 | ||
|
|
0095677485 | ||
|
|
311111f7d8 | ||
|
|
1c590dd38c | ||
|
|
4d4dc7e8ca | ||
|
|
df7e69db9f | ||
|
|
d6f53b7485 | ||
|
|
8e8fe9871c | ||
|
|
9887e6cbc0 | ||
|
|
62ec82a85a | ||
|
|
bae859ff7c | ||
|
|
443183d4cd | ||
|
|
f762a6d8c1 | ||
|
|
4c30f20fed | ||
|
|
1faa7a13fc | ||
|
|
b7438cd452 | ||
|
|
387ea1153a | ||
|
|
d42138cc87 | ||
|
|
b64e23a4ce | ||
|
|
5b717c468b | ||
|
|
a277a5cfa1 | ||
|
|
2bcc2b4622 | ||
|
|
226d187275 | ||
|
|
72148cb630 | ||
|
|
58abc9d38a | ||
|
|
d166a66797 | ||
|
|
81e7627ad1 |
No files matched your search
Symlink
+1
@@ -0,0 +1 @@
|
||||
org.kde.audiotube.json
|
||||
+2
-1
@@ -3,4 +3,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
include:
|
||||
- 'https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml'
|
||||
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
|
||||
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
|
||||
+9
-3
@@ -4,11 +4,16 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.16.0)
|
||||
|
||||
project(audiotube)
|
||||
# KDE Applications version, managed by release script.
|
||||
set(RELEASE_SERVICE_VERSION_MAJOR "23")
|
||||
set(RELEASE_SERVICE_VERSION_MINOR "03")
|
||||
set(RELEASE_SERVICE_VERSION_MICRO "70")
|
||||
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
||||
|
||||
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
|
||||
|
||||
include(FeatureSummary)
|
||||
|
||||
set(PROJECT_VERSION "22.11")
|
||||
set(QT5_MIN_VERSION 5.15)
|
||||
set(KF5_MIN_VERSION 5.81)
|
||||
|
||||
@@ -34,10 +39,11 @@ ecm_setup_version(${PROJECT_VERSION}
|
||||
kde_enable_exceptions()
|
||||
|
||||
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets)
|
||||
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash)
|
||||
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
|
||||
find_package(pybind11 REQUIRED)
|
||||
find_package(Ytdlp REQUIRED RUNTIME)
|
||||
find_package(YTMusicAPI 0.24.0 REQUIRED RUNTIME)
|
||||
find_package(Desert REQUIRED)
|
||||
|
||||
ki18n_install(po)
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
|
||||
"sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
|
||||
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
|
||||
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -22,8 +22,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/52/0d/6cc95a83f6961a1ca041798d222240890af79b381e97eda3b9b538dba16f/pycryptodomex-3.15.0.tar.gz",
|
||||
"sha256": "7341f1bb2dadb0d1a0047f34c3a58208a92423cdbd3244d998e4b28df5eac0ed"
|
||||
"url": "https://files.pythonhosted.org/packages/5d/22/575c7dd7c86843e07a791cfa2143e7292d6b380f5a7cce966a49b9d6c9f4/pycryptodomex-3.16.0.tar.gz",
|
||||
"sha256": "e9ba9d8ed638733c9e95664470b71d624a6def149e2db6cc52c1aca5a6a2df1d"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -32,8 +32,8 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/2b/8c/6382d335662361fe06bea1ca96a189982cc050c2f9946dcd320b8c26a833/yt_dlp-2022.10.4-py2.py3-none-any.whl",
|
||||
"sha256": "cc21d91048b275bda7018bdc3103374882261ccf29720206d61b10e168c8b719"
|
||||
"url": "https://files.pythonhosted.org/packages/a7/49/b49e0ae6fdc959235ecb89a3a5be77dd050493dc30845f89482fb83e38b4/yt_dlp-2023.1.6-py2.py3-none-any.whl",
|
||||
"sha256": "bcac3231e2022cad128a83f69948c845b364b2a85fde53415378f7c199808849"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,13 +7,13 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
|
||||
"sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
|
||||
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
|
||||
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl",
|
||||
"sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
|
||||
"url": "https://files.pythonhosted.org/packages/96/d7/1675d9089a1f4677df5eb29c3f8b064aa1e70c1251a0a8a127803158942d/charset-normalizer-3.0.1.tar.gz",
|
||||
"sha256": "ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
@@ -22,18 +22,18 @@
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl",
|
||||
"sha256": "8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
|
||||
"url": "https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl",
|
||||
"sha256": "64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl",
|
||||
"sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
|
||||
"url": "https://files.pythonhosted.org/packages/fe/ca/466766e20b767ddb9b951202542310cba37ea5f2d792dae7589f1741af58/urllib3-1.26.14-py2.py3-none-any.whl",
|
||||
"sha256": "75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/74/5f/929784007a6777272b3bd51dc7a13e39d5192d64b3831535e83776cd825d/ytmusicapi-0.24.0-py3-none-any.whl",
|
||||
"sha256": "ac25baec1314274030e422c841932d94119394f54c7e70c64a2be1f26be69c2b"
|
||||
"url": "https://files.pythonhosted.org/packages/14/a9/5ba638ca601c74f169e0e0b055526566f2fa6b6402233a29aba607dca58e/ytmusicapi-0.25.0-py3-none-any.whl",
|
||||
"sha256": "be355bb3409c0e6c25a95ffd92213bd216561cdd8a0493a36a82d1726ff6efb9"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -104,6 +104,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="23.01" date="2023-01-30">
|
||||
<url>https://plasma-mobile.org/2023/01/30/january-blog-post/</url>
|
||||
</release>
|
||||
<release version="22.11" date="2022-11-30">
|
||||
<url>https://plasma-mobile.org/2022/11/30/plasma-mobile-gear-22-11/</url>
|
||||
</release>
|
||||
@@ -150,11 +153,17 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/library.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/mobile_playlist.png</image>
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/player.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/desktop.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/mobile_album.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://cdn.kde.org/screenshots/audiotube/mobile_playlist.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<recommends>
|
||||
<control>pointing</control>
|
||||
@@ -172,7 +181,7 @@ SPDX-License-Identifier: CC0-1.0
|
||||
<p xml:lang="es">AudioTube puede buscar música de YouTube, listar álbumes y artistas, reproducir las listas de reproducción generadas, álbumes y le permite crear su propia lista de reproducción.</p>
|
||||
<p xml:lang="eu">AudioTube-k YouTube Music-en bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
|
||||
<p xml:lang="fi">AudioTube osaa etsiä YouTube Music -haun, albumien ja artistien luettelun, luotujen soittolistojen automaattisen toiston ja omien soittolistojen kokoamisen.</p>
|
||||
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur YouTube Music, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
|
||||
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur la partie « Musique » de YouTube, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
|
||||
<p xml:lang="hi">ऑडियोट्यूब यूट्यूब संगीत खोज सकता है, एल्बम और कलाकारों की सूची बना सकता है, स्वचालित रूप से उत्पन्न की गई गीतसूची, एल्बम बजा सकता है और आपकी अपनी खुद की प्लेलिस्ट को एक साथ रखने में मदद करता है।</p>
|
||||
<p xml:lang="id">AudioTube dapat menelusuri YouTube Music, daftarkan album dan artis, putar daftar putar dan yang dibuat secara otomatis dan album, dan memungkinkan Anda untuk membuat daftar putar Anda sendiri.</p>
|
||||
<p xml:lang="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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "org.kde.audiotube",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "5.15-21.08",
|
||||
"runtime-version": "5.15-22.08",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "audiotube",
|
||||
"tags": ["nightly"],
|
||||
@@ -28,7 +28,7 @@
|
||||
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.9.1" } ]
|
||||
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.10.3" } ]
|
||||
},
|
||||
{
|
||||
"name": "org.kde.audiotube",
|
||||
|
||||
+76
-44
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Zayed Al-Saidi <[email protected]>, 2022.
|
||||
# Zayed Al-Saidi <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-12-22 16:43+0400\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-02-02 11:59+0400\n"
|
||||
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
|
||||
"Language-Team: ar\n"
|
||||
"Language: ar\n"
|
||||
@@ -49,9 +49,9 @@ msgstr "افتح في المتصفّح"
|
||||
msgid "Album • %1"
|
||||
msgstr "الألبوم • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "المزيد"
|
||||
@@ -66,14 +66,14 @@ msgstr "راديو"
|
||||
msgid "Artist"
|
||||
msgstr "الفنّانون"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "الألبومات"
|
||||
@@ -83,12 +83,12 @@ msgstr "الألبومات"
|
||||
msgid "Singles"
|
||||
msgstr "فردي"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "أغاني"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "الفيديوهات"
|
||||
@@ -103,42 +103,29 @@ msgstr "حسنًا"
|
||||
msgid "Cancel"
|
||||
msgstr "ألغِ"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "المفضلة"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "أظهر الكلّ"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "الأغاني المفضّلة"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "الأكثر تشغيلا"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "الأغاني المشغلة"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "عُد"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ابحث"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "تيوب الصوتي"
|
||||
@@ -158,17 +145,33 @@ msgstr "صُفّ"
|
||||
msgid "Lyrics"
|
||||
msgstr "الكلمات"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "أزل المسار"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "لا يوجد وسائط تعمل"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "المكتبة"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ابحث"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "الأغاني المشغلة"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,46 +187,75 @@ msgstr "لا يوجد أي أغنية بعد"
|
||||
msgid "Playlist"
|
||||
msgstr "قائمة التشغيل"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "البحوث الأخيرة:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "الفنّانون"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "قوائم التّشغيل"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "مجهول"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "لا يوجد تطابق من البحوث الأخيرة"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "أزل من تاريخ البحث"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr " اطوِ الشريط الجانبي"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "شغل التالي"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "أضف للطابور"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "أزل المفضلة"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "أضف للمفضلة"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "أزل من التّاريخ"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "الأغاني المفضّلة"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "عُد"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "اعثر على موسيقى على موسيقى يوتيوب"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "أضف إلى قائمة التّشغيل"
|
||||
|
||||
|
||||
+76
-43
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
|
||||
"Last-Translator: Kheyyam <[email protected]>\n"
|
||||
"Language-Team: Azerbaijani <[email protected]>\n"
|
||||
@@ -48,9 +48,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,7 +66,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "İfaçılar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -75,7 +75,7 @@ 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albomlar"
|
||||
@@ -85,12 +85,12 @@ msgstr "Albomlar"
|
||||
msgid "Singles"
|
||||
msgstr "Musiqilər"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Mahnılar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videolar"
|
||||
@@ -105,42 +105,30 @@ msgstr "OLDU"
|
||||
msgid "Cancel"
|
||||
msgstr "İmtina"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Hamısı göstərilsin"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Seçilmiş mahnılar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Daha çox dinlənilən"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Oxudulan mahnılar"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Geriyə"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Axtarın"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -160,17 +148,33 @@ msgstr "Növbə"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Mahnını silin"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Media faylı oynadılmır"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Axtarın"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Oxudulan mahnılar"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -187,48 +191,77 @@ msgstr "Hələlik burada mahnılar yoxdur"
|
||||
msgid "Playlist"
|
||||
msgstr "Mahnı siyahıları"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "İfaçılar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Mahnı siyahıları"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinməyən"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Musiqini YouTube Musiqi-də tapın"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Sonrakını oxudun"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Seçilmiş mahnılar"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Geriyə"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Musiqini YouTube Musiqi-də tapın"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Mahnı siyahısına əlavə edin"
|
||||
|
||||
|
||||
+68
-45
@@ -1,16 +1,16 @@
|
||||
# Translation of audiotube.po to Catalan
|
||||
# Copyright (C) 2021-2022 This_file_is_part_of_KDE
|
||||
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
|
||||
# This file is distributed under the license LGPL version 2.1 or
|
||||
# version 3 or later versions approved by the membership of KDE e.V.
|
||||
#
|
||||
# Antoni Bella Pérez <[email protected]>, 2021.
|
||||
# Josep M. Ferrer <[email protected]>, 2022.
|
||||
# Josep M. Ferrer <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 08:58+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 10:54+0100\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
"Language: ca\n"
|
||||
@@ -51,9 +51,9 @@ msgstr "Obre en el navegador"
|
||||
msgid "Album • %1"
|
||||
msgstr "Àlbum • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Més"
|
||||
@@ -68,7 +68,7 @@ msgstr "Ràdio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -77,7 +77,7 @@ msgstr ""
|
||||
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
|
||||
"«%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Àlbums"
|
||||
@@ -87,12 +87,12 @@ msgstr "Àlbums"
|
||||
msgid "Singles"
|
||||
msgstr "Individuals"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Cançons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -107,42 +107,29 @@ msgstr "D'acord"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostra-ho tot"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Cançons preferides"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Les més reproduïdes"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Cançons reproduïdes"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Enrere"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -162,17 +149,33 @@ msgstr "Cua"
|
||||
msgid "Lyrics"
|
||||
msgstr "Lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Elimina la pista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "No s'està reproduint cap suport"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Cançons reproduïdes"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -188,42 +191,62 @@ msgstr "Encara no hi ha cap cançó"
|
||||
msgid "Playlist"
|
||||
msgstr "Llista de reproducció"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Cerques anteriors:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistes"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Llistes de reproducció"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Desconeguda"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Cerca a la Música de Youtube"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hi ha cerques anteriors coincidents"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "elimina de l'historial de cerques"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Redueix la barra lateral"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reprodueix el següent"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Afegeix a la cua"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Elimina de les preferides"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Afegeix a les preferides"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Elimina de l'historial"
|
||||
+68
-45
@@ -1,16 +1,16 @@
|
||||
# Translation of audiotube.po to Catalan (Valencian)
|
||||
# Copyright (C) 2021-2022 This_file_is_part_of_KDE
|
||||
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
|
||||
# This file is distributed under the license LGPL version 2.1 or
|
||||
# version 3 or later versions approved by the membership of KDE e.V.
|
||||
#
|
||||
# Antoni Bella Pérez <[email protected]>, 2021.
|
||||
# Josep M. Ferrer <[email protected]>, 2022.
|
||||
# Josep M. Ferrer <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 08:58+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 10:54+0100\n"
|
||||
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
|
||||
"Language-Team: Catalan <[email protected]>\n"
|
||||
"Language: ca@valencia\n"
|
||||
@@ -51,9 +51,9 @@ msgstr "Obri en el navegador"
|
||||
msgid "Album • %1"
|
||||
msgstr "Àlbum • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Més"
|
||||
@@ -68,7 +68,7 @@ msgstr "Ràdio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -77,7 +77,7 @@ msgstr ""
|
||||
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
|
||||
"«%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Àlbums"
|
||||
@@ -87,12 +87,12 @@ msgstr "Àlbums"
|
||||
msgid "Singles"
|
||||
msgstr "Individuals"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Cançons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -107,42 +107,29 @@ msgstr "D'acord"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostra-ho tot"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Cançons preferides"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Les més reproduïdes"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Cançons reproduïdes"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Arrere"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Busca"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -162,17 +149,33 @@ msgstr "Cua"
|
||||
msgid "Lyrics"
|
||||
msgstr "Lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Elimina la pista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "No s'està reproduint cap suport"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Busca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Cançons reproduïdes"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -188,42 +191,62 @@ msgstr "Encara no hi ha cap cançó"
|
||||
msgid "Playlist"
|
||||
msgstr "Llista de reproducció"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Busques anteriors:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistes"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Llistes de reproducció"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Desconeguda"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Busca en la Música de Youtube"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hi ha busques anteriors coincidents"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "elimina de l'historial de busques"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Reduïx la barra lateral"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduïx el següent"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Afig a la cua"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Elimina de les preferides"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Afig a les preferides"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Elimina de l'historial"
|
||||
+77
-64
@@ -1,14 +1,14 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
# Vit Pelcak <vpelcak@suse.cz>, 2021, 2022.
|
||||
# Vit Pelcak <vit@pelcak.org>, 2021, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-06-28 13:58+0200\n"
|
||||
"Last-Translator: Vit Pelcak <vpelcak@suse.cz>\n"
|
||||
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
|
||||
"Language-Team: Czech <[email protected]>\n"
|
||||
"Language: cs\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -48,12 +48,12 @@ msgstr "Otevřít v prohlížeči"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
msgstr "Více"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:27
|
||||
#, kde-format
|
||||
@@ -61,12 +61,11 @@ msgid "Radio"
|
||||
msgstr "Rádio"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:46
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Artists"
|
||||
#, kde-format
|
||||
msgid "Artist"
|
||||
msgstr "Umělci"
|
||||
msgstr "Umělec"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -75,7 +74,7 @@ msgstr ""
|
||||
"Přehrávání videa ještě není podporováno. Chcete z \"%1\" přehrávat pouze "
|
||||
"zvuk?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Alba"
|
||||
@@ -85,12 +84,12 @@ msgstr "Alba"
|
||||
msgid "Singles"
|
||||
msgstr "Samotné"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Písně"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videa"
|
||||
@@ -105,42 +104,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Oblíbené"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Zobrazit vše"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Oblíbené skladby"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Nejčastěji hrané"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Přehrané skladby"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Zpět"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -158,19 +144,35 @@ msgstr "Fronta"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:157
|
||||
#, kde-format
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
msgstr "Text písně"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Odstranit skladbu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Nepřehrává se žádné médium"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Knihovna"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Přehrané skladby"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -182,55 +184,66 @@ msgid "No songs here yet"
|
||||
msgstr "Zatím zde nejsou žádné skladby"
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:42
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr "Seznamy skladeb"
|
||||
msgstr "Seznam skladeb"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Umělci"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Seznamy skladeb"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámý"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Najít hudbu na Hudba YouTube"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Přehrát následující"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Oblíbené"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Oblíbené"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Přidat do seznamu skladeb"
|
||||
|
||||
#~ msgid "Play next"
|
||||
#~ msgstr "Přehrát následující"
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
+91
-63
@@ -1,23 +1,23 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
# Burkhard Lück <[email protected]>, 2021.
|
||||
# Frederik Schwarzer <[email protected]>, 2021, 2022.
|
||||
# Frederik Schwarzer <[email protected]>, 2021, 2022, 2023.
|
||||
# Frank Steinmetzger <[email protected]>, 2022.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-10 20:16+0100\n"
|
||||
"Last-Translator: Frank Steinmetzger <[email protected]>\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-14 23:47+0100\n"
|
||||
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
|
||||
"Language-Team: German <[email protected]>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 22.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -48,14 +48,14 @@ msgstr "In Browser öffnen"
|
||||
#: contents/ui/AlbumPage.qml:44
|
||||
#, kde-format
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
msgstr "Mehr"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:27
|
||||
#, kde-format
|
||||
@@ -63,12 +63,11 @@ msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:46
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Artists"
|
||||
#, kde-format
|
||||
msgid "Artist"
|
||||
msgstr "Interpreten"
|
||||
msgstr "Interpret"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -77,7 +76,7 @@ msgstr ""
|
||||
"Die Video-Wiedergabe wird noch nicht unterstützt. Möchten Sie nur die "
|
||||
"Audiospur von „%1“ abspielen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Alben"
|
||||
@@ -87,12 +86,12 @@ msgstr "Alben"
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videos"
|
||||
@@ -107,42 +106,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Alle anzeigen"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Lieblingsstücke"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Am meisten abgespielt"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Abgespielte Stücke"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Zurück"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -160,19 +146,35 @@ msgstr "Warteschlange"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:157
|
||||
#, kde-format
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
msgstr "Liedtext"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Stück entfernen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Es werden keine Medien wiedergegeben"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Bibliothek"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Suchen"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Abgespielte Stücke"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,52 +186,78 @@ msgid "No songs here yet"
|
||||
msgstr "Bisher keine Lieder hier"
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:42
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr "Wiedergabelisten"
|
||||
msgstr "Wiedergabeliste"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Vorherige Suchvorgänge:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Interpreten"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Wiedergabelisten"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Musik auf YouTube suchen"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Seitenleiste einklappen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Nächste Wiedergabe"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Zur Warteschlange hinzufügen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Favoriten entfernen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Favoriten hinzufügen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Favoriten"
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Lieblingsstücke"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Favoriten"
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Zurück"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Musik auf YouTube suchen"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Zur Wiedergabeliste hinzufügen"
|
||||
|
||||
+91
-62
@@ -6,10 +6,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-26 12:33+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-12-31 15:53+0000\n"
|
||||
"Last-Translator: Steve Allewell <[email protected]>\n"
|
||||
"Language-Team: British English <kde-l10n-en_gb@kde.org>\n"
|
||||
"Language-Team: English <kde-i18n-doc@kde.org>\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -46,14 +46,14 @@ msgstr "Open in Browser"
|
||||
#: contents/ui/AlbumPage.qml:44
|
||||
#, kde-format
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
msgstr "More"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:27
|
||||
#, kde-format
|
||||
@@ -61,12 +61,11 @@ msgid "Radio"
|
||||
msgstr "Radio"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:46
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Artists"
|
||||
#, kde-format
|
||||
msgid "Artist"
|
||||
msgstr "Artists"
|
||||
msgstr "Artist"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -75,7 +74,7 @@ msgstr ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
@@ -85,12 +84,12 @@ msgstr "Albums"
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videos"
|
||||
@@ -105,42 +104,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favourites"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Show All"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Favourite Songs"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Most played"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "played Songs"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Back"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Search"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -160,17 +146,33 @@ msgstr "Queue"
|
||||
msgid "Lyrics"
|
||||
msgstr "Lyrics"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Remove Track"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "No media playing"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Library"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Search"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Played Songs"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -182,52 +184,79 @@ msgid "No songs here yet"
|
||||
msgstr "No songs here yet"
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:42
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr "Playlists"
|
||||
msgstr "Playlist"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Previous Searches:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artists"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Playlists"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Unknown"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Find music on YouTube Music"
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Previous Searches:"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Previous Searches:"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Collapse Sidebar"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Play Next"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Add to queue"
|
||||
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Remove Favourite"
|
||||
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Add Favourite"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Favourites"
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Favourite Songs"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Favourites"
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Back"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Find music on YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Add to Playlist"
|
||||
|
||||
+78
-46
@@ -3,13 +3,13 @@
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Automatically generated, 2021.
|
||||
# Eloy Cuadra <[email protected]>, 2021, 2022.
|
||||
# Eloy Cuadra <[email protected]>, 2021, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 05:14+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-29 00:58+0100\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.11.80\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -50,9 +50,9 @@ msgstr "Abrir en el navegador"
|
||||
msgid "Album • %1"
|
||||
msgstr "Álbum • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Más"
|
||||
@@ -67,7 +67,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -76,7 +76,7 @@ msgstr ""
|
||||
"La reproducción de vídeo aún no está permitida. ¿Desea reproducir solo el "
|
||||
"sonido de «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbumes"
|
||||
@@ -86,12 +86,12 @@ msgstr "Álbumes"
|
||||
msgid "Singles"
|
||||
msgstr "Sencillos"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Canciones"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -106,42 +106,29 @@ msgstr "Aceptar"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoritas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostrar todas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Canciones favoritas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Más reproducidas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Canciones reproducidas"
|
||||
msgid "played Songs"
|
||||
msgstr "canciones reproducidas"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Volver"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -161,17 +148,33 @@ msgstr "Cola"
|
||||
msgid "Lyrics"
|
||||
msgstr "Letra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Eliminar pista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Ningún medio en reproducción"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Canciones reproducidas"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -187,46 +190,75 @@ msgstr "Todavía no contiene canciones"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de reproducción"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Búsquedas anteriores:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistas"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Listas de reproducción"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Encuentre música en YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "No hay búsquedas anteriores coincidentes"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "eliminar del historial de búsqueda"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Contraer la barra lateral"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproducir siguiente"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Añadir a la cola"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Eliminar favorita"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Añadir favorita"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Eliminar del historial"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Canciones favoritas"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Volver"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Encuentre música en YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Añadir a la lista de reproducción"
|
||||
|
||||
|
||||
+79
-47
@@ -1,16 +1,16 @@
|
||||
# Translation for audiotube.po to Euskara/Basque (eu).
|
||||
# Copyright (C) 2021-2022 This file is copyright:
|
||||
# Copyright (C) 2021-2023 This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
# KDE euskaratzeko proiektuko arduraduna <[email protected]>.
|
||||
#
|
||||
# Translators:
|
||||
# Iñigo Salvador Azurmendi <[email protected]>, 2021, 2022.
|
||||
# Iñigo Salvador Azurmendi <[email protected]>, 2021, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-29 05:34+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 21:02+0100\n"
|
||||
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
|
||||
"Language-Team: Basque <[email protected]>\n"
|
||||
"Language: eu\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 22.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -51,9 +51,9 @@ msgstr "Ireki arakatzailean"
|
||||
msgid "Album • %1"
|
||||
msgstr "Albuma • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Gehiago"
|
||||
@@ -68,7 +68,7 @@ msgstr "Irratia"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -77,7 +77,7 @@ msgstr ""
|
||||
"Oraindik ez dago bideoa atzera jotzeko euskarririk. «%1»(r)en audioa "
|
||||
"bakarrik jo nahi duzu?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumak"
|
||||
@@ -87,12 +87,12 @@ msgstr "Albumak"
|
||||
msgid "Singles"
|
||||
msgstr "Banakoa"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Abestiak"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Bideoak"
|
||||
@@ -107,42 +107,29 @@ msgstr "Ados"
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Gogokoak"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Erakutsi denak"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Gogoko abestiak"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Gehien jotakoa"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Jotako abestiak"
|
||||
msgid "played Songs"
|
||||
msgstr "jotako abestiak"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Atzera"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Bilatu"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -162,17 +149,33 @@ msgstr "Ilara"
|
||||
msgid "Lyrics"
|
||||
msgstr "Hitzak"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Kendu pista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Ez da euskarririk jotzen ari"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Liburutegia"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Bilatu"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Jotako abestiak"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -188,46 +191,75 @@ msgstr "Hemen oraindik ez dago abestirik"
|
||||
msgid "Playlist"
|
||||
msgstr "Jotze-zerrenda"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Aurreko bilaketak:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistak"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Jotze-zerrendak"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Ezezaguna"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Aurkitu musika «Youtube Music»en"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ez dago bat datorren aurreko bilaketarik"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "Kendu bilaketa-historiatik"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Tolestu Alboko-barra"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Jo hurrengoa"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Gehitu ilaran"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Kendu gogokoa"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Gehitu gogokoa"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Kendu historiatik"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Gogoko abestiak"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Atzera"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Aurkitu musika «Youtube Music»en"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Gehitu jotze-zerrendara"
|
||||
|
||||
|
||||
+76
-43
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-10-24 07:57+0300\n"
|
||||
"Last-Translator: Tommi Nieminen <[email protected]>\n"
|
||||
"Language-Team: Finnish <[email protected]>\n"
|
||||
@@ -48,9 +48,9 @@ msgstr "Avaa selaimeen"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,7 +66,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artistit"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Videotoistoa ei vielä tueta. Haluatko toistaa videosta ”%1” vain äänen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumit"
|
||||
@@ -84,12 +84,12 @@ msgstr "Albumit"
|
||||
msgid "Singles"
|
||||
msgstr "Singlet"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Kappaleet"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videot"
|
||||
@@ -104,42 +104,30 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Suosikit"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Näytä kaikki"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Suosikkikappaleet"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Soitetuimmat"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Soitetut kappaleet"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Takaisin"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +147,33 @@ msgstr "Jono"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Poista raita"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Mitään ei toisteta"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Etsi"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Soitetut kappaleet"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -186,48 +190,77 @@ msgstr "Ei vielä kappaleita"
|
||||
msgid "Playlist"
|
||||
msgstr "Soittolistat"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistit"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Soittolistat"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Etsi musiikkia Youtube Musicista"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Toista seuraava"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Suosikit"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Suosikit"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Suosikkikappaleet"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Takaisin"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Etsi musiikkia Youtube Musicista"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Lisää soittolistaan"
|
||||
|
||||
|
||||
+79
-46
@@ -1,18 +1,19 @@
|
||||
# Xavier Besnard <[email protected]>, 2021, 2022.
|
||||
# Xavier BESNARD <xavier.besnard]neuf.fr>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-12-04 08:33+0100\n"
|
||||
"Last-Translator: Xavier Besnard <xavier.besnard@neuf.fr>\n"
|
||||
"Language-Team: French <[email protected]>\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-29 10:52+0100\n"
|
||||
"Last-Translator: Xavier BESNARD <xavier.besnard]neuf.fr>\n"
|
||||
"Language-Team: fr\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Lokalize 22.11.90\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -45,9 +46,9 @@ msgstr "Ouvrir dans un navigateur"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Et plus encore"
|
||||
@@ -62,7 +63,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artiste"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -71,7 +72,7 @@ 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
@@ -81,12 +82,12 @@ msgstr "Albums"
|
||||
msgid "Singles"
|
||||
msgstr "Titres uniques"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Chansons"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vidéos"
|
||||
@@ -101,42 +102,29 @@ msgstr "Ok"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoris"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Tout afficher"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Titres favoris"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Les plus lus"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Titres lus"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "En arrière"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -156,17 +144,33 @@ msgstr "Mettre en file d'attente"
|
||||
msgid "Lyrics"
|
||||
msgstr "Paroles"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Supprimer une piste"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Aucun média en lecture"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Bibliothèque"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Rechercher"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Titres lus"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -182,46 +186,75 @@ msgstr "Aucun titre ici encore"
|
||||
msgid "Playlist"
|
||||
msgstr "Liste de lecture"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Recherches précédentes :"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistes"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Listes de lecture"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Rechercher de la musique sur « YouTube Music »"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Aucune correspondance avec les recherches précédentes"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "supprimer de l'historique de recherche"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Réduire la barre latérale"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Lire le suivant"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Ajouter à la file de lecture"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Supprimer un favori"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Ajouter un favori"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Supprimer de l'historique"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Titres favoris"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "En arrière"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Rechercher de la musique sur « YouTube Music »"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Ajouter à la liste de lecture"
|
||||
|
||||
|
||||
+68
-42
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
|
||||
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
|
||||
"Language-Team: kde-hindi\n"
|
||||
@@ -48,9 +48,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,7 +66,7 @@ msgstr "रेडियो"
|
||||
msgid "Artist"
|
||||
msgstr "कलाकार"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"वीडियो चलाना अभी तक समर्थित नहीं है। क्या आप केवल \"%1\" का ध्वनी चलाना चाहते हैं?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "एल्बम्स"
|
||||
@@ -84,12 +84,12 @@ msgstr "एल्बम्स"
|
||||
msgid "Singles"
|
||||
msgstr "एक गीत"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "गीत"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "वीडियो"
|
||||
@@ -104,42 +104,29 @@ msgstr ""
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "खोजें"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "ओडियो-ट्यूब"
|
||||
@@ -160,17 +147,33 @@ msgstr ""
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "गाना हटाएँ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "कोई मीडिया नहीं बजा रहा है"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "खोजें"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -187,46 +190,69 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "कलाकार"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "अज्ञात"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "अगला बजाएँ"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "गीत-सूची में जोड़ें"
|
||||
|
||||
|
||||
+77
-45
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
# Linerly <[email protected]>, 2022.
|
||||
# Linerly <[email protected]>, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-12-21 11:44+0700\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-13 08:23+0700\n"
|
||||
"Last-Translator: Linerly <[email protected]>\n"
|
||||
"Language-Team: Indonesian <[email protected]>\n"
|
||||
"Language: id\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.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -48,9 +48,9 @@ msgstr "Buka di Peramban"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Lainnya"
|
||||
@@ -65,7 +65,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artis"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgstr ""
|
||||
"Pemutaran video belum didukung. Apakah Anda ingin memutar audionya dari "
|
||||
"\"%1\" saja?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
@@ -84,12 +84,12 @@ msgstr "Album"
|
||||
msgid "Singles"
|
||||
msgstr "Single"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Lagu"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Video"
|
||||
@@ -104,42 +104,29 @@ msgstr "Oke"
|
||||
msgid "Cancel"
|
||||
msgstr "Batalkan"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favorit"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Tampilkan Semua"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Lagu Favorit"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Paling banyak diputar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Lagu yang telah diputar"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Kembali"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "Antrean"
|
||||
msgid "Lyrics"
|
||||
msgstr "Lirik"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Hapus Trek"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Tidak ada media yang diputarkan"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cari"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Lagu yang telah diputar"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "Belum ada lagu di sini"
|
||||
msgid "Playlist"
|
||||
msgstr "Daftar Putar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artis"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Daftar Putar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Tidak diketahui"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Cari musik di YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Putar Berikutnya"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Tambahkan ke antrean"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Hapus Favorit"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Tambahkan Favorit"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Lagu Favorit"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Kembali"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Cari musik di YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Tambahkan ke Daftar Putar"
|
||||
|
||||
|
||||
+77
-45
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
# Vincenzo Reale <[email protected]>, 2021, 2022.
|
||||
# Vincenzo Reale <[email protected]>, 2021, 2022, 2023.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 14:06+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 19:12+0100\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.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -48,9 +48,9 @@ msgstr "Apri nel browser"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Altro"
|
||||
@@ -65,7 +65,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgstr ""
|
||||
"La riproduzione dei video non è ancora supportata. Vuoi riprodurre solo "
|
||||
"l'audio di «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
@@ -84,12 +84,12 @@ msgstr "Album"
|
||||
msgid "Singles"
|
||||
msgstr "Singoli"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Brani"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Video"
|
||||
@@ -104,42 +104,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Preferiti"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostra tutto"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Brani preferiti"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Più riprodotti"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Brani riprodotti"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Indietro"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "Coda"
|
||||
msgid "Lyrics"
|
||||
msgstr "Testi"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Rimuovi traccia"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Nessun supporto in riproduzione"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Raccolta"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Brani riprodotti"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "Non c'è ancora alcun brano"
|
||||
msgid "Playlist"
|
||||
msgstr "Scaletta"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Ricerche precedenti:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artisti"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Scalette"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Trova musica su Youtube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Nessuna ricerca precedente corrispondente"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "rimuovi dalla cronologia delle ricerche"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Contrai la barra laterale"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Riproduci successivo"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Aggiungi alla coda"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Rimuovi preferito"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Aggiungi preferito"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Rimuovi dalla cronologia"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Brani preferiti"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Indietro"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Trova musica su Youtube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Aggiungi alla scaletta"
|
||||
|
||||
|
||||
+64
-41
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2021-05-29 19:15-0700\n"
|
||||
"Last-Translator: Japanese KDE translation team <[email protected]>\n"
|
||||
"Language-Team: Japanese <[email protected]>\n"
|
||||
@@ -45,9 +45,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -62,14 +62,14 @@ msgstr ""
|
||||
msgid "Artist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr ""
|
||||
@@ -79,12 +79,12 @@ msgstr ""
|
||||
msgid "Singles"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr ""
|
||||
@@ -99,42 +99,29 @@ msgstr ""
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr ""
|
||||
@@ -154,17 +141,33 @@ msgstr ""
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -180,42 +183,62 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
+76
-44
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-29 06:58+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 08:44+0100\n"
|
||||
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
|
||||
"Language-Team: Georgian <[email protected]>\n"
|
||||
"Language: ka\n"
|
||||
@@ -16,7 +16,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: Poedit 3.2\n"
|
||||
"X-Generator: Poedit 3.2.2\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -49,9 +49,9 @@ msgstr "ბრაუზერში გახსნა"
|
||||
msgid "Album • %1"
|
||||
msgstr "ალბომი • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "მეტი"
|
||||
@@ -66,7 +66,7 @@ msgstr "რადიო"
|
||||
msgid "Artist"
|
||||
msgstr "შემსრულებელი"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"ვიდეოს დაკვრა ჯერ მხარდაჭერილი არაა. გნებავთ \"%1\"-ის მხოლოდ ხმა დავუკრა?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "ალბომები"
|
||||
@@ -84,12 +84,12 @@ msgstr "ალბომები"
|
||||
msgid "Singles"
|
||||
msgstr "სინგლები"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "სიმღერები"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "ვიდეო"
|
||||
@@ -104,42 +104,29 @@ msgstr "კარგი"
|
||||
msgid "Cancel"
|
||||
msgstr "გაუქმენა"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "რჩეულები"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "ყველას ჩვენება"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "რჩეული სიმღერები"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "ხშირად დაკრულები"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "დაკრული სიმღერები"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "უკან"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ძებნა"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "რიგი"
|
||||
msgid "Lyrics"
|
||||
msgstr "ლირიკა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "აუდიობილიკის წაშლა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "არაფერს ვუკრავ"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "ბიბლიოთეკა"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ძებნა"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "დაკრული სიმღერები"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "აქ ჯერ სიმღერები არაა"
|
||||
msgid "Playlist"
|
||||
msgstr "დასაკრავი სია"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "წინა ძებნები:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "შემსრულებლები"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "დასაკრავი სიები"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "უცნობი"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "იპოვეთ მუსიკა YouTube Music-ზე"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "წინა ძებნებს არ ემთხვევა"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "ძებნის ისტორიიდან წაშლა"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "გვერდითი ზოლის ჩაკეცვა"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "შემდეგის დაკვრა"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "რიგში ჩამატება"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "რჩეულის წაშლა"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "რჩეულის დამატება"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "ისტორიიდან წაშლა"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "რჩეული სიმღერები"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "უკან"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "იპოვეთ მუსიკა YouTube Music-ზე"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "დასაკრავი სიაში დამატება"
|
||||
|
||||
|
||||
+76
-43
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-10-03 14:20+0200\n"
|
||||
"Last-Translator: Shinjo Park <[email protected]>\n"
|
||||
"Language-Team: Korean <[email protected]>\n"
|
||||
@@ -48,9 +48,9 @@ msgstr "브라우저로 열기"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,14 +66,14 @@ msgstr "라디오"
|
||||
msgid "Artist"
|
||||
msgstr "아티스트"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "앨범"
|
||||
@@ -83,12 +83,12 @@ msgstr "앨범"
|
||||
msgid "Singles"
|
||||
msgstr "싱글"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "곡"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "비디오"
|
||||
@@ -103,42 +103,30 @@ msgstr "확인"
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "책갈피"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "모두 표시"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "책갈피에 등록된 노래"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "가장 많이 재생됨"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "재생한 노래"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "뒤로"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -158,17 +146,33 @@ msgstr "대기열에 추가"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "트랙 삭제"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "재생 중인 미디어 없음"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "재생한 노래"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,48 +189,77 @@ msgstr "목록에 등록된 곡 없음"
|
||||
msgid "Playlist"
|
||||
msgstr "재생 목록"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "아티스트"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "재생 목록"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "YouTube Music에서 음악 찾기"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "다음 재생"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "책갈피"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "책갈피"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "책갈피에 등록된 노래"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "뒤로"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "YouTube Music에서 음악 찾기"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "재생 목록에 추가"
|
||||
|
||||
|
||||
+79
-47
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Freek de Kruijf <[email protected]>, 2021, 2022.
|
||||
# Freek de Kruijf <[email protected]>, 2021, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 11:10+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 12:41+0100\n"
|
||||
"Last-Translator: Freek de Kruijf <[email protected]>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: nl\n"
|
||||
@@ -15,12 +15,12 @@ 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.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Freek de Kruijf - 2021 t/m 2022"
|
||||
msgstr "Freek de Kruijf - 2021 t/m 2023"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
@@ -48,9 +48,9 @@ msgstr "In browser openen"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Meer"
|
||||
@@ -65,7 +65,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artiest"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgstr ""
|
||||
"Afspelen van video wordt nog niet ondersteund. Wilt u alleen het geluid van "
|
||||
"\"%1\" afspelen?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
@@ -84,12 +84,12 @@ msgstr "Albums"
|
||||
msgid "Singles"
|
||||
msgstr "Enkelvoudige"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songs"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Video's"
|
||||
@@ -104,42 +104,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favorieten"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Alles tonen"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Favoriete songs"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Meest afgespeeld"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Afgespeelde songs"
|
||||
msgid "played Songs"
|
||||
msgstr "afgespeelde songs"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Terug"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "Wachtrij"
|
||||
msgid "Lyrics"
|
||||
msgstr "Liedteksten"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Track verwijderen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Er speelt geen medium"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Bibliotheek"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Afgespeelde songs"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "Er zijn hier nog geen songs"
|
||||
msgid "Playlist"
|
||||
msgstr "Afspeellijst"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Vorige zoekopdrachten:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artiesten"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Afspeellijsten"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Onbekend"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Muziek zoeken op YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Geen overeenkomende vorige zoekopdrachten"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "uit zoekgeschiedenis verwijderen"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Zijbalk invouwen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Volgende afspelen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Aan wachtrij toevoegen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Favoriet verwijderen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Favoriet toevoegen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Uit geschiedenis verwijderen"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Favoriete songs"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Terug"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Muziek zoeken op YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Aan afspeellijst toevoegen"
|
||||
|
||||
|
||||
+75
-52
@@ -1,13 +1,13 @@
|
||||
# Translation of audiotube to Norwegian Nynorsk
|
||||
#
|
||||
# Øystein Steffensen-Alværvik <[email protected]>, 2022.
|
||||
# Karl Ove Hufthammer <[email protected]>, 2022.
|
||||
# Karl Ove Hufthammer <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-12 00:49+0000\n"
|
||||
"PO-Revision-Date: 2022-09-11 19:45+0200\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-15 12:33+0100\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
|
||||
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
|
||||
"Language: nn\n"
|
||||
@@ -15,7 +15,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 22.08.1\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
"X-Environment: kde\n"
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
@@ -49,14 +49,14 @@ msgstr "Opna i nettlesar"
|
||||
#: contents/ui/AlbumPage.qml:44
|
||||
#, kde-format
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
msgstr "Meir"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:27
|
||||
#, kde-format
|
||||
@@ -66,16 +66,16 @@ msgstr "Radio"
|
||||
#: contents/ui/ArtistPage.qml:46
|
||||
#, kde-format
|
||||
msgid "Artist"
|
||||
msgstr ""
|
||||
msgstr "Artist"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
@@ -85,12 +85,12 @@ msgstr "Album"
|
||||
msgid "Singles"
|
||||
msgstr "Singelplater"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Songar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videoar"
|
||||
@@ -105,42 +105,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favorittar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:181
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Vis alle"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Favorittsongar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:171
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Oftast avspela"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:186
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Avspela songar"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Tilbake"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -158,19 +145,35 @@ msgstr "Kø"
|
||||
#: contents/ui/MaximizedPlayerPage.qml:157
|
||||
#, kde-format
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
msgstr "Songtekst"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Fjern spor"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Inkje medium vert spela"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Bibliotek"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Avspela songar"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,44 +187,64 @@ msgstr "Ingen songar enno"
|
||||
#: contents/ui/PlaylistPage.qml:42
|
||||
#, kde-format
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
msgstr "Speleliste"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Tidlegare søk:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Spelelister"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjend"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Søk etter musikk på YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:26
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Fald saman sidestolpe"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Spel som neste"
|
||||
|
||||
#: contents/ui/SongMenu.qml:32
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
msgstr "Legg i avspelingskøen"
|
||||
|
||||
#: contents/ui/SongMenu.qml:39
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
msgstr "Fjern frå favorittar"
|
||||
|
||||
#: contents/ui/SongMenu.qml:39
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Legg til favorittar"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
+68
-42
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+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"
|
||||
@@ -48,9 +48,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,14 +66,14 @@ msgstr "ਰੇਡੀਓ"
|
||||
msgid "Artist"
|
||||
msgstr "ਕਲਾਕਾਰ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "ਐਲਬਮਾਂ"
|
||||
@@ -83,12 +83,12 @@ msgstr "ਐਲਬਮਾਂ"
|
||||
msgid "Singles"
|
||||
msgstr "ਇਕੱਲੇ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "ਗੀਤ"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "ਵਿਡੀਓ"
|
||||
@@ -103,42 +103,29 @@ msgstr "ਠੀਕ ਹੈ"
|
||||
msgid "Cancel"
|
||||
msgstr "ਰੱਦ ਕਰੋ"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ਖੋਜੋ"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "ਆਡੀਓ-ਟਿਊਬ"
|
||||
@@ -159,17 +146,33 @@ msgstr ""
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "ਟਰੈਕ ਨੂੰ ਹਟਾਓ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "ਖੋਜੋ"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -186,46 +189,69 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "ਕਲਾਕਾਰ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "ਅਣਪਛਾਤਾ"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "ਅਗਲਾ ਚਲਾਓ"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
|
||||
|
||||
|
||||
+76
-43
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-10-18 18:06+0200\n"
|
||||
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
|
||||
"Language-Team: Polish <[email protected]>\n"
|
||||
@@ -50,9 +50,9 @@ msgstr "Otwórz w przeglądarce"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -68,7 +68,7 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Wykonawcy"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -77,7 +77,7 @@ msgstr ""
|
||||
"Odtwarzanie wideo nie jest jeszcze obsługiwane. Czy odtworzyć tylko dźwięk z "
|
||||
"„%1”?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumy"
|
||||
@@ -87,12 +87,12 @@ msgstr "Albumy"
|
||||
msgid "Singles"
|
||||
msgstr "Single"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Piosenki"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Filmy"
|
||||
@@ -107,42 +107,30 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Ulubione"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Pokaż wszystkie"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Ulubione utwory"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Najczęściej odtwarzane"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Odtwarzane utwory"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Wstecz"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -162,17 +150,33 @@ msgstr "Kolejka"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Usuń utwór"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Nic nie jest odtwarzane"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Odtwarzane utwory"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -189,48 +193,77 @@ msgstr "Jeszcze nie ma tutaj utworów"
|
||||
msgid "Playlist"
|
||||
msgstr "Listy odtwarzania"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Wykonawcy"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Listy odtwarzania"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Nieznany"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Znajdź muzykę w serwisie YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Odtwórz następny"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Ulubione"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Ulubione"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Ulubione utwory"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Wstecz"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Znajdź muzykę w serwisie YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Dodaj do listy odtwarzania"
|
||||
|
||||
|
||||
+68
-44
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 18:35+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-22 23:00+0000\n"
|
||||
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
|
||||
"Language-Team: Portuguese <[email protected]>\n"
|
||||
"Language: pt\n"
|
||||
@@ -50,9 +50,9 @@ msgstr "Abrir no Navegador"
|
||||
msgid "Album • %1"
|
||||
msgstr "Álbum • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Mais"
|
||||
@@ -67,7 +67,7 @@ msgstr "Rádio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -76,7 +76,7 @@ msgstr ""
|
||||
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
|
||||
"áudio de \"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbuns"
|
||||
@@ -86,12 +86,12 @@ msgstr "Álbuns"
|
||||
msgid "Singles"
|
||||
msgstr "'Singles'"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Músicas"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -106,42 +106,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostrar Tudo"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Músicas Favoritas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Mais Tocadas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Músicas Tocadas"
|
||||
msgid "played Songs"
|
||||
msgstr "Músicas tocadas"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Recuar"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -161,17 +148,33 @@ msgstr "Fila"
|
||||
msgid "Lyrics"
|
||||
msgstr "Letras Musicais"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Remover a Faixa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Nada em reprodução"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Biblioteca"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Músicas Tocadas"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -187,42 +190,63 @@ msgstr "Ainda sem músicas aqui"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de Reprodução"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Pesquisas Anteriores:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistas"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Listas de Reprodução"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Procurar música no YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Sem pesquisas anteriores correspondentes"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from History"
|
||||
msgid "remove from search history"
|
||||
msgstr "Remover do Histórico"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Fechar a Barra Lateral"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduzir o Seguinte"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Adicionar à fila"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Remover o Favorito"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Adicionar aos Favoritos"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Remover do Histórico"
|
||||
+76
-43
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-12-20 10:48-0300\n"
|
||||
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
|
||||
"Language-Team: Portuguese <[email protected]>\n"
|
||||
@@ -49,9 +49,9 @@ msgstr "Abrir no navegador"
|
||||
msgid "Album • %1"
|
||||
msgstr "Álbum • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Mais"
|
||||
@@ -66,7 +66,7 @@ msgstr "Rádio"
|
||||
msgid "Artist"
|
||||
msgstr "Artista"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -75,7 +75,7 @@ msgstr ""
|
||||
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
|
||||
"áudio de \"%1\"?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Álbuns"
|
||||
@@ -85,12 +85,12 @@ msgstr "Álbuns"
|
||||
msgid "Singles"
|
||||
msgstr "Singles"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Músicas"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Vídeos"
|
||||
@@ -105,42 +105,30 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoritas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Mostrar tudo"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Músicas favoritas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Mais reproduzidas"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Músicas reproduzidas"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Voltar"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Pesquisar"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -160,17 +148,33 @@ msgstr "Fila"
|
||||
msgid "Lyrics"
|
||||
msgstr "Letras"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Remover faixa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Nenhuma mídia em reprodução"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Pesquisar"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Músicas reproduzidas"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -186,46 +190,75 @@ msgstr "Nenhuma música ainda"
|
||||
msgid "Playlist"
|
||||
msgstr "Lista de músicas"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artistas"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Listas de músicas"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Desconhecido"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Encontre músicas no YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Reproduzir próxima"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Adicionar à fila"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Remover das favoritas"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Adicionar favorita"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Músicas favoritas"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Voltar"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Encontre músicas no YouTube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Adicionar à lista de reprodução"
|
||||
|
||||
|
||||
+76
-44
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Alexander Yavorsky <[email protected]>, 2022.
|
||||
# Alexander Yavorsky <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-12-27 10:21+0300\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-28 13:37+0300\n"
|
||||
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
|
||||
"Language-Team: Russian <[email protected]>\n"
|
||||
"Language: ru\n"
|
||||
@@ -49,9 +49,9 @@ msgstr "Открыть в браузере"
|
||||
msgid "Album • %1"
|
||||
msgstr "Альбом • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Дополнительно"
|
||||
@@ -66,7 +66,7 @@ msgstr "Радио"
|
||||
msgid "Artist"
|
||||
msgstr "Исполнитель"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Воспроизведение видео пока не поддерживается. Воспроизвести звук трека «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Альбомы"
|
||||
@@ -84,12 +84,12 @@ msgstr "Альбомы"
|
||||
msgid "Singles"
|
||||
msgstr "Синглы"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Треки"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Видеозаписи"
|
||||
@@ -104,42 +104,29 @@ msgstr "ОК"
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Избранное"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Показать все"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Избранные треки"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Часто воспроизводимые"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Воспроизведённые треки"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "Очередь воспроизведения"
|
||||
msgid "Lyrics"
|
||||
msgstr "Текст песни"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Удалить дорожку"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Ничего не воспроизводится"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Библиотека"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Воспроизведённые треки"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "Пока нет ни одного трека"
|
||||
msgid "Playlist"
|
||||
msgstr "Список воспроизведения"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Предыдущие поисковые запросы:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Исполнители"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Списки воспроизведения"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестный тип"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Найти музыку в YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Свернуть боковую панель"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Воспроизвести следующим"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Добавить в очередь воспроизведения"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Убрать из избранного"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Добавить в избранное"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Удалить из журнала"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Избранные треки"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Назад"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Найти музыку в YouTube Music"
|
||||
|
||||
#~ msgid "Clear"
|
||||
#~ msgstr "Очистить"
|
||||
|
||||
|
||||
+64
-41
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+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"
|
||||
@@ -46,9 +46,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -64,14 +64,14 @@ msgstr "Rádio"
|
||||
msgid "Artist"
|
||||
msgstr "Interpreti"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumy"
|
||||
@@ -81,12 +81,12 @@ msgstr "Albumy"
|
||||
msgid "Singles"
|
||||
msgstr "Samotné"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videá"
|
||||
@@ -101,42 +101,29 @@ msgstr "OK"
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hľadať"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -157,17 +144,33 @@ msgstr ""
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Neprehráva sa žiadne médium"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hľadať"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,47 +187,67 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Interpreti"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Neznáme"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play"
|
||||
msgid "Play Next"
|
||||
msgstr "Prehrať"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
|
||||
+78
-46
@@ -1,20 +1,20 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Matjaž Jeran <[email protected]>, 2021, 2022.
|
||||
# Matjaž Jeran <[email protected]>, 2021, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-29 07:45+0100\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-28 09:50+0100\n"
|
||||
"Last-Translator: Matjaž Jeran <[email protected]>\n"
|
||||
"Language-Team: Slovenian <[email protected]>\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 22.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
|
||||
"%100==4 ? 3 : 0);\n"
|
||||
|
||||
@@ -49,9 +49,9 @@ msgstr "Odpri v brskalniku"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Več"
|
||||
@@ -66,14 +66,14 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Avtor"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albumi"
|
||||
@@ -83,12 +83,12 @@ msgstr "Albumi"
|
||||
msgid "Singles"
|
||||
msgstr "Singli"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Glasba"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videposnetki"
|
||||
@@ -103,42 +103,29 @@ msgstr "V redu"
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Priljubljene"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Prikaži vse"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Priljubljene pesmi"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Največkrat predvajane"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Predvajane pesmi"
|
||||
msgid "played Songs"
|
||||
msgstr "predvajane pesmi"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Nazaj"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Išči"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -158,17 +145,33 @@ msgstr "Čakalna vrsta"
|
||||
msgid "Lyrics"
|
||||
msgstr "Besedilo"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Odstrani sled"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Niče se ne predvaja"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Knjižnica"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Išči"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Predvajane pesmi"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,46 +187,75 @@ msgstr "Tu še ni nobene pesmi"
|
||||
msgid "Playlist"
|
||||
msgstr "Seznam predvajanja"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Prejšnja iskanja:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Avtorji"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Seznami predvajanja"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Neznano"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Najdi glasbo na Youtube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Ni zadetkov iz prejšnjih iskanj"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "odstrani iz zgodovine iskanj"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Strni stransko vrstico"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Predvajaj naslednjo"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Dodaj v v čakalno vrsto"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Odstrani priljubljenega"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Dodaj priljubljenega"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Odstrani iz zgodovine"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Priljubljene pesmi"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Nazaj"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Najdi glasbo na Youtube Music"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Dodaj v seznam predvajanja"
|
||||
|
||||
|
||||
+76
-43
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+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"
|
||||
@@ -48,9 +48,9 @@ msgstr "Öppna i webbläsare"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,14 +66,14 @@ msgstr "Radio"
|
||||
msgid "Artist"
|
||||
msgstr "Artister"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Album"
|
||||
@@ -83,12 +83,12 @@ msgstr "Album"
|
||||
msgid "Singles"
|
||||
msgstr "Singlar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Låtar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videor"
|
||||
@@ -103,42 +103,30 @@ msgstr "Ok"
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Favoriter"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Visa alla"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Favoritlåtar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Mest spelade"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Spelade låtar"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Bakåt"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -158,17 +146,33 @@ msgstr "Köa"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Ta bort spår"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Inga media spelar"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Spelade låtar"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,48 +189,77 @@ msgstr "Inga låtar här ännu"
|
||||
msgid "Playlist"
|
||||
msgstr "Spellistor"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Artister"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Spellistor"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Okänd"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Sök efter musik på YouTube musik"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Spela nästa"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Favoriter"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add Favourite"
|
||||
msgstr "Favoriter"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Favoritlåtar"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Bakåt"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Sök efter musik på YouTube musik"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Lägg till i spellista"
|
||||
|
||||
|
||||
+77
-45
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the audiotube package.
|
||||
#
|
||||
# Emir SARI <[email protected]>, 2022.
|
||||
# Emir SARI <[email protected]>, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 18:46+0300\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 18:30+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.08.3\n"
|
||||
"X-Generator: Lokalize 22.12.1\n"
|
||||
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
@@ -48,9 +48,9 @@ msgstr "Tarayıcıda Aç"
|
||||
msgid "Album • %1"
|
||||
msgstr "Albüm • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Daha Fazla"
|
||||
@@ -65,7 +65,7 @@ msgstr "Radyo"
|
||||
msgid "Artist"
|
||||
msgstr "Sanatçı"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -74,7 +74,7 @@ msgstr ""
|
||||
"Video oynatımı henüz desteklenmiyor. \"%1\" videosunun yalnızca sesinin "
|
||||
"çalınmasını ister misiniz?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Albümler"
|
||||
@@ -84,12 +84,12 @@ msgstr "Albümler"
|
||||
msgid "Singles"
|
||||
msgstr "Tekliler"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Şarkılar"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Videolar"
|
||||
@@ -104,42 +104,29 @@ msgstr "Tamam"
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Beğeniler"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Tümünü Göster"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Beğenilen Şarkılar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "En Çok Çalınanlar"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Çalınan Şarkılar"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Geri"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -159,17 +146,33 @@ msgstr "Kuyruk"
|
||||
msgid "Lyrics"
|
||||
msgstr "Şarkı Sözleri"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Parçayı Kaldır"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Ortam çalmıyor"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Kitaplık"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Çalınan Şarkılar"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -185,46 +188,75 @@ msgstr "Burada henüz şarkı yok"
|
||||
msgid "Playlist"
|
||||
msgstr "Çalma Listesi"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Önceki Aramalar:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Sanatçılar"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Çalma Listeleri"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinmiyor"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "YouTube Müzik'te müzik bul"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Eşleşen daha önceden yapılmış arama yok"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "arama geçmişinden kaldır"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Kenar Çubuğunu Daralt"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Sonrakini Çal"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Kuyruğa ekle"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Beğenilerden Kaldır"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Beğenilere Ekle"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Geçmişten Kaldır"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Beğenilen Şarkılar"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Geri"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "YouTube Müzik'te müzik bul"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Çalma Listesine Ekle"
|
||||
|
||||
|
||||
+76
-44
@@ -1,13 +1,13 @@
|
||||
# Copyright (C) YEAR This file is copyright:
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Yuri Chornoivan <[email protected]>, 2021, 2022.
|
||||
# Yuri Chornoivan <[email protected]>, 2021, 2022, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-11-28 20:43+0200\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-27 10:54+0200\n"
|
||||
"Last-Translator: Fracture dept <[email protected]>\n"
|
||||
"Language-Team: Ukrainian <[email protected]>\n"
|
||||
"Language: uk\n"
|
||||
@@ -49,9 +49,9 @@ msgstr "Відкрити у переглядачі"
|
||||
msgid "Album • %1"
|
||||
msgstr "Альбом • %1"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr "Більше"
|
||||
@@ -66,7 +66,7 @@ msgstr "Радіо"
|
||||
msgid "Artist"
|
||||
msgstr "Виконавець"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -75,7 +75,7 @@ msgstr ""
|
||||
"Підтримки відтворення відео ще не передбачено. Хочете, щоб було відтворено "
|
||||
"лише звукову частину «%1»?"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "Альбоми"
|
||||
@@ -85,12 +85,12 @@ msgstr "Альбоми"
|
||||
msgid "Singles"
|
||||
msgstr "Одинарні"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Пісні"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "Відео"
|
||||
@@ -105,42 +105,29 @@ msgstr "Гаразд"
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "Улюблені"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Показати всі"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "Улюблені композиції"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Часто слухали"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr "Відтворені композиції"
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "Назад"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -160,17 +147,33 @@ msgstr "Додати до черги"
|
||||
msgid "Lyrics"
|
||||
msgstr "Текст"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "Вилучити композицію"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "Відтворення не відбувається"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Бібліотека"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "Відтворені композиції"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -186,46 +189,75 @@ msgstr "Тут ще немає композицій"
|
||||
msgid "Playlist"
|
||||
msgstr "Список відтворення"
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Попередні пошуки:"
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "Виконавці"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "Списки відтворення"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "Невідомий"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "Шукати музику на сайті «Музика Youtube»"
|
||||
msgid "No matching previous searches"
|
||||
msgstr "Немає відповідних попередніх пошуків"
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "вилучити з журналу пошуку"
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Згорнути бічну панель"
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "Відтворити наступну"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Додати до черги"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr "Вилучити з улюблених"
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr "Додати до улюблених"
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Вилучити із журналу"
|
||||
|
||||
#~ msgid "Favourite Songs"
|
||||
#~ msgstr "Улюблені композиції"
|
||||
|
||||
#~ msgid "Back"
|
||||
#~ msgstr "Назад"
|
||||
|
||||
#~ msgid "Find music on YouTube Music"
|
||||
#~ msgstr "Шукати музику на сайті «Музика Youtube»"
|
||||
|
||||
#~ msgid "Add to Playlist"
|
||||
#~ msgstr "Додати до списку відтворення"
|
||||
|
||||
|
||||
+67
-44
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"PO-Revision-Date: 2022-12-24 11:42\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2023-01-12 10:32\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -48,9 +48,9 @@ msgstr "在浏览器中打开"
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -65,14 +65,14 @@ msgstr "电台"
|
||||
msgid "Artist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, 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:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr "专辑"
|
||||
@@ -82,12 +82,12 @@ msgstr "专辑"
|
||||
msgid "Singles"
|
||||
msgstr "单曲"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "曲目"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr "视频"
|
||||
@@ -102,42 +102,29 @@ msgstr "确定"
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr "收藏夹"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "显示全部"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr "收藏的歌曲"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "最常播放"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "已播放歌曲"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr "返回"
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -157,17 +144,33 @@ msgstr "播放队列"
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr "移除曲目"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr "没有正在播放的媒体"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr "已播放歌曲"
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -183,42 +186,62 @@ msgstr "此处无歌曲"
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr "艺人"
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr "播放列表"
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgstr "查找 YouTube Music 中的音乐"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr "播放下一首"
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
+64
-41
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: audiotube\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
|
||||
"POT-Creation-Date: 2023-01-30 01:00+0000\n"
|
||||
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -49,9 +49,9 @@ msgstr ""
|
||||
msgid "Album • %1"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
|
||||
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
|
||||
#: contents/ui/SearchPage.qml:128
|
||||
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
|
||||
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
|
||||
#: contents/ui/SearchPage.qml:130
|
||||
#, kde-format
|
||||
msgid "More"
|
||||
msgstr ""
|
||||
@@ -66,14 +66,14 @@ msgstr ""
|
||||
msgid "Artist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
|
||||
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
"\"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
|
||||
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
|
||||
#, kde-format
|
||||
msgid "Albums"
|
||||
msgstr ""
|
||||
@@ -83,12 +83,12 @@ msgstr ""
|
||||
msgid "Singles"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
|
||||
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
|
||||
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Videos"
|
||||
msgstr ""
|
||||
@@ -103,42 +103,29 @@ msgstr ""
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:21
|
||||
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:44
|
||||
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
|
||||
#: contents/ui/Sidebar.qml:124 contents/ui/Sidebar.qml:131
|
||||
#, kde-format
|
||||
msgid "Favourites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
|
||||
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:225
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:36
|
||||
#, kde-format
|
||||
msgid "Favourite Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:196
|
||||
#: contents/ui/LibraryPage.qml:214
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:211
|
||||
#: contents/ui/LibraryPage.qml:230
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgid "played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:49
|
||||
#, kde-format
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/main.qml:95
|
||||
#: contents/ui/main.qml:109
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr ""
|
||||
@@ -158,17 +145,33 @@ msgstr ""
|
||||
msgid "Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:273
|
||||
#: contents/ui/MaximizedPlayerPage.qml:274
|
||||
#, kde-format
|
||||
msgid "Remove Track"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:315
|
||||
#: contents/ui/MinimizedPlayerControls.qml:91
|
||||
#: contents/ui/MaximizedPlayerPage.qml:316
|
||||
#: contents/ui/MinimizedPlayerControls.qml:90
|
||||
#, kde-format
|
||||
msgid "No media playing"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:93
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:109
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
|
||||
#: contents/ui/Sidebar.qml:143 contents/ui/Sidebar.qml:150
|
||||
#, kde-format
|
||||
msgid "Played Songs"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
@@ -184,42 +187,62 @@ msgstr ""
|
||||
msgid "Playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:27
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:28
|
||||
#, kde-format
|
||||
msgid "Artists"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:29
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
msgid "Playlists"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:36
|
||||
#: contents/ui/SearchPage.qml:37
|
||||
#, kde-format
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:146
|
||||
#: contents/ui/SearchWithDropdown.qml:287
|
||||
#, kde-format
|
||||
msgid "Find music on YouTube Music"
|
||||
msgid "No matching previous searches"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
|
||||
#: contents/ui/SearchWithDropdown.qml:322
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:179
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:113 contents/ui/SongMenu.qml:172
|
||||
#, kde-format
|
||||
msgid "Play Next"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
|
||||
#: contents/ui/SongMenu.qml:122 contents/ui/SongMenu.qml:178
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Remove Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
|
||||
#: contents/ui/SongMenu.qml:132 contents/ui/SongMenu.qml:185
|
||||
#, kde-format
|
||||
msgid "Add Favourite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:148 contents/ui/SongMenu.qml:200
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr ""
|
||||
+1
-1
@@ -3,5 +3,5 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
ytmusicapi==0.24.0
|
||||
ytmusicapi==0.25.0
|
||||
yt-dlp
|
||||
@@ -33,9 +33,11 @@ add_executable(audiotube
|
||||
errorhandler.cpp
|
||||
playerutils.cpp
|
||||
abstractytmusicmodel.cpp
|
||||
autolistmodel.h
|
||||
multiiterableview.h
|
||||
library.cpp
|
||||
resources.qrc
|
||||
blur.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(audiotube
|
||||
@@ -49,6 +51,8 @@ target_link_libraries(audiotube
|
||||
KF5::I18n
|
||||
KF5::CoreAddons
|
||||
KF5::Crash
|
||||
KF5::WindowSystem
|
||||
Desert::desert
|
||||
ytm
|
||||
asyncdatabase
|
||||
)
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
// SPDX-FileCopyrightText: 2023 Jonah Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QAbstractListModel>
|
||||
#include <QDebug>
|
||||
|
||||
#include <Desert/Reflection>
|
||||
|
||||
#include "updateablemodel.h"
|
||||
|
||||
template <typename T>
|
||||
using AutoListModelBase = UpdateableModel<QAbstractListModel, T>;
|
||||
|
||||
template <typename T>
|
||||
concept IsComparable = requires(T v, T o)
|
||||
{
|
||||
{ v == o } -> std::same_as<bool>;
|
||||
{ v < o } -> std::same_as<bool>;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
requires desert::IsDesertObject<T> && IsComparable<T>
|
||||
class AutoListModel : public AutoListModelBase<T>
|
||||
{
|
||||
public:
|
||||
AutoListModel(QObject *parent = nullptr) : AutoListModelBase<T>(parent) {
|
||||
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override {
|
||||
QHash<int, QByteArray> roles;
|
||||
int i = Qt::UserRole + 1;
|
||||
T mock_obj;
|
||||
desert::iterate_struct(mock_obj, [&](auto attribute) {
|
||||
roles.insert(i, attribute.attributeName().toUtf8());
|
||||
i++;
|
||||
});
|
||||
return roles;
|
||||
}
|
||||
|
||||
int rowCount(const QModelIndex &parent) const override {
|
||||
return parent.isValid() ? 0 : m_data.size();
|
||||
}
|
||||
|
||||
QVariant data(const QModelIndex &index, int role) const override {
|
||||
int structIndex = role - Qt::UserRole - 1;
|
||||
if (structIndex >= pfr::tuple_size_v<T>) {
|
||||
qDebug() << "Tried to fetch a role that is not defined by this model. Role id:" << role;
|
||||
return {};
|
||||
}
|
||||
return structAttributeAt<0, T>(m_data.at(index.row()), structIndex);
|
||||
}
|
||||
|
||||
void updateData(std::vector<T> &&updatedData) {
|
||||
// allow comparing items. Could also have used an operator< on Data
|
||||
auto lessThan = [](const T &lhs, const T &rhs) { return lhs < rhs; };
|
||||
// check if the item has changed data, but is otherwise the same object. Needs to return the actual changes made.
|
||||
auto itemHasChanged = [](const T &lhs, const T &rhs) {
|
||||
typename AutoListModelBase<T>::DataChanges changes;
|
||||
if (lhs != rhs)
|
||||
changes.changedColumns.append(0);
|
||||
changes.changedRoles = QVector<int>{}; // TODO more specific updates
|
||||
return changes;
|
||||
};
|
||||
|
||||
// call the updateData method to trigger merging in the changes to the model
|
||||
auto changes = AutoListModelBase<T>::updateData(updatedData.cbegin(), updatedData.cend(), m_data, lessThan, itemHasChanged);
|
||||
|
||||
// the method above returns some stats, so lets print them.
|
||||
qDebug() << "changes in model: inserts:" << changes.inserts << " deletes:" << changes.removals
|
||||
<< " updates:" << changes.updates;
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<T> m_data;
|
||||
};
|
||||
|
||||
template <size_t i, typename T>
|
||||
requires desert::IsDesertObject<T>
|
||||
QVariant structAttributeAt(const T &object, size_t index) {
|
||||
if constexpr (i >= pfr::tuple_size_v<T>) {
|
||||
Q_UNREACHABLE();
|
||||
} else if (i == index) {
|
||||
return QVariant::fromValue(pfr::get<i>(object).value);
|
||||
} else {
|
||||
return structAttributeAt<i + 1>(object, index);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
*/
|
||||
|
||||
#include "blur.h"
|
||||
|
||||
#include <KWindowEffects>
|
||||
|
||||
#include <QQuickWindow>
|
||||
#include <QQuickItem>
|
||||
|
||||
|
||||
Blur::Blur(QObject *parent): QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void Blur::setBlur(QQuickItem *item, bool blur)
|
||||
{
|
||||
auto setWindows = [item, blur]() {
|
||||
auto reg = QRect(QPoint(0, 0), item->window()->size());
|
||||
KWindowEffects::enableBackgroundContrast(item->window(), blur, 1, 1, 1, reg);
|
||||
KWindowEffects::enableBlurBehind(item->window(), blur, reg);
|
||||
};
|
||||
|
||||
disconnect(item->window(), &QQuickWindow::heightChanged, this, nullptr);
|
||||
disconnect(item->window(), &QQuickWindow::widthChanged, this, nullptr);
|
||||
connect(item->window(), &QQuickWindow::heightChanged, this, setWindows);
|
||||
connect(item->window(), &QQuickWindow::widthChanged, this, setWindows);
|
||||
setWindows();
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class QQuickItem;
|
||||
|
||||
class Blur : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Blur(QObject *parent = 0);
|
||||
Q_INVOKABLE void setBlur(QQuickItem *item, bool blur);
|
||||
};
|
||||
@@ -56,6 +56,7 @@ Kirigami.ScrollablePage {
|
||||
}
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
id: delegateItem
|
||||
alwaysVisibleActions:true
|
||||
|
||||
required property string title
|
||||
required property string videoId
|
||||
|
||||
@@ -95,6 +95,7 @@ Kirigami.ScrollablePage {
|
||||
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
id: delegateItem
|
||||
alwaysVisibleActions:true
|
||||
|
||||
required property string title
|
||||
required property int type
|
||||
|
||||
@@ -11,8 +11,15 @@ import org.kde.ytmusic 1.0
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
objectName: "libraryPage"
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
title: "AudioTube"
|
||||
|
||||
globalToolBarStyle: Kirigami.ApplicationHeaderStyle.None
|
||||
rightPadding: 0
|
||||
leftPadding: 0
|
||||
|
||||
SongMenu {
|
||||
id: menu
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
RowLayout {
|
||||
@@ -20,6 +27,7 @@ Kirigami.ScrollablePage {
|
||||
Kirigami.Heading {
|
||||
text: i18n("Favourites")
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
leftPadding: 15
|
||||
}
|
||||
|
||||
// Spacer
|
||||
@@ -31,14 +39,17 @@ Kirigami.ScrollablePage {
|
||||
text: i18n("Show All")
|
||||
Layout.alignment: Qt.AlignRight
|
||||
icon.name: "arrow-right"
|
||||
onClicked: pageStack.layers.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.favourites,
|
||||
"title": i18n("Favourite Songs")
|
||||
})
|
||||
onClicked: {pageStack.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.favourites,
|
||||
"title": i18n("Favourites"),
|
||||
"objectName": "favourites"
|
||||
})}
|
||||
}
|
||||
}
|
||||
|
||||
Controls.ScrollView {
|
||||
leftPadding: 15
|
||||
rightPadding: 25
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
spacing: 20
|
||||
@@ -48,9 +59,9 @@ Kirigami.ScrollablePage {
|
||||
delegate: ColumnLayout {
|
||||
id: delegateItem
|
||||
required property string title
|
||||
required property var artists
|
||||
required property string artistsDisplayString
|
||||
required property string artists
|
||||
required property string videoId
|
||||
required property int index
|
||||
|
||||
Layout.fillWidth: false
|
||||
Layout.maximumWidth: 200
|
||||
@@ -66,14 +77,21 @@ Kirigami.ScrollablePage {
|
||||
onEntered: {
|
||||
if (!Kirigami.Settings.hasTransientTouchInput){
|
||||
favSelected.visible = true
|
||||
favTitle.color = Kirigami.Theme.hoverColor
|
||||
favSubtitle.color = Kirigami.Theme.hoverColor
|
||||
favTitle.font.bold = true
|
||||
playAnimationPosition.running = true
|
||||
playAnimationOpacity.running = true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
onExited: favSelected.visible = false
|
||||
|
||||
onExited:{
|
||||
favSelected.visible = false
|
||||
favTitle.color = Kirigami.Theme.textColor
|
||||
favSubtitle.color = Kirigami.Theme.disabledTextColor
|
||||
favTitle.font.bold = false
|
||||
}
|
||||
}
|
||||
Layout.margins: 5
|
||||
|
||||
@@ -150,6 +168,7 @@ Kirigami.ScrollablePage {
|
||||
RowLayout {
|
||||
ColumnLayout {
|
||||
Controls.Label {
|
||||
id:favTitle
|
||||
text: delegateItem.title
|
||||
Layout.maximumWidth: 200
|
||||
Layout.fillWidth: true
|
||||
@@ -158,24 +177,22 @@ Kirigami.ScrollablePage {
|
||||
|
||||
}
|
||||
Controls.Label {
|
||||
id: favSubtitle
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: 200
|
||||
leftPadding: 5
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
text: delegateItem.artistsDisplayString
|
||||
text: delegateItem.artists
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
Controls.ToolButton {
|
||||
Layout.fillHeight: true
|
||||
icon.name: "view-more-horizontal-symbolic"
|
||||
onPressed: favMenu.openForSong(delegateItem.videoId,
|
||||
onPressed: menu.openForSong(delegateItem.videoId,
|
||||
delegateItem.title,
|
||||
delegateItem.artists,
|
||||
delegateItem.artistsDisplayString)
|
||||
SongMenu {
|
||||
id:favMenu
|
||||
}
|
||||
delegateItem.artists, // TODO
|
||||
delegateItem.artists)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -195,6 +212,7 @@ Kirigami.ScrollablePage {
|
||||
Kirigami.Heading {
|
||||
text: i18n("Most played")
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
leftPadding: 15
|
||||
}
|
||||
|
||||
// Spacer
|
||||
@@ -206,13 +224,16 @@ Kirigami.ScrollablePage {
|
||||
text: i18n("Show All")
|
||||
Layout.alignment: Qt.AlignRight
|
||||
icon.name: "arrow-right"
|
||||
onClicked: pageStack.layers.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.playbackHistory,
|
||||
"title": i18n("Played Songs")
|
||||
})
|
||||
onClicked: {pageStack.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.playbackHistory,
|
||||
"title": i18n("played Songs"),
|
||||
"objectName": "history"
|
||||
})}
|
||||
}
|
||||
}
|
||||
Controls.ScrollView {
|
||||
leftPadding: 15
|
||||
rightPadding: 25
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
spacing: 20
|
||||
@@ -222,8 +243,7 @@ Kirigami.ScrollablePage {
|
||||
delegate: ColumnLayout {
|
||||
id: mpdelegateItem
|
||||
required property string title
|
||||
required property var artists
|
||||
required property string artistsDisplayString
|
||||
required property string artists
|
||||
required property string videoId
|
||||
|
||||
Layout.fillWidth: false
|
||||
@@ -240,10 +260,18 @@ Kirigami.ScrollablePage {
|
||||
onEntered: {
|
||||
if (!Kirigami.Settings.hasTransientTouchInput)
|
||||
recSelected.visible = true
|
||||
recTitle.color = Kirigami.Theme.hoverColor
|
||||
recSubtitle.color = Kirigami.Theme.hoverColor
|
||||
recTitle.font.bold = true
|
||||
playAnimationPositionRec.running = true
|
||||
playAnimationOpacityRec.running = true
|
||||
}
|
||||
onExited: recSelected.visible = false
|
||||
onExited:{
|
||||
recSelected.visible = false
|
||||
recTitle.color = Kirigami.Theme.textColor
|
||||
recSubtitle.color = Kirigami.Theme.disabledTextColor
|
||||
recTitle.font.bold = false
|
||||
}
|
||||
|
||||
}
|
||||
Layout.margins: 5
|
||||
@@ -321,6 +349,7 @@ Kirigami.ScrollablePage {
|
||||
RowLayout {
|
||||
ColumnLayout {
|
||||
Controls.Label {
|
||||
id: recTitle
|
||||
text: mpdelegateItem.title
|
||||
Layout.maximumWidth: 200
|
||||
Layout.fillWidth: true
|
||||
@@ -329,24 +358,22 @@ Kirigami.ScrollablePage {
|
||||
|
||||
}
|
||||
Controls.Label {
|
||||
id: recSubtitle
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: 200
|
||||
leftPadding: 5
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
text: mpdelegateItem.artistsDisplayString
|
||||
text: mpdelegateItem.artists
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
Controls.ToolButton {
|
||||
Layout.fillHeight: true
|
||||
icon.name: "view-more-horizontal-symbolic"
|
||||
onPressed: mpMenu.openForSong(mpdelegateItem.videoId,
|
||||
onPressed: menu.openForSong(mpdelegateItem.videoId,
|
||||
mpdelegateItem.title,
|
||||
mpdelegateItem.artists,
|
||||
mpdelegateItem.artistsDisplayString)
|
||||
SongMenu{
|
||||
id:mpMenu
|
||||
}
|
||||
mpdelegateItem.artists, // TODO
|
||||
mpdelegateItem.artists)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -247,6 +247,7 @@ Item {
|
||||
required property string videoId
|
||||
required property string artists
|
||||
required property bool isCurrent
|
||||
required property int index
|
||||
|
||||
backgroundColor: 'transparent'
|
||||
highlighted: isCurrent
|
||||
|
||||
@@ -14,7 +14,6 @@ import org.kde.ytmusic 1.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
z: 2000
|
||||
|
||||
required property int progressBarHeight
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.4
|
||||
import QtQuick.Layouts 1.2
|
||||
import org.kde.kirigami 2.20 as Kirigami
|
||||
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Kirigami.NavigationTabBar {
|
||||
id: root
|
||||
anchors.bottom: parent.bottom
|
||||
width:parent.width
|
||||
backgroundColor: "transparent"
|
||||
foregroundColor: "white"
|
||||
highlightForegroundColor: "white"
|
||||
shadow: false
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
iconName: "file-library-symbolic"
|
||||
text: i18n("Library")
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "libraryPage"
|
||||
onTriggered: {
|
||||
pageStack.replace("qrc:/LibraryPage.qml")
|
||||
applicationWindow().showSearch = false
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "search"
|
||||
text: i18n("Search")
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "searchPage"
|
||||
onTriggered: {
|
||||
pageStack.replace("qrc:/SearchHistoryPage.qml",)
|
||||
applicationWindow().showSearch = true
|
||||
applicationWindow().searchField.forceActiveFocus();
|
||||
}
|
||||
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "non-starred-symbolic"
|
||||
text: i18n("Favourites")
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "favourites"
|
||||
onTriggered: {
|
||||
pageStack.replace("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.favourites,
|
||||
"title": i18n("Favourites"),
|
||||
"objectName": "favourites"})
|
||||
applicationWindow().showSearch = false
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "edit-undo-history"
|
||||
text: i18n("Played Songs")
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "history"
|
||||
onTriggered: {
|
||||
pageStack.replace("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.playbackHistory,
|
||||
"title": i18n("Played Songs"),
|
||||
"objectName": "history"})
|
||||
applicationWindow().showSearch = false
|
||||
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -32,9 +32,12 @@ Kirigami.ScrollablePage {
|
||||
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
id: delegateItem
|
||||
alwaysVisibleActions:true
|
||||
|
||||
required property string title
|
||||
required property string videoId
|
||||
required property string artists
|
||||
required property int index
|
||||
|
||||
onClicked: {
|
||||
play(videoId)
|
||||
@@ -57,11 +60,15 @@ Kirigami.ScrollablePage {
|
||||
Controls.Label {
|
||||
text: delegateItem.title
|
||||
Layout.fillWidth: true
|
||||
elide: Qt.ElideRight
|
||||
|
||||
}
|
||||
Controls.Label {
|
||||
Layout.fillWidth: true
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
text: delegateItem.artists
|
||||
text: delegateItem.artistsDisplayString
|
||||
elide: Qt.ElideRight
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,7 +77,7 @@ Kirigami.ScrollablePage {
|
||||
Kirigami.Action {
|
||||
icon.name: "view-more-horizontal-symbolic"
|
||||
text: i18n("More")
|
||||
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artists)
|
||||
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.kde.ytmusic 1.0
|
||||
Flickable {
|
||||
id: footerItem
|
||||
|
||||
property int footerSpacing:0
|
||||
property bool maximized: false
|
||||
|
||||
readonly property int progressBarHeight: Kirigami.Units.gridUnit / 6
|
||||
@@ -122,7 +123,7 @@ Flickable {
|
||||
|
||||
ColumnLayout {
|
||||
id: footerLayout
|
||||
|
||||
y:-footerSpacing
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
spacing: 0
|
||||
@@ -135,7 +136,7 @@ Flickable {
|
||||
Controls.Control {
|
||||
Layout.fillWidth: true
|
||||
padding: 0
|
||||
implicitHeight: footerItem.minimizedPlayerHeight
|
||||
implicitHeight: footerItem.minimizedPlayerHeight+footerSpacing
|
||||
|
||||
// minimized player background
|
||||
background: Item {
|
||||
@@ -185,7 +186,7 @@ Flickable {
|
||||
onRequestOpen: toOpen.start();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
MaximizedPlayerPage {
|
||||
id: maximizedPlayerPage
|
||||
Layout.fillWidth: true
|
||||
@@ -198,232 +199,8 @@ Flickable {
|
||||
onRequestClose: toClose.start();
|
||||
}
|
||||
|
||||
//GridLayout {
|
||||
//id: playerLayout
|
||||
|
||||
//readonly property bool mobile: width > height
|
||||
|
||||
//Layout.fillHeight: footerItem.maximized
|
||||
//Layout.fillWidth: true
|
||||
//flow: width > height ? GridLayout.LeftToRight : GridLayout.TopToBottom
|
||||
//visible: footerItem.maximized
|
||||
|
||||
//ColumnLayout {
|
||||
//Layout.preferredWidth: footerLayout.width * (playerLayout.mobile ? 1 : 0.5)
|
||||
//Layout.preferredHeight: footerLayout.height * (playerLayout.mobile ? 0.5 : 1)
|
||||
|
||||
//Item {
|
||||
//Layout.fillWidth: true
|
||||
//Layout.fillHeight: true
|
||||
|
||||
//Image {
|
||||
//anchors.fill: parent
|
||||
//source: info.thumbnail
|
||||
//fillMode: Image.PreserveAspectFit
|
||||
//}
|
||||
//}
|
||||
//Controls.RoundButton {
|
||||
//readonly property QtObject favouriteWatcher: Library.favouriteWatcher(info.videoId)
|
||||
|
||||
//Layout.alignment: Qt.AlignHCenter
|
||||
//icon.name: favouriteWatcher ? (favouriteWatcher.isFavourite ? "starred-symbolic" : "non-starred-symbolic") : ""
|
||||
//onClicked: if (favouriteWatcher)
|
||||
//favouriteWatcher.isFavourite
|
||||
//? Library.removeFavourite(info.videoId)
|
||||
//: Library.addFavourite(info.videoId, info.title)
|
||||
//}
|
||||
//}
|
||||
|
||||
//Item {
|
||||
//Layout.fillWidth: true
|
||||
//Layout.fillHeight: true
|
||||
//Layout.preferredWidth: footerLayout.width * (playerLayout.mobile ? 1 : 0.5)
|
||||
//Layout.preferredHeight: footerLayout.height * (playerLayout.mobile ? 0.5 : 1)
|
||||
|
||||
//Controls.ScrollView {
|
||||
//anchors.fill: parent
|
||||
|
||||
//ListView {
|
||||
//anchors.fill: parent
|
||||
//id: playlistView
|
||||
|
||||
//clip: true
|
||||
|
||||
//Controls.BusyIndicator {
|
||||
//anchors.centerIn: parent
|
||||
//visible: UserPlaylistModel.loading || UserPlaylistModel.loading
|
||||
//}
|
||||
|
||||
//onCountChanged: {
|
||||
//if (count < 1) {
|
||||
//footerItem.maximized = false
|
||||
//}
|
||||
//}
|
||||
|
||||
//model: UserPlaylistModel
|
||||
|
||||
//delegate: Kirigami.SwipeListItem {
|
||||
//id: delegateItem
|
||||
//required property string title
|
||||
//required property string videoId
|
||||
//required property string artists
|
||||
//required property bool isCurrent
|
||||
|
||||
//highlighted: isCurrent
|
||||
//onClicked: UserPlaylistModel.skipTo(videoId)
|
||||
|
||||
//ColumnLayout {
|
||||
//Layout.fillWidth: true
|
||||
//Kirigami.Heading {
|
||||
//elide: Text.ElideRight
|
||||
//Layout.fillWidth: true
|
||||
//level: 2
|
||||
//text: title
|
||||
//}
|
||||
|
||||
//Controls.Label {
|
||||
//elide: Text.ElideRight
|
||||
//Layout.fillWidth: true
|
||||
//text: artists
|
||||
//}
|
||||
//}
|
||||
|
||||
//actions: [
|
||||
//Kirigami.Action {
|
||||
//text: i18n("Remove Track")
|
||||
//icon.name: "list-remove"
|
||||
//onTriggered: UserPlaylistModel.remove(delegateItem.videoId)
|
||||
//}
|
||||
//]
|
||||
//}
|
||||
|
||||
//header: Controls.ToolBar {
|
||||
//anchors.left: parent.left
|
||||
//anchors.right: parent.right
|
||||
//RowLayout {
|
||||
//anchors.fill: parent
|
||||
//Item {
|
||||
//Layout.fillWidth: true
|
||||
//}
|
||||
|
||||
//Controls.ToolButton {
|
||||
//text: i18n("Clear")
|
||||
//icon.name: "edit-clear-all"
|
||||
//onClicked: UserPlaylistModel.clear()
|
||||
//}
|
||||
//Controls.ToolButton {
|
||||
//text: i18n("Shuffle")
|
||||
//icon.name: "media-playlist-shuffle"
|
||||
//onClicked: UserPlaylistModel.shufflePlaylist()
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
//}
|
||||
|
||||
//Kirigami.Separator {
|
||||
//Layout.fillWidth: true
|
||||
//}
|
||||
|
||||
//RowLayout {
|
||||
//id: player
|
||||
|
||||
//Layout.fillWidth: true
|
||||
//Layout.fillHeight: !footer.maximized
|
||||
|
||||
//Controls.ToolButton {
|
||||
//display: Controls.AbstractButton.IconOnly
|
||||
//Layout.preferredWidth: parent.height
|
||||
//Layout.fillHeight: true
|
||||
//enabled: info.audioUrl != ""
|
||||
//text: audio.playbackState === Audio.PlayingState ? i18n("Pause") : i18n("Play")
|
||||
//visible: !info.loading
|
||||
//icon.name: audio.playbackState === Audio.PlayingState ? "media-playback-pause" : "media-playback-start"
|
||||
//onClicked: audio.playbackState === Audio.PlayingState ? audio.pause() : audio.play()
|
||||
//}
|
||||
|
||||
//Controls.ToolButton {
|
||||
//display: Controls.AbstractButton.IconOnly
|
||||
//Layout.preferredWidth: parent.height
|
||||
//Layout.fillHeight: true
|
||||
//enabled: UserPlaylistModel.canSkip
|
||||
//visible: !info.loading
|
||||
//icon.name: "media-skip-forward"
|
||||
//onClicked: UserPlaylistModel.next()
|
||||
//}
|
||||
|
||||
//Controls.BusyIndicator {
|
||||
//Layout.fillHeight: true
|
||||
//visible: info.loading
|
||||
//}
|
||||
|
||||
//ColumnLayout {
|
||||
//Layout.fillHeight: true
|
||||
//Layout.topMargin: Kirigami.Units.smallSpacing
|
||||
//Layout.bottomMargin: Kirigami.Units.smallSpacing
|
||||
|
||||
//Kirigami.Heading {
|
||||
//level: 3
|
||||
//Layout.fillWidth: true
|
||||
//elide: Qt.ElideRight
|
||||
//text: info.title ? info.title : i18n("No media playing")
|
||||
//}
|
||||
|
||||
//RowLayout{
|
||||
|
||||
//Controls.Label{
|
||||
//visible: info.title
|
||||
//text: PlayerUtils.formatTimestamp(audio.position)
|
||||
//}
|
||||
|
||||
//Controls.Slider {
|
||||
//Layout.fillWidth: true
|
||||
//from: 0
|
||||
//to: audio.duration
|
||||
//value: audio.position
|
||||
//enabled: audio.seekable
|
||||
//onMoved: {
|
||||
//console.log("Value:", value);
|
||||
//audio.seek(Math.floor(value));
|
||||
//}
|
||||
|
||||
//Behavior on value {
|
||||
//NumberAnimation {
|
||||
//duration: 1000
|
||||
//}
|
||||
|
||||
//}
|
||||
|
||||
//}
|
||||
|
||||
//Controls.Label{
|
||||
//visible: info.title
|
||||
//text: PlayerUtils.formatTimestamp(audio.duration)
|
||||
//}
|
||||
|
||||
//}
|
||||
|
||||
|
||||
|
||||
//}
|
||||
|
||||
//Controls.ToolButton {
|
||||
//display: Controls.AbstractButton.IconOnly
|
||||
//Layout.preferredWidth: parent.height
|
||||
//text: i18n("Expand")
|
||||
//enabled: playlistView.count > 0
|
||||
//Layout.fillHeight: true
|
||||
//icon.name: footerItem.maximized ? "arrow-down" : "arrow-up"
|
||||
//onClicked: footerItem.maximized = !footerItem.maximized
|
||||
//}
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
//Behavior on height {
|
||||
//NumberAnimation {
|
||||
//}
|
||||
//}
|
||||
|
||||
}
|
||||
@@ -50,12 +50,14 @@ Kirigami.ScrollablePage {
|
||||
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
id: delegateItem
|
||||
alwaysVisibleActions:true
|
||||
|
||||
required property string title
|
||||
required property string videoId
|
||||
required property var artists
|
||||
required property string thumbnailUrl
|
||||
required property string artistsDisplayString
|
||||
|
||||
required property int index
|
||||
|
||||
RowLayout {
|
||||
Layout.fillHeight: true
|
||||
|
||||
@@ -4,31 +4,30 @@
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Window 2.15
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
Rectangle {
|
||||
Item {
|
||||
property alias radius: mask.radius
|
||||
property alias source: image.source
|
||||
id: icon
|
||||
color: "transparent"
|
||||
|
||||
Image {
|
||||
id:image
|
||||
source: source
|
||||
anchors.fill: parent
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
asynchronous: true
|
||||
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
|
||||
layer.enabled: true
|
||||
layer.effect: OpacityMask {
|
||||
maskSource: mask
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: imageSource
|
||||
anchors.fill: parent
|
||||
Image {
|
||||
id:image
|
||||
anchors.fill: parent
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
asynchronous: true
|
||||
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
|
||||
}
|
||||
visible: false
|
||||
|
||||
layer.enabled: true
|
||||
}
|
||||
|
||||
RoundedMask {
|
||||
id: mask
|
||||
anchors.fill: parent
|
||||
colorSource: imageSource
|
||||
visible: false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// SPDX-FileCopyrightText: Mathis Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import QtQuick 2.15
|
||||
|
||||
Rectangle {
|
||||
id: mask
|
||||
|
||||
radius: 10
|
||||
layer.enabled: true
|
||||
layer.samplerName: "maskSource"
|
||||
property var colorSource
|
||||
|
||||
layer.effect: ShaderEffect {
|
||||
property var colorSource: mask.colorSource
|
||||
fragmentShader: "
|
||||
uniform lowp sampler2D colorSource;
|
||||
uniform lowp sampler2D maskSource;
|
||||
uniform lowp float qt_Opacity;
|
||||
varying highp vec2 qt_TexCoord0;
|
||||
void main() {
|
||||
gl_FragColor = texture2D(colorSource, qt_TexCoord0) * texture2D(maskSource, qt_TexCoord0).a * qt_Opacity;
|
||||
}"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
// SPDX-FileCopyrightText: Mathis Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import org.kde.kirigami 2.12 as Kirigami
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
objectName: "searchPage"
|
||||
|
||||
topPadding: 0
|
||||
bottomPadding: 0
|
||||
leftPadding: 0
|
||||
rightPadding: 0
|
||||
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
|
||||
ColumnLayout {
|
||||
Controls.ScrollView {
|
||||
Layout.fillWidth: true
|
||||
|
||||
id: recents
|
||||
visible: searchLoader.text && recentsRepeater.count > 0
|
||||
leftPadding: 10
|
||||
topPadding: 10
|
||||
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
|
||||
|
||||
RowLayout {
|
||||
id: recentsLayout
|
||||
spacing: 10
|
||||
Layout.fillWidth: true
|
||||
|
||||
Repeater {
|
||||
id: recentsRepeater
|
||||
Layout.fillWidth: true
|
||||
model: SortFilterModel {
|
||||
filterRole: PlaybackHistoryModel.Title
|
||||
filterRegularExpression: searchLoader.filterExpression
|
||||
sourceModel: Library.playbackHistory
|
||||
}
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
sourceComponent: searchAlbum
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
visible: recents.visible
|
||||
}
|
||||
|
||||
id: completionList
|
||||
|
||||
Repeater {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
model: SortFilterModel {
|
||||
sourceModel: Library.searches
|
||||
filterRegularExpression: searchLoader.filterExpression
|
||||
}
|
||||
|
||||
delegate: Kirigami.AbstractListItem {
|
||||
implicitHeight: Kirigami.Units.gridUnit * 2
|
||||
Layout.fillWidth: true
|
||||
RowLayout {
|
||||
Kirigami.Icon {
|
||||
source: "search"
|
||||
implicitHeight: Kirigami.Units.gridUnit
|
||||
implicitWidth: Kirigami.Units.gridUnit
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
}
|
||||
Controls.Label {
|
||||
text: model.display
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
}
|
||||
onClicked: {
|
||||
searchLoader.text = model.display
|
||||
searchLoader.accepted()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,9 +10,10 @@ import org.kde.kirigami 2.14 as Kirigami
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
id: searchPage
|
||||
property alias searchQuery: searchModel.searchQuery
|
||||
|
||||
title: searchQuery
|
||||
objectName: "searchPage"
|
||||
title: listView.count === 0 && !searchModel.loading? i18n("Previous Searches:") : searchQuery
|
||||
|
||||
ListView {
|
||||
reuseItems: true
|
||||
@@ -37,7 +38,7 @@ Kirigami.ScrollablePage {
|
||||
}
|
||||
}
|
||||
section.property: "type"
|
||||
|
||||
id: listView
|
||||
model: SearchModel {
|
||||
id: searchModel
|
||||
|
||||
@@ -85,6 +86,7 @@ Kirigami.ScrollablePage {
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
|
||||
id: delegateItem
|
||||
alwaysVisibleActions:true
|
||||
|
||||
required property int index
|
||||
required property string title
|
||||
@@ -137,19 +139,6 @@ Kirigami.ScrollablePage {
|
||||
anchors.centerIn: parent
|
||||
visible: searchModel.loading
|
||||
}
|
||||
Kirigami.PlaceholderMessage {
|
||||
anchors.centerIn: parent
|
||||
width: parent.width - (Kirigami.Units.largeSpacing * 4)
|
||||
|
||||
visible: parent.count === 0 && !searchModel.loading
|
||||
|
||||
text: i18n("Find music on YouTube Music")
|
||||
helpfulAction: Kirigami.Action {
|
||||
onTriggered: searchField.forceActiveFocus()
|
||||
text: i18n("Search")
|
||||
icon.name: "search"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer: ConfirmationMessage {
|
||||
|
||||
@@ -0,0 +1,343 @@
|
||||
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
|
||||
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 2.12 as Controls
|
||||
import QtQuick.Layouts 1.3
|
||||
import org.kde.kirigami 2.14 as Kirigami
|
||||
import QtGraphicalEffects 1.0
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Item {
|
||||
function forceFocus(){searchField.forceActiveFocus()}
|
||||
function accepted(){searchField.accepted()}
|
||||
property alias filterExpression: searchField.filterExpression
|
||||
property alias text: searchField.text
|
||||
|
||||
id: root
|
||||
Controls.TextField{
|
||||
id: dummy
|
||||
x:searchField.x
|
||||
y:searchField.y
|
||||
width: searchField.width
|
||||
readOnly: true
|
||||
}
|
||||
Kirigami.SearchField {
|
||||
property var filterExpression: new RegExp(`.*${searchField.text}.*`, "i")
|
||||
|
||||
id: searchField
|
||||
autoAccept: false
|
||||
width: root.width
|
||||
selectByMouse: true
|
||||
onFocusChanged: {
|
||||
if (wideScreen && focus)
|
||||
popup.open()
|
||||
}
|
||||
onAccepted: {
|
||||
popup.close()
|
||||
|
||||
while (pageStack.depth > 0) {
|
||||
pageStack.pop()
|
||||
}
|
||||
|
||||
pageStack.layers.clear()
|
||||
|
||||
if (text) {
|
||||
Library.addSearch(text)
|
||||
pageStack.push("qrc:/SearchPage.qml", {
|
||||
"searchQuery": text,
|
||||
objectName: "searchPage"
|
||||
})
|
||||
} else {
|
||||
wideScreen
|
||||
? pageStack.push("qrc:/LibraryPage.qml")
|
||||
: pageStack.push("qrc:/SearchHistoryPage.qml")
|
||||
}
|
||||
searchField.focus = false
|
||||
|
||||
}
|
||||
}
|
||||
Controls.Popup {
|
||||
id: popup
|
||||
property int expansion: 5
|
||||
property int shadowSize: 15
|
||||
onAboutToShow:{
|
||||
searchField.parent = fieldContainer
|
||||
onOpened: searchField.background.visible = false
|
||||
playOpenHeight.running = true
|
||||
playOpenWidth.running = true
|
||||
playOpenX.running = true
|
||||
playOpenY.running = true
|
||||
playOpenRadius.running = true
|
||||
|
||||
}
|
||||
onAboutToHide:{
|
||||
searchField.parent = root
|
||||
onOpened: searchField.background.visible = true
|
||||
searchField.focus = false
|
||||
playCloseHeight.running = true
|
||||
playCloseWidth.running = true
|
||||
playCloseX.running = true
|
||||
playCloseY.running = true
|
||||
playCloseRadius.running = true
|
||||
|
||||
}
|
||||
|
||||
x: -(popup.shadowSize+popup.expansion)
|
||||
y: -(popup.shadowSize+popup.expansion)
|
||||
|
||||
rightPadding:popup.shadowSize+1
|
||||
leftPadding:popup.shadowSize+1
|
||||
bottomPadding:popup.shadowSize
|
||||
rightInset: popup.shadowSize
|
||||
leftInset: popup.shadowSize
|
||||
bottomInset: popup.shadowSize
|
||||
leftMargin:-popup.shadowSize
|
||||
|
||||
background: Kirigami.ShadowedRectangle{
|
||||
id: bg
|
||||
Kirigami.Theme.inherit: false
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
radius: popup.expansion+2
|
||||
shadow.size: popup.shadowSize
|
||||
shadow.yOffset: popup.expansion
|
||||
shadow.color: Qt.rgba(0, 0, 0, 0.2)
|
||||
|
||||
border.width: 1
|
||||
border.color: Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.3);
|
||||
NumberAnimation on radius{
|
||||
id: playOpenRadius
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: 2
|
||||
duration: 100
|
||||
to: popup.expansion+2
|
||||
}
|
||||
NumberAnimation on radius{
|
||||
id: playCloseRadius
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: popup.expansion+2
|
||||
duration: 100
|
||||
to: 2
|
||||
}
|
||||
|
||||
}
|
||||
width: searchField.width + 2*(popup.shadowSize+popup.expansion)
|
||||
height: completionList
|
||||
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
|
||||
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
|
||||
|
||||
NumberAnimation on height{
|
||||
id: playOpenHeight
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: searchField.height
|
||||
duration: 200
|
||||
to: completionList
|
||||
? (Math.min(fieldContainer.height+ completionList.count * Kirigami.Units.gridUnit * 2 + recents.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
|
||||
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
|
||||
}
|
||||
NumberAnimation on width{
|
||||
id: playOpenWidth
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: searchField.width
|
||||
duration: 100
|
||||
to: searchField.width +2*(popup.shadowSize+popup.expansion)
|
||||
}
|
||||
NumberAnimation on x{
|
||||
id: playOpenX
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: 0
|
||||
duration: 100
|
||||
to: -(popup.shadowSize+popup.expansion)
|
||||
}
|
||||
NumberAnimation on y{
|
||||
id: playOpenY
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: 0
|
||||
duration: 100
|
||||
to: -popup.expansion
|
||||
}
|
||||
|
||||
|
||||
|
||||
NumberAnimation on height{
|
||||
id: playCloseHeight
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: completionList
|
||||
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
|
||||
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
|
||||
duration: 100
|
||||
to: searchField.heigth
|
||||
}
|
||||
NumberAnimation on width{
|
||||
id: playCloseWidth
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: searchField.width + 2*(popup.shadowSize+popup.expansion)
|
||||
duration: 100
|
||||
to: searchField.width + 2*(popup.shadowSize)
|
||||
}
|
||||
NumberAnimation on x{
|
||||
id: playCloseX
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: -(popup.shadowSize+popup.expansion)
|
||||
duration: 100
|
||||
to: -popup.shadowSize
|
||||
}
|
||||
NumberAnimation on y{
|
||||
id: playCloseY
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: - popup.expansion
|
||||
duration: 100
|
||||
to: -0
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
contentItem: ColumnLayout{
|
||||
id: content
|
||||
width: parent.width
|
||||
Controls.Control{
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
Controls.Control{
|
||||
x: popup.expansion
|
||||
y:-popup.expansion
|
||||
id: fieldContainer
|
||||
height:searchField.height
|
||||
|
||||
}
|
||||
implicitHeight: fieldContainer.height
|
||||
}
|
||||
|
||||
Controls.ScrollView {
|
||||
id: mainScrollView
|
||||
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
|
||||
Keys.enabled: false
|
||||
contentWidth: availableWidth
|
||||
|
||||
ColumnLayout {
|
||||
width: mainScrollView.contentWidth
|
||||
|
||||
Controls.ScrollView {
|
||||
id: recents
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: popup.width
|
||||
|
||||
visible: searchField.text && recentsRepeater.count > 0
|
||||
|
||||
leftPadding: 10
|
||||
rightPadding: 40
|
||||
topPadding: 10
|
||||
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: popup.width - 23
|
||||
|
||||
Repeater {
|
||||
|
||||
id: recentsRepeater
|
||||
Layout.fillWidth: true
|
||||
model: SortFilterModel {
|
||||
filterRole: PlaybackHistoryModel.Title
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
sourceModel: Library.playbackHistory
|
||||
}
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
width: popup.width
|
||||
sourceComponent: searchAlbum
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Kirigami.Separator{
|
||||
Layout.fillWidth: true
|
||||
visible: searchField.text && recentsRepeater.count > 0
|
||||
implicitWidth: popup.width
|
||||
|
||||
}
|
||||
RowLayout{
|
||||
Layout.margins: 10
|
||||
visible: completionList.count == 0
|
||||
Kirigami.Icon {
|
||||
source: "documentinfo"
|
||||
implicitHeight: Kirigami.Units.gridUnit
|
||||
implicitWidth: Kirigami.Units.gridUnit
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
}
|
||||
Controls.Label {
|
||||
text: i18n("No matching previous searches")
|
||||
Layout.fillWidth: true
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
|
||||
}
|
||||
}
|
||||
Repeater {
|
||||
Layout.fillWidth: true
|
||||
|
||||
id: completionList
|
||||
model: SortFilterModel {
|
||||
sourceModel: Library.searches
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
}
|
||||
delegate: Kirigami.AbstractListItem {
|
||||
required property string query
|
||||
|
||||
id: completionDelegate
|
||||
highlighted: focus
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Window
|
||||
Kirigami.Theme.inherit: false
|
||||
Layout.fillWidth: true
|
||||
height: Kirigami.Units.gridUnit * 2
|
||||
contentItem: RowLayout {
|
||||
|
||||
Kirigami.Icon {
|
||||
source: "search"
|
||||
implicitHeight: Kirigami.Units.gridUnit
|
||||
implicitWidth: Kirigami.Units.gridUnit
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
}
|
||||
Controls.Label{
|
||||
text: query
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Controls.ToolButton {
|
||||
icon.name: "list-remove"
|
||||
text: i18n("remove from search history")
|
||||
display: Controls.AbstractButton.IconOnly
|
||||
onClicked: {
|
||||
Library.removeSearch(query)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
onClicked: {
|
||||
searchField.text = query
|
||||
searchField.accepted()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Controls 2.15 as Controls
|
||||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Rectangle {
|
||||
property bool collapsed: false
|
||||
id: sidebar
|
||||
width: 200
|
||||
clip:true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Window
|
||||
Kirigami.Theme.inherit: false
|
||||
color: "transparent"
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
opacity: 0.8
|
||||
}
|
||||
|
||||
NumberAnimation on width{
|
||||
id: collapse
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: 200; to: 60
|
||||
}
|
||||
NumberAnimation on width{
|
||||
id: show
|
||||
easing.type: Easing.OutCubic
|
||||
running: false
|
||||
from: 60; to: 200
|
||||
//this is only a workaround to stop the text from disappearing
|
||||
onFinished:{
|
||||
libraryButton.checked =!libraryButton.checked
|
||||
libraryButton.checked =!libraryButton.checked
|
||||
|
||||
favouritesButton.checked =!favouritesButton.checked
|
||||
favouritesButton.checked =!favouritesButton.checked
|
||||
|
||||
historyButton.checked =!historyButton.checked
|
||||
historyButton.checked =!historyButton.checked
|
||||
|
||||
searchButton.checked =!searchButton.checked
|
||||
searchButton.checked =!searchButton.checked
|
||||
|
||||
collapseButton.checked =!collapseButton.checked
|
||||
collapseButton.checked =false
|
||||
|
||||
}
|
||||
}
|
||||
Kirigami.Separator {
|
||||
height: parent.height
|
||||
anchors.right: parent.right
|
||||
z:100
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 0
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
|
||||
|
||||
}
|
||||
|
||||
Controls.ScrollView {
|
||||
|
||||
id: scrollView
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
Controls.ScrollBar.vertical.policy: Controls.ScrollBar.AlwaysOff
|
||||
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
|
||||
contentWidth: -1 // disable horizontal scroll
|
||||
|
||||
ColumnLayout {
|
||||
id: column
|
||||
width: scrollView.width
|
||||
spacing: 0
|
||||
|
||||
Kirigami.NavigationTabButton {
|
||||
id: libraryButton
|
||||
Layout.fillWidth: true
|
||||
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
implicitHeight: 50
|
||||
display: Controls.AbstractButton.TextBesideIcon
|
||||
text: collapsed? "" : i18n("Library")
|
||||
icon.name: "file-library-symbolic"
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "libraryPage"
|
||||
onClicked: {
|
||||
pageStack.clear()
|
||||
pageStack.push("qrc:/LibraryPage.qml")
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Kirigami.NavigationTabButton {
|
||||
id: searchButton
|
||||
Layout.fillWidth: true
|
||||
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
implicitHeight: 50
|
||||
display: Controls.AbstractButton.TextBesideIcon
|
||||
text: collapsed? "" : i18n("Search")
|
||||
icon.name: "search"
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "searchPage"
|
||||
onClicked: {
|
||||
searchField.forceActiveFocus()
|
||||
focusSearch()
|
||||
}
|
||||
}
|
||||
|
||||
Kirigami.NavigationTabButton {
|
||||
id: favouritesButton
|
||||
Layout.fillWidth: true
|
||||
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
implicitHeight: 50
|
||||
display: Controls.AbstractButton.TextBesideIcon
|
||||
text: collapsed ? "" : i18n("Favourites")
|
||||
icon.name: "non-starred-symbolic"
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "favourites"
|
||||
onClicked: {
|
||||
pageStack.clear()
|
||||
pageStack.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.favourites,
|
||||
"title": i18n("Favourites"),
|
||||
"objectName": "favourites"
|
||||
})}
|
||||
|
||||
}
|
||||
|
||||
Kirigami.NavigationTabButton {
|
||||
id: historyButton
|
||||
Layout.fillWidth: true
|
||||
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
implicitHeight: 50
|
||||
display: Controls.AbstractButton.TextBesideIcon
|
||||
text: collapsed? "" : i18n("Played Songs")
|
||||
icon.name: "edit-undo-history"
|
||||
checked: pageStack.currentItem && pageStack.currentItem.objectName == "history"
|
||||
onClicked: {
|
||||
pageStack.clear()
|
||||
pageStack.push("qrc:/PlaybackHistory.qml", {
|
||||
"dataModel": Library.playbackHistory,
|
||||
"title": i18n("Played Songs"),
|
||||
"objectName": "history"
|
||||
})}
|
||||
|
||||
}
|
||||
|
||||
// Kirigami.NavigationTabButton {
|
||||
// Layout.fillWidth: true
|
||||
// width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
// implicitHeight: 50
|
||||
// display: Controls.AbstractButton.TextBesideIcon
|
||||
// text: i18n("Charts")
|
||||
// icon.name: "office-chart-line-forecast"
|
||||
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.rightMargin: Kirigami.Units.smallSpacing
|
||||
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||
}
|
||||
|
||||
Kirigami.NavigationTabButton {
|
||||
id: collapseButton
|
||||
Layout.fillWidth: true
|
||||
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
|
||||
display: Controls.AbstractButton.TextBesideIcon
|
||||
text: collapsed? "" : i18n("Collapse Sidebar")
|
||||
checked: collapsed == true
|
||||
implicitHeight: 50
|
||||
icon.name: "sidebar-collapse"
|
||||
onClicked: {
|
||||
if (!sidebar.collapsed)
|
||||
collapse.running = true
|
||||
else
|
||||
show.running = true
|
||||
|
||||
sidebar.collapsed = !sidebar.collapsed
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import org.kde.kirigami 2.19 as Kirigami
|
||||
import QtQuick.Layouts 1.15
|
||||
|
||||
|
||||
Item{
|
||||
Item {
|
||||
function openForSong(videoId, songTitle, artists, artistsDisplayString) {
|
||||
menu.videoId = videoId
|
||||
drawer.videoId = videoId
|
||||
@@ -23,12 +23,28 @@ Item{
|
||||
menu.artistsDisplayString = artistsDisplayString
|
||||
drawer.artistsDisplayString = artistsDisplayString
|
||||
|
||||
Kirigami.Settings.isMobile? drawer.open():menu.popup()
|
||||
if (Kirigami.Settings.isMobile) {
|
||||
drawer.interactive = true
|
||||
drawer.open()
|
||||
} else {
|
||||
menu.popup()
|
||||
}
|
||||
}
|
||||
Controls.Drawer {
|
||||
edge: Qt.BottomEdge
|
||||
height:contents.implicitHeight+20
|
||||
width: applicationWindow().width
|
||||
interactive: false
|
||||
background: Kirigami.ShadowedRectangle{
|
||||
corners.topRightRadius: 10
|
||||
corners.topLeftRadius: 10
|
||||
shadow.size: 20
|
||||
shadow.color: Qt.rgba(0, 0, 0, 0.5)
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
|
||||
}
|
||||
onClosed: drawer.interactive = false
|
||||
|
||||
id: drawer
|
||||
property string videoId
|
||||
property string songTitle
|
||||
@@ -37,20 +53,67 @@ Item{
|
||||
ColumnLayout {
|
||||
id: contents
|
||||
anchors.fill: parent
|
||||
ThumbnailSource {
|
||||
id: thumbnailSource
|
||||
videoId: drawer.videoId
|
||||
}
|
||||
|
||||
// Kirigami.Icon {
|
||||
// Layout.margins: Kirigami.Units.smallSpacing
|
||||
// source: "arrow-down"
|
||||
// implicitWidth: Kirigami.Units.gridUnit
|
||||
// implicitHeight: Kirigami.Units.gridUnit
|
||||
// Layout.alignment: Qt.AlignHCenter
|
||||
// }
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Kirigami.ShadowedRectangle {
|
||||
Layout.margins: 10
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
width: 60
|
||||
height: width
|
||||
radius: 5
|
||||
shadow.size: 15
|
||||
shadow.xOffset: 5
|
||||
shadow.yOffset: 5
|
||||
shadow.color: Qt.rgba(0, 0, 0, 0.2)
|
||||
RoundedImage {
|
||||
source: thumbnailSource.cachedPath
|
||||
height: width
|
||||
width: parent.width
|
||||
radius: parent.radius
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Controls.Label{
|
||||
text: drawer.songTitle
|
||||
elide: Text.ElideRight
|
||||
Layout.fillWidth: true
|
||||
|
||||
|
||||
}
|
||||
Controls.Label{
|
||||
text: drawer.artistsDisplayString
|
||||
color: Kirigami.Theme.disabledTextColor
|
||||
elide: Text.ElideRight
|
||||
Layout.fillWidth: true
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: 10
|
||||
Layout.rightMargin: 10
|
||||
|
||||
|
||||
Kirigami.Icon {
|
||||
Layout.margins: Kirigami.Units.smallSpacing
|
||||
source: "arrow-down"
|
||||
implicitWidth: Kirigami.Units.gridUnit
|
||||
implicitHeight: Kirigami.Units.gridUnit
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
}
|
||||
Kirigami.BasicListItem{
|
||||
|
||||
label: i18n("Play Next")
|
||||
icon: "go-next"
|
||||
onClicked: {
|
||||
UserPlaylistModel.playNext(drawer.videoId, drawer.SongTitle, drawer.artists)
|
||||
UserPlaylistModel.playNext(drawer.videoId, drawer.songTitle, drawer.artists)
|
||||
drawer.close()
|
||||
}
|
||||
}
|
||||
@@ -79,6 +142,18 @@ Item{
|
||||
drawer.close()
|
||||
}
|
||||
}
|
||||
Kirigami.BasicListItem{
|
||||
readonly property QtObject wasPlayedWatcher: Library.wasPlayedWatcher(drawer.videoId)
|
||||
|
||||
label: i18n("Remove from History")
|
||||
icon: "list-remove"
|
||||
onClicked: {
|
||||
Library.removePlaybackHistoryItem(drawer.videoId)
|
||||
drawer.close()
|
||||
}
|
||||
visible: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
|
||||
enabled: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
|
||||
}
|
||||
Item{
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
@@ -86,7 +161,7 @@ Item{
|
||||
}
|
||||
}
|
||||
|
||||
Controls.Menu{
|
||||
Controls.Menu {
|
||||
property string videoId
|
||||
property string songTitle
|
||||
property var artists
|
||||
@@ -96,7 +171,7 @@ Item{
|
||||
Controls.MenuItem {
|
||||
text: i18n("Play Next")
|
||||
icon.name: "go-next"
|
||||
onTriggered: UserPlaylistModel.playNext(menu.videoId, menu.SongTitle, menu.artists)
|
||||
onTriggered: UserPlaylistModel.playNext(menu.videoId, menu.songTitle, menu.artists)
|
||||
}
|
||||
|
||||
Controls.MenuItem {
|
||||
@@ -119,5 +194,16 @@ Item{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Controls.MenuItem{
|
||||
readonly property QtObject wasPlayedWatcher: Library.wasPlayedWatcher(menu.videoId)
|
||||
text: i18n("Remove from History")
|
||||
icon.name: "list-remove"
|
||||
onTriggered: {
|
||||
Library.removePlaybackHistoryItem(menu.videoId)
|
||||
}
|
||||
enabled: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
|
||||
visible: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
|
||||
}
|
||||
}
|
||||
}
|
||||
+68
-154
@@ -6,14 +6,24 @@ import QtQuick 2.1
|
||||
import QtQuick.Controls 2.12 as Controls
|
||||
import QtQuick.Layouts 1.3
|
||||
import org.kde.kirigami 2.14 as Kirigami
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import org.kde.ytmusic 1.0
|
||||
|
||||
Kirigami.ApplicationWindow {
|
||||
id: root
|
||||
|
||||
property alias searchField: searchLoader.item // TODO
|
||||
pageStack.globalToolBar.style: wideScreen? Kirigami.ApplicationHeaderStyle.None: Kirigami.ApplicationHeaderStyle.Breadcrumb
|
||||
|
||||
color: "transparent"
|
||||
Blur{id:blur}
|
||||
Component.onCompleted: {
|
||||
blur.setBlur(sidebar, true);
|
||||
}
|
||||
|
||||
pageStack.columnView.columnResizeMode: Kirigami.ColumnView.SingleColumn
|
||||
|
||||
property alias searchField: searchLoader // TODO
|
||||
property bool wideScreen: width >= 600
|
||||
property bool showSearch: false // only applicable if not widescreen
|
||||
|
||||
@@ -22,12 +32,24 @@ Kirigami.ApplicationWindow {
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
visible: wideScreen
|
||||
}
|
||||
|
||||
|
||||
Sidebar {
|
||||
id:sidebar
|
||||
visible: wideScreen
|
||||
height: pageStack.height - playerFooter.implicitHeight
|
||||
|
||||
}
|
||||
NavigationBar{
|
||||
id: bottombar
|
||||
visible: !wideScreen
|
||||
|
||||
visible: pageStack.currentItem.objectName == "libraryPage"
|
||||
&& pageStack.layers.depth == 1
|
||||
}
|
||||
|
||||
header: Controls.Control {
|
||||
visible: wideScreen || root.showSearch
|
||||
padding: Kirigami.Units.largeSpacing
|
||||
|
||||
background: Rectangle {
|
||||
@@ -40,54 +62,46 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
|
||||
contentItem: RowLayout {
|
||||
Controls.ToolButton {
|
||||
id: searchBack
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
visible:
|
||||
(!root.wideScreen && root.showSearch && root.searchField.text === "")
|
||||
|| pageStack.layers.depth > 1
|
||||
text: i18n("Back")
|
||||
icon.name: "go-previous-view"
|
||||
display: Controls.ToolButton.IconOnly
|
||||
onClicked: if (root.showSearch)
|
||||
root.showSearch = false
|
||||
else
|
||||
pageStack.layers.pop()
|
||||
}
|
||||
|
||||
Kirigami.Heading {
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
Layout.leftMargin: Kirigami.Units.largeSpacing
|
||||
level: 1
|
||||
text: "AudioTube"
|
||||
visible: !root.wideScreen && !root.showSearch
|
||||
|
||||
|
||||
Controls.ToolButton {
|
||||
id: back
|
||||
enabled: applicationWindow().pageStack.layers.depth > 1 || (applicationWindow().pageStack.depth > 1 && (applicationWindow().pageStack.currentIndex > 0 || applicationWindow().pageStack.contentItem.contentX > 0)) // Copied from https://invent.kde.org/frameworks/kirigami/-/blob/master/src/controls/templates/private/BackButton.qml#L16
|
||||
icon.name: "draw-arrow-back"
|
||||
onClicked: pageStack.goBack()
|
||||
visible: wideScreen
|
||||
}
|
||||
Controls.ToolButton {
|
||||
icon.name: "draw-arrow-forward"
|
||||
enabled: applicationWindow().pageStack.currentIndex < applicationWindow().pageStack.depth-1
|
||||
onClicked: pageStack.goForward()
|
||||
anchors.left: back.right
|
||||
visible: wideScreen
|
||||
|
||||
|
||||
}
|
||||
|
||||
// spacer
|
||||
Item {
|
||||
visible: wideScreen
|
||||
Layout.fillWidth: !root.wideScreen
|
||||
}
|
||||
|
||||
Loader {
|
||||
SearchWithDropdown {
|
||||
id: searchLoader
|
||||
visible: root.wideScreen || root.showSearch
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: 400
|
||||
sourceComponent: searchFieldComponent
|
||||
Layout.fillHeight: true
|
||||
height: back.height
|
||||
width: wideScreen?null:root.width
|
||||
Layout.maximumWidth: wideScreen ? 400 : root.width
|
||||
}
|
||||
|
||||
Controls.ToolButton {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
visible: !root.wideScreen && !root.showSearch
|
||||
text: i18n("Search")
|
||||
icon.name: "search"
|
||||
display: Controls.ToolButton.TextBesideIcon
|
||||
onClicked: {
|
||||
root.showSearch = true
|
||||
root.searchField.forceActiveFocus();
|
||||
root.searchField.popup.open();
|
||||
}
|
||||
Item {
|
||||
width: 2*back.width
|
||||
visible: wideScreen
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,7 +127,7 @@ Kirigami.ApplicationWindow {
|
||||
UserPlaylistModel.shuffle = true
|
||||
UserPlaylistModel.playlistId = playlistId
|
||||
}
|
||||
|
||||
function focusSearch(){searchLoader.forceFocus()}
|
||||
|
||||
Connections {
|
||||
target: ErrorHandler
|
||||
@@ -127,7 +141,6 @@ Kirigami.ApplicationWindow {
|
||||
id: searchAlbum
|
||||
|
||||
ColumnLayout {
|
||||
Layout.alignment: Qt.AlignTop
|
||||
id: mpdelegateItem
|
||||
|
||||
width: 100
|
||||
@@ -143,8 +156,16 @@ Kirigami.ApplicationWindow {
|
||||
onEntered: {
|
||||
if (!Kirigami.Settings.hasTransientTouchInput)
|
||||
recSelected.visible = true
|
||||
searchTitle.color = Kirigami.Theme.hoverColor
|
||||
searchTitle.font.bold = true
|
||||
|
||||
|
||||
}
|
||||
onExited:{
|
||||
recSelected.visible = false
|
||||
searchTitle.color = Kirigami.Theme.textColor
|
||||
searchTitle.font.bold = false
|
||||
}
|
||||
onExited: recSelected.visible = false
|
||||
|
||||
}
|
||||
Layout.margins: 5
|
||||
@@ -194,6 +215,7 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
}
|
||||
Controls.Label {
|
||||
id: searchTitle
|
||||
leftPadding:5
|
||||
Layout.maximumWidth: 70
|
||||
text: model ? model.title : ""
|
||||
@@ -206,126 +228,18 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Component {
|
||||
id: searchFieldComponent
|
||||
|
||||
Kirigami.SearchField {
|
||||
id: searchField
|
||||
|
||||
autoAccept: false
|
||||
selectByMouse: true
|
||||
onPressed: {
|
||||
popup.open()
|
||||
}
|
||||
|
||||
property alias popup: popup
|
||||
|
||||
property var filterExpression: new RegExp(`.*${searchField.text}.*`, "i")
|
||||
|
||||
Controls.Popup {
|
||||
padding: 1
|
||||
id: popup
|
||||
x: searchField.y
|
||||
y: searchField.y + searchField.height
|
||||
width: searchField.width
|
||||
height: completionList
|
||||
? Math.min(completionList.count * Kirigami.Units.gridUnit * 2 + Kirigami.Units.gridUnit * 2 + recents.implicitHeight, Kirigami.Units.gridUnit * 20)
|
||||
: Kirigami.Units.gridUnit * 20
|
||||
|
||||
contentItem: Controls.ScrollView {
|
||||
contentWidth: -1
|
||||
ColumnLayout {
|
||||
width: popup.width
|
||||
|
||||
Controls.ScrollView {
|
||||
id: recents
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: popup.width - 23
|
||||
|
||||
visible: searchField.text && recentsRepeater.count > 0
|
||||
|
||||
leftPadding: 10
|
||||
topPadding: 10
|
||||
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: popup.width - 23
|
||||
|
||||
Repeater {
|
||||
id: recentsRepeater
|
||||
Layout.fillWidth: true
|
||||
model: SortFilterModel {
|
||||
filterRole: PlaybackHistoryModel.Title
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
sourceModel: Library.playbackHistory
|
||||
}
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
sourceComponent: searchAlbum
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Kirigami.Separator{
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Repeater {
|
||||
Layout.fillWidth: true
|
||||
|
||||
id: completionList
|
||||
model: SortFilterModel {
|
||||
sourceModel: Library.searches
|
||||
filterRegularExpression: searchField.filterExpression
|
||||
}
|
||||
|
||||
delegate: Controls.ItemDelegate {
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Window
|
||||
Kirigami.Theme.inherit: false
|
||||
Layout.fillWidth: true
|
||||
|
||||
id: completionDelegate
|
||||
width: parent.width
|
||||
height: Kirigami.Units.gridUnit * 2
|
||||
text: model.display
|
||||
onClicked: {
|
||||
searchField.text = model.display
|
||||
searchField.accepted()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onAccepted: {
|
||||
while (pageStack.depth > 0) {
|
||||
pageStack.pop()
|
||||
}
|
||||
|
||||
pageStack.layers.clear()
|
||||
|
||||
if (text) {
|
||||
Library.addSearch(text)
|
||||
pageStack.push("qrc:/SearchPage.qml", {
|
||||
"searchQuery": text})
|
||||
} else {
|
||||
pageStack.push("qrc:/LibraryPage.qml")
|
||||
}
|
||||
|
||||
popup.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pageStack.anchors.bottomMargin: playerFooter.minimizedPlayerHeight + 1
|
||||
pageStack.anchors.bottomMargin: wideScreen ? playerFooter.minimizedPlayerHeight: playerFooter.minimizedPlayerHeight+bottombar.height
|
||||
pageStack.anchors.leftMargin: wideScreen ? sidebar.width:0
|
||||
|
||||
// media player
|
||||
PlayerFooter {
|
||||
id: playerFooter
|
||||
anchors.topMargin: -root.header.height
|
||||
anchors.fill: parent
|
||||
|
||||
footerSpacing: wideScreen ? 0 : bottombar.height
|
||||
|
||||
// only expand flicking area to full screen when it is open
|
||||
z: (contentY === 0) ? -1 : 999
|
||||
}
|
||||
|
||||
+75
-101
@@ -40,8 +40,7 @@ Library &Library::instance()
|
||||
|
||||
FavouritesModel *Library::favourites()
|
||||
{
|
||||
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
|
||||
return new FavouritesModel(std::move(future), this);
|
||||
return new FavouritesModel(this);
|
||||
}
|
||||
|
||||
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
@@ -66,7 +65,7 @@ FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
|
||||
|
||||
SearchHistoryModel *Library::searches()
|
||||
{
|
||||
return new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
|
||||
return new SearchHistoryModel(this);
|
||||
}
|
||||
|
||||
void Library::addSearch(const QString &text)
|
||||
@@ -74,10 +73,14 @@ void Library::addSearch(const QString &text)
|
||||
connectFuture(m_database->execute("insert into searches (search_query) values (?)", text), this, &Library::searchesChanged);
|
||||
}
|
||||
|
||||
void Library::removeSearch(const QString &text)
|
||||
{
|
||||
connectFuture(m_database->execute("delete from searches where search_query = ?", text), this, &Library::searchesChanged);
|
||||
}
|
||||
|
||||
PlaybackHistoryModel *Library::playbackHistory()
|
||||
{
|
||||
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
|
||||
return new PlaybackHistoryModel(std::move(future), this);
|
||||
return new PlaybackHistoryModel(this, PlaybackHistoryModel::History);
|
||||
}
|
||||
|
||||
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
@@ -89,10 +92,23 @@ void Library::addPlaybackHistoryItem(const QString &videoId, const QString &titl
|
||||
});
|
||||
}
|
||||
|
||||
void Library::removePlaybackHistoryItem(const QString &videoId)
|
||||
{
|
||||
connectFuture(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::playbackHistoryChanged);
|
||||
}
|
||||
|
||||
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
|
||||
{
|
||||
if(videoId.isEmpty()){
|
||||
return nullptr;
|
||||
}
|
||||
return new WasPlayedWatcher(this, videoId);
|
||||
}
|
||||
|
||||
|
||||
PlaybackHistoryModel *Library::mostPlayed()
|
||||
{
|
||||
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
|
||||
return new PlaybackHistoryModel(std::move(future), this);
|
||||
return new PlaybackHistoryModel(this, PlaybackHistoryModel::MostPlayed);
|
||||
}
|
||||
|
||||
QNetworkAccessManager &Library::nam()
|
||||
@@ -152,93 +168,35 @@ void ThumbnailSource::setVideoId(const QString &id) {
|
||||
});
|
||||
}
|
||||
|
||||
PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong> > &&songs, QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
PlaybackHistoryModel::PlaybackHistoryModel(Library *library, Type type)
|
||||
: AutoListModel<PlayedSong>(library)
|
||||
{
|
||||
connectFuture(songs, this, [this](const auto songs) {
|
||||
beginResetModel();
|
||||
m_playedSongs = songs;
|
||||
endResetModel();
|
||||
});
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> PlaybackHistoryModel::roleNames() const {
|
||||
return {
|
||||
{Roles::VideoId, "videoId"},
|
||||
{Roles::Title, "title"},
|
||||
{Roles::Artists, "artists"},
|
||||
{Roles::ArtistsDisplayString, "artistsDisplayString"},
|
||||
{Roles::Plays, "plays"}
|
||||
};
|
||||
}
|
||||
|
||||
int PlaybackHistoryModel::rowCount(const QModelIndex &parent) const {
|
||||
return parent.isValid() ? 0 : m_playedSongs.size();
|
||||
}
|
||||
|
||||
QVariant PlaybackHistoryModel::data(const QModelIndex &index, int role) const {
|
||||
switch (role) {
|
||||
case Roles::VideoId:
|
||||
return m_playedSongs.at(index.row()).videoId;
|
||||
case Roles::Title:
|
||||
return m_playedSongs.at(index.row()).title;
|
||||
case Roles::Artists:
|
||||
return QVariant::fromValue(std::vector<meta::Artist> {
|
||||
{
|
||||
m_playedSongs.at(index.row()).artist.toStdString(),
|
||||
{}
|
||||
auto update = [=, this]() {
|
||||
auto future = [=, this]() {
|
||||
if (type == MostPlayed) {
|
||||
return library->database().getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
|
||||
} else {
|
||||
return library->database().getResults<PlayedSong>("select * from played_songs natural join songs");
|
||||
}
|
||||
});
|
||||
case Roles::ArtistsDisplayString:
|
||||
return m_playedSongs.at(index.row()).artist;
|
||||
case Roles::Plays:
|
||||
return m_playedSongs.at(index.row()).plays;
|
||||
}
|
||||
}();
|
||||
|
||||
Q_UNREACHABLE();
|
||||
connectFuture(future, this, &PlaybackHistoryModel::updateData);
|
||||
};
|
||||
|
||||
update();
|
||||
connect(library, &Library::playbackHistoryChanged, this, update);
|
||||
}
|
||||
|
||||
FavouritesModel::FavouritesModel(QFuture<std::vector<Song>> &&songs, QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
FavouritesModel::FavouritesModel(Library *library)
|
||||
: AutoListModel<Song>(library)
|
||||
{
|
||||
connectFuture(songs, this, [this](const auto songs) {
|
||||
beginResetModel();
|
||||
m_favouriteSongs = songs;
|
||||
endResetModel();
|
||||
});
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> FavouritesModel::roleNames() const {
|
||||
return {
|
||||
{Roles::VideoId, "videoId"},
|
||||
{Roles::Title, "title"},
|
||||
{Roles::Artists, "artists"},
|
||||
{Roles::ArtistsDisplayString, "artistsDisplayString"}
|
||||
auto update = [=, this]() {
|
||||
auto future = library->database().getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
|
||||
connectFuture(future, this, &FavouritesModel::updateData);
|
||||
};
|
||||
}
|
||||
|
||||
int FavouritesModel::rowCount(const QModelIndex &parent) const {
|
||||
return parent.isValid() ? 0 : m_favouriteSongs.size();
|
||||
}
|
||||
|
||||
QVariant FavouritesModel::data(const QModelIndex &index, int role) const {
|
||||
switch (role) {
|
||||
case Roles::VideoId:
|
||||
return m_favouriteSongs.at(index.row()).videoId;
|
||||
case Roles::Title:
|
||||
return m_favouriteSongs.at(index.row()).title;
|
||||
case Roles::ArtistsDisplayString:
|
||||
return m_favouriteSongs.at(index.row()).artist;
|
||||
case Roles::Artists:
|
||||
return QVariant::fromValue(std::vector<meta::Artist> {
|
||||
{
|
||||
m_favouriteSongs.at(index.row()).artist.toStdString(),
|
||||
{}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Q_UNREACHABLE();
|
||||
update();
|
||||
connect(library, &Library::favouritesChanged, this, update);
|
||||
}
|
||||
|
||||
FavouriteWatcher::FavouriteWatcher(Library *library, const QString &videoId)
|
||||
@@ -260,25 +218,41 @@ bool FavouriteWatcher::isFavourite() const {
|
||||
return m_isFavourite;
|
||||
}
|
||||
|
||||
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
SearchHistoryModel::SearchHistoryModel(Library *library)
|
||||
: AutoListModel<SearchQuery>(library)
|
||||
{
|
||||
connectFuture(historyFuture, this, [this](const auto history) {
|
||||
beginResetModel();
|
||||
m_history = history;
|
||||
endResetModel();
|
||||
});
|
||||
auto update = [=, this]() {
|
||||
auto future = library->database().getResults<SearchQuery>("select distinct (search_query) from searches order by search_id desc");
|
||||
connectFuture(future, this, &SearchHistoryModel::updateData);
|
||||
};
|
||||
update();
|
||||
connect(library, &Library::searchesChanged, update);
|
||||
}
|
||||
|
||||
int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
|
||||
return parent.isValid() ? 0 : m_history.size();
|
||||
WasPlayedWatcher::WasPlayedWatcher(Library* library, const QString& videoId)
|
||||
: QObject(library), m_videoId(videoId), m_library(library)
|
||||
{
|
||||
connect(m_library, &Library::playbackHistoryChanged, this, &WasPlayedWatcher::query);
|
||||
query();
|
||||
}
|
||||
|
||||
QVariant SearchHistoryModel::data(const QModelIndex &index, int role) const {
|
||||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
return m_history[index.row()].value;
|
||||
void WasPlayedWatcher::query()
|
||||
{
|
||||
connectFuture(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from played_songs where video_id = ?", m_videoId), this, &WasPlayedWatcher::update);
|
||||
}
|
||||
|
||||
|
||||
bool WasPlayedWatcher::wasPlayed() const
|
||||
{
|
||||
return m_wasPlayed;
|
||||
}
|
||||
|
||||
|
||||
void WasPlayedWatcher::update(std::optional<SingleValue<bool>> result)
|
||||
{
|
||||
if(result.has_value())
|
||||
{
|
||||
m_wasPlayed = result->value;
|
||||
Q_EMIT wasPlayedChanged();
|
||||
}
|
||||
|
||||
Q_UNREACHABLE();
|
||||
}
|
||||
+80
-51
@@ -15,9 +15,22 @@
|
||||
#include "asyncytmusic.h"
|
||||
#include "asyncdatabase.h"
|
||||
|
||||
#include "autolistmodel.h"
|
||||
|
||||
using namespace desert;
|
||||
|
||||
class FavouriteWatcher;
|
||||
class WasPlayedWatcher;
|
||||
|
||||
inline std::vector<meta::Artist> metaArtist(const QString &artist) {
|
||||
return { meta::Artist { artist.toStdString(), {} } };
|
||||
}
|
||||
|
||||
struct Song {
|
||||
DESERT_OBJECT
|
||||
|
||||
int operator<=>(const Song &other) const = default;
|
||||
|
||||
using ColumnTypes = std::tuple<QString, QString, QString, QString>;
|
||||
|
||||
static Song fromSql(ColumnTypes tuple) {
|
||||
@@ -25,34 +38,26 @@ struct Song {
|
||||
return Song {videoId, title, artist, album};
|
||||
}
|
||||
|
||||
QString videoId;
|
||||
QString title;
|
||||
QString artist;
|
||||
QString album;
|
||||
Attribute<u"videoId", QString> videoId;
|
||||
Attribute<u"title", QString> title;
|
||||
Attribute<u"artists", QString> artists;
|
||||
Attribute<u"album", QString> album;
|
||||
};
|
||||
|
||||
class FavouritesModel : public QAbstractListModel {
|
||||
class Library;
|
||||
|
||||
class FavouritesModel : public AutoListModel<Song> {
|
||||
Q_OBJECT
|
||||
|
||||
enum Roles {
|
||||
VideoId = Qt::UserRole + 1,
|
||||
Title,
|
||||
Artists,
|
||||
ArtistsDisplayString
|
||||
};
|
||||
|
||||
public:
|
||||
FavouritesModel(QFuture<std::vector<Song>> &&songs, QObject *parent = nullptr);
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
|
||||
private:
|
||||
std::vector<Song> m_favouriteSongs;
|
||||
FavouritesModel(Library *library);
|
||||
};
|
||||
|
||||
struct PlayedSong {
|
||||
DESERT_OBJECT
|
||||
|
||||
int operator<=>(const PlayedSong &other) const = default;
|
||||
|
||||
using ColumnTypes = std::tuple<QString, int, QString, QString, QString>;
|
||||
|
||||
static PlayedSong fromSql(ColumnTypes tuple) {
|
||||
@@ -60,55 +65,56 @@ struct PlayedSong {
|
||||
return PlayedSong {videoId, title, artist, album, plays};
|
||||
}
|
||||
|
||||
QString videoId;
|
||||
QString title;
|
||||
QString artist;
|
||||
QString album;
|
||||
int plays;
|
||||
Attribute<u"videoId", QString> videoId;
|
||||
Attribute<u"title", QString> title;
|
||||
Attribute<u"artists", QString> artists;
|
||||
Attribute<u"album", QString> album;
|
||||
Attribute<u"album", int> plays;
|
||||
};
|
||||
|
||||
class PlaybackHistoryModel : public QAbstractListModel {
|
||||
class PlaybackHistoryModel : public AutoListModel<PlayedSong> {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum Roles {
|
||||
VideoId = Qt::UserRole + 1,
|
||||
Title,
|
||||
Artists,
|
||||
ArtistsDisplayString,
|
||||
Plays
|
||||
enum Type {
|
||||
MostPlayed,
|
||||
History
|
||||
};
|
||||
Q_ENUM(Roles);
|
||||
|
||||
PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent = nullptr);
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
|
||||
private:
|
||||
std::vector<PlayedSong> m_playedSongs;
|
||||
PlaybackHistoryModel(Library *library, Type type);
|
||||
};
|
||||
|
||||
class SearchHistoryModel : public QAbstractListModel {
|
||||
class SearchQuery {
|
||||
DESERT_OBJECT
|
||||
|
||||
using ColumnTypes = std::tuple<QString>;
|
||||
|
||||
static SearchQuery fromSql(ColumnTypes tuple) {
|
||||
auto [query] = tuple;
|
||||
return { query };
|
||||
}
|
||||
|
||||
int operator<=>(const SearchQuery &other) const = default;
|
||||
|
||||
Attribute<u"query", QString> query;
|
||||
};
|
||||
|
||||
class SearchHistoryModel : public AutoListModel<SearchQuery> {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
|
||||
int rowCount(const QModelIndex &parent) const override;
|
||||
QVariant data(const QModelIndex &index, int role) const override;
|
||||
SearchHistoryModel(Library *library);
|
||||
|
||||
private:
|
||||
std::vector<SingleValue<QString>> m_history;
|
||||
std::vector<SearchQuery> m_history;
|
||||
};
|
||||
|
||||
class Library : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QAbstractListModel *favourites READ favourites NOTIFY favouritesChanged)
|
||||
Q_PROPERTY(QAbstractListModel *searches READ searches NOTIFY searchesChanged)
|
||||
Q_PROPERTY(QAbstractListModel *playbackHistory READ playbackHistory NOTIFY playbackHistoryChanged)
|
||||
Q_PROPERTY(QAbstractListModel *mostPlayed READ mostPlayed NOTIFY playbackHistoryChanged)
|
||||
Q_PROPERTY(QAbstractListModel *favourites READ favourites CONSTANT)
|
||||
Q_PROPERTY(QAbstractListModel *searches READ searches CONSTANT)
|
||||
Q_PROPERTY(QAbstractListModel *playbackHistory READ playbackHistory CONSTANT)
|
||||
Q_PROPERTY(QAbstractListModel *mostPlayed READ mostPlayed CONSTANT)
|
||||
|
||||
public:
|
||||
explicit Library(QObject *parent = nullptr);
|
||||
@@ -125,10 +131,13 @@ public:
|
||||
SearchHistoryModel *searches();
|
||||
Q_SIGNAL void searchesChanged();
|
||||
Q_INVOKABLE void addSearch(const QString &text);
|
||||
Q_INVOKABLE void removeSearch(const QString &text);
|
||||
|
||||
PlaybackHistoryModel *playbackHistory();
|
||||
Q_SIGNAL void playbackHistoryChanged();
|
||||
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
|
||||
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
|
||||
|
||||
PlaybackHistoryModel *mostPlayed();
|
||||
|
||||
@@ -189,3 +198,23 @@ private:
|
||||
Library *m_library;
|
||||
bool m_isFavourite = false;
|
||||
};
|
||||
|
||||
class WasPlayedWatcher : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(bool wasPlayed READ wasPlayed NOTIFY wasPlayedChanged)
|
||||
|
||||
public:
|
||||
WasPlayedWatcher(Library *Library, const QString &VideoId);
|
||||
|
||||
bool wasPlayed() const;
|
||||
|
||||
Q_SIGNAL void wasPlayedChanged();
|
||||
|
||||
private:
|
||||
bool m_wasPlayed = false;
|
||||
QString m_videoId;
|
||||
Library *m_library;
|
||||
Q_SLOT void update(std::optional<SingleValue<bool>> result);
|
||||
Q_SLOT void query();
|
||||
};
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <KLocalizedString>
|
||||
#include <KCrash>
|
||||
#include <KAboutData>
|
||||
#include <QQuickWindow>
|
||||
|
||||
#include "searchmodel.h"
|
||||
#include "albummodel.h"
|
||||
@@ -21,6 +22,7 @@
|
||||
#include "playlistmodel.h"
|
||||
#include "playerutils.h"
|
||||
#include "library.h"
|
||||
#include "blur.h"
|
||||
|
||||
#include "asyncdatabase.h"
|
||||
|
||||
@@ -48,18 +50,23 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
qmlRegisterType<PlaylistModel>(URI, 1, 0, "PlaylistModel");
|
||||
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
|
||||
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
|
||||
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
|
||||
|
||||
qmlRegisterSingletonType<UserPlaylistModel>(URI, 1, 0, "UserPlaylistModel", [](QQmlEngine *, QJSEngine *) {
|
||||
return new UserPlaylistModel();
|
||||
});
|
||||
qmlRegisterSingletonType<ErrorHandler>(URI, 1, 0, "ErrorHandler", [](QQmlEngine *, QJSEngine *) {
|
||||
return new ErrorHandler();
|
||||
});
|
||||
|
||||
qmlRegisterSingletonType<PlayerUtils>(URI, 1, 0, "PlayerUtils", [](QQmlEngine *, QJSEngine *) {
|
||||
return new PlayerUtils();
|
||||
});
|
||||
|
||||
qmlRegisterSingletonInstance<Library>(URI, 1, 0, "Library", &Library::instance());
|
||||
qmlRegisterType<ThumbnailSource>(URI, 1, 0, "ThumbnailSource");
|
||||
qmlRegisterAnonymousType<FavouriteWatcher>(URI, 1);
|
||||
qmlRegisterAnonymousType<WasPlayedWatcher>(URI, 1);
|
||||
|
||||
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
|
||||
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
|
||||
|
||||
@@ -10,20 +10,20 @@
|
||||
#include <QtGlobal>
|
||||
|
||||
template <typename Tuple, typename Func, std::size_t i>
|
||||
inline constexpr void iterate_impl(Tuple &tup, Func fun)
|
||||
inline constexpr void iterate_tuple_impl(Tuple &tup, Func fun)
|
||||
{
|
||||
if constexpr(i >= std::tuple_size_v<std::decay_t<decltype(tup)>>) {
|
||||
return;
|
||||
} else {
|
||||
fun(std::get<i>(tup));
|
||||
return iterate_impl<Tuple, Func, i + 1>(tup, fun);
|
||||
return iterate_tuple_impl<Tuple, Func, i + 1>(tup, fun);
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Tuple, typename Func>
|
||||
inline constexpr void iterate_tuple(Tuple &tup, Func fun)
|
||||
{
|
||||
iterate_impl<Tuple, Func, 0>(tup, fun);
|
||||
iterate_tuple_impl<Tuple, Func, 0>(tup, fun);
|
||||
}
|
||||
|
||||
/// MultiIterableView is a view over multiple contigous memory arrays, like std::vector or std::array.
|
||||
|
||||
+5
-2
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
|
||||
SPDX-FileCopyrightText: 2022 Jonah Brüchert <[email protected]>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
-->
|
||||
@@ -19,9 +19,12 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
|
||||
<file>migrations/2022-05-20-194850_init/down.sql</file>
|
||||
<file>migrations/2022-05-20-194850_init/up.sql</file>
|
||||
<file alias="PlaybackHistory.qml">contents/ui/PlaybackHistory.qml</file>
|
||||
<file alias="RoundedMask.qml">contents/ui/RoundedMask.qml</file>
|
||||
<file alias="SongMenu.qml">contents/ui/SongMenu.qml</file>
|
||||
<file alias="ListHeader.qml">contents/ui/ListHeader.qml</file>
|
||||
<file alias="RoundedImage.qml">contents/ui/RoundedImage.qml</file>
|
||||
<file alias="Sidebar.qml">contents/ui/Sidebar.qml</file>
|
||||
<file alias="NavigationBar.qml">contents/ui/NavigationBar.qml</file>
|
||||
<file alias="SearchHistoryPage.qml">contents/ui/SearchHistoryPage.qml</file>
|
||||
<file alias="SearchWithDropdown.qml">contents/ui/SearchWithDropdown.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -123,8 +123,6 @@ QVariant SearchModel::data(const QModelIndex &index, int role) const
|
||||
}, m_searchResults.at(index.row()));
|
||||
case ThumbnailUrl:
|
||||
return std::visit([&](auto &&arg) {
|
||||
using T = std::decay_t<decltype(arg)>;
|
||||
|
||||
if (!arg.thumbnails.empty()) {
|
||||
return QString::fromStdString(arg.thumbnails.front().url);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,475 @@
|
||||
/****************************************************************************
|
||||
** MIT License
|
||||
**
|
||||
** Copyright (C) 2018-2023 Klarälvdalens Datakonsult AB, a KDAB Group company, [email protected]
|
||||
** Author: André Somers <[email protected]>
|
||||
**
|
||||
** This file is part of KDToolBox (https://github.com/KDAB/KDToolBox).
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
** of this software and associated documentation files (the "Software"), to deal
|
||||
** in the Software without restriction, including without limitation the rights
|
||||
** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
** copies of the Software, ** and to permit persons to whom the Software is
|
||||
** furnished to do so, subject to the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice (including the next paragraph)
|
||||
** shall be included in all copies or substantial portions of the Software.
|
||||
**
|
||||
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
** LIABILITY, WHETHER IN AN ACTION OF ** CONTRACT, TORT OR OTHERWISE,
|
||||
** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
** DEALINGS IN THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef UPDATEABLEMODEL_H
|
||||
#define UPDATEABLEMODEL_H
|
||||
|
||||
#include <QModelIndex>
|
||||
#include <QSet>
|
||||
#include <QVector>
|
||||
#include <functional>
|
||||
|
||||
// concepts
|
||||
#define ForwardIt typename
|
||||
#define RandomIt typename
|
||||
#define Container typename
|
||||
#define BinaryPredicate typename
|
||||
#define EventHandler typename
|
||||
#define QAIM typename // QAbstractItemModel-derived class
|
||||
|
||||
// basic algorithm
|
||||
|
||||
// precondition: src and target are both ordered with respect to lessThan
|
||||
template<ForwardIt FwdIt, Container TargetCollection, BinaryPredicate LessThan, BinaryPredicate HasChanged,
|
||||
EventHandler OnChanged, EventHandler OnInsert, EventHandler OnRemove, EventHandler OnEqual>
|
||||
void updateCollection(const FwdIt srcBegin, const FwdIt srcEnd, TargetCollection &target, LessThan lessThan,
|
||||
HasChanged itemHasChanged, OnChanged onChanged, OnInsert onInsert, OnRemove onRemove,
|
||||
OnEqual onEqual)
|
||||
{
|
||||
auto srcIt = srcBegin;
|
||||
target.reserve(std::distance(srcBegin, srcEnd));
|
||||
auto targetIt = std::begin(target);
|
||||
|
||||
while (srcIt != srcEnd)
|
||||
{
|
||||
if (targetIt == std::end(target))
|
||||
{
|
||||
// insert: src has still items left while target has no more items
|
||||
// so, insert all remaining items from src into target
|
||||
targetIt = onInsert(srcIt, srcEnd, targetIt);
|
||||
// targetIt now points to the item after the item(s) just inserted
|
||||
srcIt = srcEnd;
|
||||
}
|
||||
else if (lessThan(*srcIt, *targetIt))
|
||||
{
|
||||
// insert: src has one or more items that need to be inserted into target
|
||||
auto srcInsertEnd = std::next(srcIt);
|
||||
while (srcInsertEnd != srcEnd && lessThan(*srcInsertEnd, *targetIt))
|
||||
{
|
||||
srcInsertEnd++;
|
||||
}
|
||||
targetIt = onInsert(srcIt, srcInsertEnd, targetIt);
|
||||
// targetIt now points to the item after the item(s) just inserted
|
||||
srcIt = srcInsertEnd;
|
||||
}
|
||||
else if (lessThan(*targetIt, *srcIt))
|
||||
{
|
||||
// removal: target has items that are not in src (any more), so remove them
|
||||
auto targetRemoveEnd = std::next(targetIt);
|
||||
auto targetEnd = std::end(target);
|
||||
while (targetRemoveEnd != targetEnd && lessThan(*targetRemoveEnd, *srcIt))
|
||||
{
|
||||
targetRemoveEnd++;
|
||||
}
|
||||
targetIt = onRemove(targetIt, targetRemoveEnd);
|
||||
// targetIt now points to the item after the items just removed,
|
||||
// the same item targetEnd was pointing to before the call
|
||||
}
|
||||
else
|
||||
{
|
||||
// same item, check for changes
|
||||
auto changes = itemHasChanged(*srcIt, *targetIt);
|
||||
if (changes)
|
||||
{
|
||||
onChanged(srcIt, targetIt, changes);
|
||||
}
|
||||
else
|
||||
{
|
||||
onEqual(srcIt, targetIt);
|
||||
}
|
||||
srcIt++;
|
||||
targetIt++;
|
||||
}
|
||||
}
|
||||
|
||||
if (targetIt != std::end(target))
|
||||
{
|
||||
// target has some items left, but we're at the end of src, so remove the rest from target
|
||||
onRemove(targetIt, std::end(target));
|
||||
}
|
||||
}
|
||||
|
||||
// helper functions
|
||||
namespace
|
||||
{
|
||||
// helper function to create a QSet<T> out of any container<T>.
|
||||
template<typename T>
|
||||
auto setFromContainer(T container) -> QSet<typename T::value_type>
|
||||
{
|
||||
QSet<typename T::value_type> set;
|
||||
set.reserve(container.size());
|
||||
for (const auto value : container)
|
||||
{
|
||||
set.insert(value);
|
||||
}
|
||||
return set;
|
||||
}
|
||||
|
||||
// helper for manual overload ranking
|
||||
// highest rank is selected first
|
||||
template<size_t Rank>
|
||||
struct OverloadRanker;
|
||||
template<>
|
||||
struct OverloadRanker<0>
|
||||
{
|
||||
};
|
||||
template<size_t Rank>
|
||||
struct OverloadRanker : OverloadRanker<Rank - 1>
|
||||
{
|
||||
};
|
||||
|
||||
// insert range into container, 2 overloads (using SFINAE) with manual ranking in case of multiple matches
|
||||
constexpr size_t BestInsertRangeOverloadRank = 1;
|
||||
|
||||
template<Container C, RandomIt InsertIt, ForwardIt FwdIt>
|
||||
auto insertRange_imp(C &container, InsertIt targetInsertBefore, FwdIt sourceBegin, FwdIt sourceEnd,
|
||||
OverloadRanker<1>) // Best match
|
||||
-> decltype(container.insert(targetInsertBefore, sourceBegin, sourceEnd), InsertIt())
|
||||
{
|
||||
// primary option: use insert with a whole range directly
|
||||
InsertIt it =
|
||||
std::next(container.insert(targetInsertBefore, sourceBegin, sourceEnd), std::distance(sourceBegin, sourceEnd));
|
||||
return it;
|
||||
}
|
||||
|
||||
template<Container C, RandomIt InsertIt, ForwardIt FwdIt>
|
||||
auto insertRange_imp(C &container, InsertIt targetInsertBefore, FwdIt sourceBegin, FwdIt sourceEnd,
|
||||
OverloadRanker<0>) // Fallback
|
||||
-> InsertIt
|
||||
{
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 13, 0))
|
||||
// Check if, when using QVector in Qt , the value type is default constructable
|
||||
static_assert(!std::is_same<QVector<typename C::value_type>, C>::value ||
|
||||
std::is_default_constructible<typename C::value_type>::value,
|
||||
"When using QVector as your container type, the value type must be default-contructible. Consider "
|
||||
"using std::vector instead or use a more recent Qt version.");
|
||||
#endif
|
||||
|
||||
// store the location and the length of the inserted items
|
||||
const auto location = std::distance(std::begin(container), targetInsertBefore);
|
||||
const auto originalCount = container.size();
|
||||
|
||||
// append the new items to the container
|
||||
std::copy(sourceBegin, sourceEnd, std::back_inserter(container));
|
||||
|
||||
// move the items into the right position in the container
|
||||
const auto b = std::begin(container);
|
||||
targetInsertBefore = std::next(b, location);
|
||||
const InsertIt originalEnd = std::next(b, originalCount);
|
||||
return std::rotate(targetInsertBefore, originalEnd, std::end(container));
|
||||
}
|
||||
|
||||
/**
|
||||
* Inserts a range into the target container
|
||||
* @returns an iterator pointing one item past the last item inserted
|
||||
* @param container is the target container
|
||||
* @param targetInsertBefore iterator to the item the new items should be inserted before
|
||||
* @param sourceBegin iterator to the first item to insert into @arg container
|
||||
* @param sourceEnd iterator to the item past the last item to insert into @arg container
|
||||
*
|
||||
* Implementation is done using SFINEA to select an efficient method for the type of
|
||||
* container used.
|
||||
*/
|
||||
|
||||
// "public API"
|
||||
template<Container C, RandomIt InsertIt, ForwardIt FwdIt>
|
||||
InsertIt insertRange(C &container, InsertIt targetInsertBefore, FwdIt sourceBegin, FwdIt sourceEnd)
|
||||
{
|
||||
return insertRange_imp(container, targetInsertBefore, sourceBegin, sourceEnd,
|
||||
OverloadRanker<BestInsertRangeOverloadRank>{});
|
||||
}
|
||||
|
||||
// less than on data type
|
||||
constexpr size_t BestDataLessThanOverloadRank = 1;
|
||||
|
||||
template<typename T>
|
||||
auto dataLessThan_imp(const T &lhs, const T &rhs, OverloadRanker<1>) -> decltype(operator<(lhs, rhs), bool())
|
||||
{
|
||||
return operator<(lhs, rhs);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
auto dataLessThan_imp(const T &lhs, const T &rhs, OverloadRanker<0>) -> decltype(bool())
|
||||
{
|
||||
// fake implementation to stop the compiler from whining. User is probably providing his own via function pointer
|
||||
Q_UNUSED(lhs);
|
||||
Q_UNUSED(rhs);
|
||||
return false;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool dataLessThan(const T &lhs, const T &rhs)
|
||||
{
|
||||
return dataLessThan_imp(lhs, rhs, OverloadRanker<BestDataLessThanOverloadRank>{});
|
||||
}
|
||||
}
|
||||
|
||||
// actual class to inherit from
|
||||
template<QAIM BaseModel, typename DataType>
|
||||
class UpdateableModel : public BaseModel
|
||||
{
|
||||
// can't use Q_OBJECT on templates
|
||||
|
||||
public:
|
||||
explicit UpdateableModel(QObject *parent = nullptr)
|
||||
: BaseModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
protected: // types
|
||||
struct Operations
|
||||
{
|
||||
uint inserts;
|
||||
uint removals;
|
||||
uint updates;
|
||||
};
|
||||
|
||||
struct DataChanges
|
||||
{
|
||||
operator bool() const { return !changedColumns.isEmpty(); }
|
||||
QVector<int> changedColumns; // important: keep ordered!
|
||||
QVector<int> changedRoles;
|
||||
};
|
||||
|
||||
enum ChangeMergePolicy
|
||||
{
|
||||
AlwaysMergeNeighbouringRows,
|
||||
MergeWhenColumnsMatch,
|
||||
MergeWhenRolesMatch,
|
||||
MergeOnPerfectMatch
|
||||
};
|
||||
|
||||
using HasChangesFunction = std::function<DataChanges(const DataType & /*lhs*/, const DataType & /*rhs*/)>;
|
||||
|
||||
protected: // methods
|
||||
void setChangeMergePolicy(ChangeMergePolicy policy) { m_changeMergePolicy = policy; }
|
||||
|
||||
ChangeMergePolicy changeMergePolicy() const { return m_changeMergePolicy; }
|
||||
|
||||
virtual bool lessThan(const DataType &lhs, const DataType &rhs) const { return dataLessThan(lhs, rhs); }
|
||||
|
||||
virtual DataChanges itemHasChanged(const DataType &lhs, const DataType &rhs) const
|
||||
{
|
||||
Q_UNUSED(lhs);
|
||||
Q_UNUSED(rhs);
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
template<ForwardIt Iterator, Container DataContainer, BinaryPredicate LessThan>
|
||||
Operations updateData(Iterator srcBegin, Iterator srcEnd, DataContainer &targetContainer, LessThan lessThan,
|
||||
HasChangesFunction itemHasChanged)
|
||||
{
|
||||
Operations ops{0, 0, 0};
|
||||
|
||||
// events
|
||||
auto onChanged = [this, &targetContainer, &ops](Iterator lhs, typename DataContainer::iterator rhs,
|
||||
const DataChanges &changes) {
|
||||
*rhs = *lhs;
|
||||
|
||||
int row = std::distance(targetContainer.begin(), rhs);
|
||||
addChange(row, changes.changedColumns, changes.changedRoles);
|
||||
|
||||
ops.updates++;
|
||||
};
|
||||
|
||||
auto onInsert = [this, &targetContainer, &ops](Iterator lhsBegin, Iterator lhsEnd,
|
||||
typename DataContainer::iterator rhsInsertAt) {
|
||||
flushCachedChanges();
|
||||
int firstNewRow = std::distance(targetContainer.begin(), rhsInsertAt);
|
||||
int lastNewRow = firstNewRow + std::distance(lhsBegin, lhsEnd) - 1;
|
||||
beginInsertRows(firstNewRow, lastNewRow);
|
||||
auto rangeEnd = insertRange(targetContainer, rhsInsertAt, lhsBegin, lhsEnd);
|
||||
endInsertRows();
|
||||
|
||||
ops.inserts += lhsEnd - lhsBegin;
|
||||
|
||||
return rangeEnd;
|
||||
};
|
||||
|
||||
auto onRemove = [this, &targetContainer, &ops](typename DataContainer::iterator rhsBegin,
|
||||
typename DataContainer::iterator rhsEnd) {
|
||||
flushCachedChanges();
|
||||
const auto targetContainerBegin = std::begin(targetContainer);
|
||||
int firstRemovedRow = std::distance(targetContainerBegin, rhsBegin);
|
||||
int lastRemovedRow = std::distance(targetContainerBegin, rhsEnd) - 1;
|
||||
beginRemoveRows(firstRemovedRow, lastRemovedRow);
|
||||
auto newRhsEnd = targetContainer.erase(rhsBegin, rhsEnd);
|
||||
endRemoveRows();
|
||||
|
||||
ops.removals += std::distance(rhsBegin, rhsEnd);
|
||||
|
||||
return newRhsEnd;
|
||||
};
|
||||
|
||||
auto onEqual = [this](Iterator /*lhs*/, typename DataContainer::iterator /*rhs*/) { flushCachedChanges(); };
|
||||
|
||||
updateCollection(srcBegin, srcEnd, targetContainer, lessThan, itemHasChanged, onChanged, onInsert, onRemove,
|
||||
onEqual);
|
||||
flushCachedChanges();
|
||||
|
||||
return ops;
|
||||
}
|
||||
|
||||
template<ForwardIt Iterator, Container Data>
|
||||
Operations updateData(Iterator srcBegin, Iterator srcEnd, Data &targetContainer, HasChangesFunction hasChanged = {})
|
||||
{
|
||||
auto lessThanFunction = [this](const DataType &lhs, const DataType &rhs) { return this->lessThan(lhs, rhs); };
|
||||
if (!hasChanged)
|
||||
{
|
||||
hasChanged = [this](const DataType &lhs, const DataType &rhs) -> DataChanges {
|
||||
return this->itemHasChanged(lhs, rhs);
|
||||
};
|
||||
}
|
||||
|
||||
return updateData(srcBegin, srcEnd, targetContainer, lessThanFunction, hasChanged);
|
||||
}
|
||||
|
||||
protected:
|
||||
// Shadowing the methods in the base model, because MSVC thinks the onRemove and onInsert
|
||||
// lambdas in updateData are not allowed to access the protected member functions in BaseClass.
|
||||
// GCC is ok with it...
|
||||
void beginInsertRows(int firstRow, int lastRow) { BaseModel::beginInsertRows(QModelIndex(), firstRow, lastRow); }
|
||||
|
||||
void endInsertRows() { BaseModel::endInsertRows(); }
|
||||
|
||||
void beginRemoveRows(int firstRow, int lastRow) { BaseModel::beginRemoveRows(QModelIndex(), firstRow, lastRow); }
|
||||
|
||||
void endRemoveRows() { BaseModel::endRemoveRows(); }
|
||||
|
||||
private:
|
||||
void flushCachedChanges()
|
||||
{
|
||||
if (m_firstChangedRow == -1)
|
||||
return;
|
||||
|
||||
// reconstruct vector of changed roles
|
||||
QVector<int> roles;
|
||||
roles.reserve(m_changedRoles.count());
|
||||
for (int role : qAsConst(m_changedRoles))
|
||||
{
|
||||
roles.append(role);
|
||||
}
|
||||
|
||||
// convert the vector of ints indicating changed columns into a vector of pairs of ints indicating ranges.
|
||||
// for example, the vector {1, 2, 3, 5, 6, 9} would be converted to {{1, 3}, {5, 6}, {9, 9}}
|
||||
typedef QVector<QPair<int, int>> ColumnRanges;
|
||||
auto accumulator = [](ColumnRanges ranges, int column) {
|
||||
if (ranges.isEmpty() || (ranges.last().second < column - 1))
|
||||
{
|
||||
ranges.append(qMakePair(column, column));
|
||||
}
|
||||
else
|
||||
{
|
||||
ranges[ranges.count() - 1].second = column;
|
||||
}
|
||||
return ranges;
|
||||
};
|
||||
const auto ranges =
|
||||
std::accumulate(m_changedColumns.cbegin(), m_changedColumns.cend(), ColumnRanges(), accumulator);
|
||||
|
||||
for (const auto &columnRange : ranges)
|
||||
{
|
||||
QModelIndex topLeft = BaseModel::index(m_firstChangedRow, columnRange.first);
|
||||
QModelIndex bottomRight = BaseModel::index(m_lastChangedRow, columnRange.second);
|
||||
Q_EMIT BaseModel::dataChanged(topLeft, bottomRight, roles);
|
||||
}
|
||||
|
||||
m_firstChangedRow = -1;
|
||||
}
|
||||
|
||||
void addChange(int row, const QVector<int> &columns, const QVector<int> &roles)
|
||||
{
|
||||
auto mergeColumns = [this](const QVector<int> &columns) {
|
||||
QVector<int> columnUnion;
|
||||
// we have to cast this to QAbstractItemModel, to work around QAbstractListModel making columnCount private
|
||||
columnUnion.reserve(static_cast<QAbstractItemModel *>(this)->columnCount());
|
||||
auto inserter = std::back_inserter(columnUnion);
|
||||
std::set_union(m_changedColumns.cbegin(), m_changedColumns.cend(), columns.cbegin(), columns.cend(),
|
||||
inserter);
|
||||
m_changedColumns = std::move(columnUnion);
|
||||
};
|
||||
|
||||
if (m_firstChangedRow > -1)
|
||||
{
|
||||
// from here rows are guaranteed to be sequential, so no need to check for that
|
||||
m_lastChangedRow = row; // optimistic, but lets see...
|
||||
|
||||
switch (m_changeMergePolicy)
|
||||
{
|
||||
case AlwaysMergeNeighbouringRows:
|
||||
m_changedRoles = m_changedRoles.intersect(setFromContainer(roles));
|
||||
mergeColumns(columns);
|
||||
return;
|
||||
case MergeWhenColumnsMatch:
|
||||
if (m_changedColumns == columns)
|
||||
{
|
||||
m_changedRoles = m_changedRoles.intersect(setFromContainer(roles));
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case MergeWhenRolesMatch:
|
||||
if (m_changedRoles == setFromContainer(roles))
|
||||
{
|
||||
mergeColumns(columns);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case MergeOnPerfectMatch:
|
||||
if (m_changedColumns == columns && m_changedRoles == setFromContainer(roles))
|
||||
{
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
m_lastChangedRow = row - 1; // we were too optimistic
|
||||
flushCachedChanges();
|
||||
}
|
||||
|
||||
// just copy the details of the first change
|
||||
m_firstChangedRow = row;
|
||||
m_lastChangedRow = row;
|
||||
m_changedColumns = columns;
|
||||
m_changedRoles = setFromContainer(roles);
|
||||
}
|
||||
|
||||
ChangeMergePolicy m_changeMergePolicy = MergeOnPerfectMatch;
|
||||
int m_firstChangedRow = -1;
|
||||
int m_lastChangedRow = -1;
|
||||
QVector<int> m_changedColumns;
|
||||
QSet<int> m_changedRoles;
|
||||
};
|
||||
|
||||
#undef ForwardIt
|
||||
#undef RandomIt
|
||||
#undef Container
|
||||
#undef BinaryPredicate
|
||||
#undef EventHandler
|
||||
#undef QAIM
|
||||
|
||||
#endif // UPDATEABLEMODEL_H
|
||||
+4
-4
@@ -22,7 +22,7 @@ void pyPrintPretty(py::handle obj) {
|
||||
|
||||
#define UNEXPORT __attribute__ ((visibility("hidden")))
|
||||
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "0.24.0";
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "0.25.0";
|
||||
|
||||
struct UNEXPORT YTMusicPrivate {
|
||||
py::scoped_interpreter guard {};
|
||||
@@ -46,9 +46,9 @@ struct UNEXPORT YTMusicPrivate {
|
||||
std::cerr << "Running with outdated and untested version of ytmusicapi." << std::endl;
|
||||
std::cerr << "The currently tested and supported version is " << TESTED_YTMUSICAPI_VERSION << std::endl;
|
||||
} else {
|
||||
const auto version = module.attr("version")("ytmusicapi").cast<std::string>();
|
||||
const auto version = module.attr("__version__").cast<std::string>();
|
||||
if (version != TESTED_YTMUSICAPI_VERSION) {
|
||||
std::cerr << "Running with untested version of ytmusicapi." << std::endl;
|
||||
std::cerr << "Running with untested version of ytmusicapi " << version << "." << std::endl;
|
||||
std::cerr << "The currently tested and supported version is " << TESTED_YTMUSICAPI_VERSION << std::endl;
|
||||
}
|
||||
}
|
||||
@@ -144,7 +144,7 @@ album::Track extract_album_track(py::handle track) {
|
||||
|
||||
video_info::Format extract_format(py::handle format) {
|
||||
return {
|
||||
optional_key<int>(format, "quality"),
|
||||
optional_key<float>(format, "quality"),
|
||||
format["url"].cast<std::string>(),
|
||||
format["vcodec"].cast<std::string>(),
|
||||
format["acodec"].cast<std::string>()
|
||||
|
||||
+1
-1
@@ -234,7 +234,7 @@ struct Playlist {
|
||||
|
||||
namespace video_info {
|
||||
struct Format {
|
||||
std::optional<int> quality;
|
||||
std::optional<float> quality;
|
||||
std::string url;
|
||||
std::string vcodec;
|
||||
std::string acodec;
|
||||
|
||||
Reference in new issue
Block a user