Compare commits

...
35 Commits
Author SHA1 Message Date
Jonah Brüchert 5d4355db8f 6 2023-10-18 19:34:27 +02:00
Jonah Brüchert 7d9b4fe9fa 5 2023-10-18 19:32:37 +02:00
Jonah Brüchert 2a8c0d2427 4 2023-10-18 19:26:55 +02:00
Jonah Brüchert d9d9bc4fcf 3 2023-10-18 19:13:15 +02:00
Jonah Brüchert cafecca84f 2 2023-10-18 19:09:41 +02:00
Jonah Brüchert a650da5fb7 1 2023-10-18 19:07:59 +02:00
Jonah Brüchert 71d281ffbf Downgrade futuresql as test 2023-10-18 19:05:29 +02:00
Jonah Brüchert 4ae79d8e16 Add metadata 2023-10-18 19:04:52 +02:00
Jonah Brüchert 8f8c9c8555 ci: wip: Add external data checker job 2023-10-18 19:04:34 +02:00
Jonah Brüchert acc227b68f Load audio player asynchronously to improve startup time
It appeared to be a major factor while profiling.
2023-10-07 02:08:52 +02:00
Jonah Brüchert ba017f29e4 Update ytmusicapi to 1.3.0 2023-10-03 23:55:46 +02:00
Jonah Brüchert 0d647236e0 Update supported ytmusicapi version to 1.2.1 2023-10-02 20:21:02 +02:00
l10n daemon script a31ff55797 GIT_SILENT Sync po/docbooks with svn 2023-10-01 01:34:06 +00:00
l10n daemon script 06a29f0d31 GIT_SILENT Sync po/docbooks with svn 2023-09-18 01:43:01 +00:00
l10n daemon script 19867e6488 GIT_SILENT Sync po/docbooks with svn 2023-09-17 01:57:57 +00:00
Jonah Brüchert a73ff3c03b Report QFutureResults even on failure
Otherwise we'd crash reading the result.
2023-09-15 21:01:59 +02:00
Bart Ribbers d4c8fbac96 Fix detecting of QT_MAJOR_VERSION logic 2023-09-15 18:49:28 +00:00
Justin Zobel 6624e08036 Update kirigami addons for Flatpak 2023-09-15 18:46:47 +00:00
Carl Schwan 6c5f8b62f1 Port to FormCard for the about page 2023-09-13 23:01:49 +02:00
Heiko Becker 1d3dff98bd GIT_SILENT Update Appstream for new release
(cherry picked from commit 665501728e)
2023-09-09 11:03:43 +02:00
l10n daemon script 7b1d0c9da0 GIT_SILENT Sync po/docbooks with svn 2023-09-03 02:03:17 +00:00
l10n daemon script eb2a00a834 GIT_SILENT Sync po/docbooks with svn 2023-08-28 02:04:00 +00:00
l10n daemon script eb5260ee9e GIT_SILENT Sync po/docbooks with svn 2023-08-25 01:45:49 +00:00
l10n daemon script 31eafac6f9 GIT_SILENT Sync po/docbooks with svn 2023-08-21 01:45:06 +00:00
Heiko Becker bd8fc2a7c7 GIT_SILENT Update Appstream for new release
(cherry picked from commit e6d1c52d8f)
2023-08-16 23:30:50 +02:00
Jonah Brüchert 29004b3aa3 thumbnailsource: Fix reusing thumbnailsources while they are loading 2023-08-12 00:55:09 +02:00
l10n daemon script 62bfc84464 GIT_SILENT Sync po/docbooks with svn 2023-08-11 01:43:42 +00:00
Theophile Gilgien 0506bb8fdb fix search history removing 2023-08-09 10:39:05 +02:00
l10n daemon script 2c5e8a6569 GIT_SILENT Sync po/docbooks with svn 2023-08-08 01:47:07 +00:00
Jonah Brüchert 3d32be19a0 Also use optimized search models for mobile search history 2023-08-07 20:22:35 +02:00
Theophile Gilgien 94d73a1584 fix search filter not resetting when clearing search 2023-08-07 16:48:00 +02:00
Theophile Gilgien acfa2af0e2 fix search removing when temporarySearch isn't empty 2023-08-07 16:43:48 +02:00
Jonah Brüchert f93a44a839 Improve performance of search popup with new local search model 2023-08-07 14:01:27 +00:00
Jonah Brüchert 592ad4ec68 Small library cleanup 2023-08-07 01:59:05 +02:00
Bart Ribbers 2894ab83e2 Allow building with KF6 2023-08-06 21:32:23 +02:00
52 changed files with 412 additions and 297 deletions

No files matched your search

+23 -3
View File
@@ -1,7 +1,27 @@
# SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
# SPDX-FileCopyrightText: 2021-2023 Jonah Brüchert <[email protected]>
#
# 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/flatpak.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
external-data-checker:
image:
name: ghcr.io/flathub/flatpak-external-data-checker:latest
entrypoint: [""]
variables:
GIT_AUTHOR_NAME: Flatpak External Data Checker
GIT_COMMITTER_NAME: Flatpak External Data Checker
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_EMAIL: [email protected]
EMAIL: [email protected]
script:
- export BRANCH_NAME="$(git rev-parse --abbrev-ref HEAD)"
- /app/flatpak-external-data-checker --update --commit-only .flatpak-manifest.json
- export MR_BRANCH_NAME="work/fedc/$(git rev-parse --abbrev-ref HEAD)"
- git checkout -b "${MR_BRANCH_NAME}"
- pip3 install git+https://invent.kde.org/sdk/git-lab
- git lab workflow --workbranch
- git lab login --host invent.kde.org --token "${TOKEN}"
- git lab mr --noninteractive --target-branch "${BRANCH_NAME}"
+13 -6
View File
@@ -14,16 +14,23 @@ project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
include(FeatureSummary)
set(QT5_MIN_VERSION 5.15)
set(KF5_MIN_VERSION 5.81)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(QT_MIN_VERSION "5.15")
set(KF_MIN_VERSION "5.81.0")
find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
if (QT_MAJOR_VERSION STREQUAL "6")
set(QT_MIN_VERSION "6.4.0")
set(KF_MIN_VERSION "5.240.0")
set(KF_MAJOR_VERSION "6")
else()
set(KF_MAJOR_VERSION "5")
endif()
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
@@ -39,8 +46,8 @@ ecm_setup_version(${PROJECT_VERSION}
kde_enable_exceptions()
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Concurrent DBus)
find_package(KF${KF_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 1.0.2 REQUIRED RUNTIME)
+2 -2
View File
@@ -8,8 +8,8 @@
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.7.0.tar.xz",
"sha256": "0132a58b150229544a61e17e792c48cfc6daa03a8be9c7acd873a6c30d283df7",
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.11.0.tar.xz",
"sha256": "05296c5afbe6804308bf9c0d2751f3b748b40d00fa784946d1dcdf3af4bffbad",
"x-checker-data": {
"type": "anitya",
"project-id": 242933,
+8 -8
View File
@@ -7,8 +7,8 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2a/18/70c32fe9357f3eea18598b23aa9ed29b1711c3001835f7cf99a9818985d0/Brotli-1.0.9.zip",
"sha256": "4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438"
"url": "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz",
"sha256": "81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"
},
{
"type": "file",
@@ -17,13 +17,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/03/ee/114d7016d2e34f341e212fefb5e7bd87785077ebcfff0ad23a497c70eea1/mutagen-1.46.0-py3-none-any.whl",
"sha256": "8af0728aa2d5c3ee5a727e28d0627966641fddfe804c23eabb5926a4d770aed5"
"url": "https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl",
"sha256": "edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/40/92/efd675dba957315d705f792b28d900bddc36f39252f6713961b4221ee9af/pycryptodomex-3.18.0.tar.gz",
"sha256": "3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"
"url": "https://files.pythonhosted.org/packages/14/c9/09d5df04c9f29ae1b49d0e34c9934646b53bb2131a55e8ed2a0d447c7c53/pycryptodomex-3.19.0.tar.gz",
"sha256": "af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6"
},
{
"type": "file",
@@ -32,8 +32,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/5c/da/ef08140cea3392288a8f6cd60f6f12510a4c5776eead53e90151f139af19/yt_dlp-2023.7.6-py2.py3-none-any.whl",
"sha256": "b33b3f68751f33dd8290f1f61f7a011679b3b512aa223df3bff496688bc0bd19"
"url": "https://files.pythonhosted.org/packages/70/b4/94e72fd0e1541ab50f8efe224ead550a367da3df1b8aa733bd2d9bde9aed/yt_dlp-2023.9.24-py2.py3-none-any.whl",
"sha256": "61792482647faac6207b1795b52d73714803414d8c090cd9721dfe8b16b12605"
}
]
}
+6 -6
View File
@@ -12,8 +12,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2a/53/cf0a48de1bdcf6ff6e1c9a023f5f523dfe303e4024f216feac64b6eb7f67/charset-normalizer-3.2.0.tar.gz",
"sha256": "3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"
"url": "https://files.pythonhosted.org/packages/cf/ac/e89b2f2f75f51e9859979b56d2ec162f7f893221975d244d8d5277aa9489/charset-normalizer-3.3.0.tar.gz",
"sha256": "63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"
},
{
"type": "file",
@@ -27,13 +27,13 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl",
"sha256": "de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"
"url": "https://files.pythonhosted.org/packages/26/40/9957270221b6d3e9a3b92fdfba80dd5c9661ff45a664b47edd5d00f707f5/urllib3-2.0.6-py3-none-any.whl",
"sha256": "7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/28/e2/35adcefca140b4232387b5d7d119abe69c6d1c86d48c949a720c7ccb8bc7/ytmusicapi-1.1.1-py3-none-any.whl",
"sha256": "0c154a052c8f8e2310a51b1f391aa2ed1a2f6693a7ec343cc47b822de5e95783"
"url": "https://files.pythonhosted.org/packages/48/d7/291259f063aa0260e13a3a561bc023594c2fb300bc70e7588303effb522c/ytmusicapi-1.3.0-py3-none-any.whl",
"sha256": "791eaca2ac186b7982962faf19506ca26905797cd4a95c75f41266839f888326"
}
]
}
+2
View File
@@ -113,6 +113,8 @@ SPDX-License-Identifier: CC0-1.0
<content_rating type="oars-1.0"/>
<url type="homepage">https://apps.kde.org/en/audiotube</url>
<releases>
<release version="23.08.1" date="2023-09-14"/>
<release version="23.08.0" date="2023-08-24"/>
<release version="23.04.3" date="2023-07-06"/>
<release version="23.04.2" date="2023-06-08"/>
<release version="23.04.1" date="2023-05-11"/>
+53 -11
View File
@@ -4,7 +4,9 @@
"runtime-version": "5.15-22.08",
"sdk": "org.kde.Sdk",
"command": "audiotube",
"tags": ["nightly"],
"tags": [
"nightly"
],
"desktop-file-name-suffix": " (Nightly)",
"finish-args": [
"--share=ipc",
@@ -20,7 +22,6 @@
"/include/",
"/share/cmake/"
],
"modules": [
"flatpak/python3-yt-dlp.json",
"flatpak/python3-ytmusicapi.json",
@@ -28,41 +29,82 @@
{
"name": "qcoro",
"buildsystem": "cmake-ninja",
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/danvratil/qcoro/archive/refs/tags/v0.9.0.tar.gz",
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a"
"sha256": "cfaf6b778450f06adac4ce5e353eb6eae213a3b62b8c8740520d58cf9fe3ec1a",
"x-checker-data": {
"type": "anitya",
"project-id": 236236,
"stable-only": true,
"url-template": "https://github.com/danvratil/qcoro/archive/refs/tags/v$version.tar.gz"
}
}
]
},
{
"name": "futuresql",
"buildsystem": "cmake-ninja",
"config-opts": ["-DBUILD_TESTING=OFF", "-DCMAKE_BUILD_TYPE=Release"],
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/futuresql/futuresql-0.1.0.tar.xz",
"sha256": "ecd354c26c48a67795b0004e701066f6176d25d39adda1b8a1bf9c07fa48ba6a"
"sha256": "e44ed8d5a9618b3ca7ba2983ed9c5f7572e6e0a5b199f94868834b71ccbebd43",
"x-checker-data": {
"type": "anitya",
"project-id": 368957,
"stable-only": true,
"url-template": "https://download.kde.org/stable/futuresql/futuresql-$version.tar.xz"
}
}
]
},
{
"name": "pybind11",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON",
"-DPYBIND11_TEST=OFF"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.10.3" } ]
"sources": [
{
"type": "archive",
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz",
"sha256": "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c",
"x-checker-data": {
"type": "anitya",
"project-id": 13384,
"url-template": "https://github.com/pybind/pybind11/archive/refs/tags/v$version.tar.gz"
}
}
]
},
{
"name": "org.kde.audiotube",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON"],
"config-opts": [
"-DPYBIND11_FINDPYTHON=ON"
],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "dir", "path": ".", "skip": [".git"] } ]
"sources": [
{
"type": "dir",
"path": ".",
"skip": [
".git"
]
}
]
}
]
}
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-05-11 11:03+0400\n"
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
"Language-Team: ar\n"
@@ -402,7 +402,7 @@ msgstr ""
msgid "Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "أزل من تاريخ البحث"
@@ -427,7 +427,7 @@ msgstr ""
msgid "Unknown"
msgstr "مجهول"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "لا يوجد تطابق من البحوث الأخيرة"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
@@ -405,7 +405,7 @@ msgstr ""
msgid "Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -430,7 +430,7 @@ msgstr ""
msgid "Unknown"
msgstr "Bilinməyən"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de cerques"
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha cerques anteriors coincidents"
+3 -31
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 14:48+0200\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "La llista de reproducció s'ha importat correctament"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de busques"
@@ -411,7 +411,7 @@ msgstr "Resultats principals"
msgid "Unknown"
msgstr "Desconegut"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "No hi ha busques anteriors coincidents"
@@ -532,31 +532,3 @@ msgstr "Sense títol"
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
#~ msgid "Export"
#~ msgstr "Exporta"
#~ msgid "Import Playlist from Url"
#~ msgstr "Importa una llista de reproducció des d'un URL"
#~ msgid "Import Playlist from File"
#~ msgstr "Importa una llista de reproducció des d'un fitxer"
#~ msgid "Export Playlist"
#~ msgstr "Exporta una llista de reproducció"
#~ msgid "m3u, m3u8 Playlist File (*.m3u *.m3u8)"
#~ msgstr "Fitxer de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Import Playlists"
#~ msgstr "Importa llistes de reproducció"
#~ msgid "m3u, m3u8 Playlist Files (*.m3u *.m3u8)"
#~ msgstr "Fitxers de llista de reproducció m3u, m3u8 (*.m3u *.m3u8)"
#~ msgid "Saving Failed"
#~ msgstr "No s'ha pogut guardar"
#~ msgctxt "%1 is the path to a playlist file."
#~ msgid "Failed to Import %1"
#~ msgstr "No s'ha pogut importar %1"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-06-05 11:14+0200\n"
"Last-Translator: Vit Pelcak <[email protected]>\n"
"Language-Team: Czech <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Seznam skladeb byl úspěšně importován."
msgid "Playlist"
msgstr "Seznam skladeb"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "odstranit z historie hledání"
@@ -408,7 +408,7 @@ msgstr "Nejlepší výsledky"
msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Neodpovídají žádná předchozí hledání"
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-09 01:01+0200\n"
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Wiedergabeliste erfolgreich importiert"
msgid "Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "Aus Suchverlauf löschen"
@@ -408,7 +408,7 @@ msgstr "Beste Ergebnisse"
msgid "Unknown"
msgstr "Unbekannt"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Keine passenden vorherigen Suchvorgänge"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-06-17 12:08+0100\n"
"Last-Translator: Steve Allewell <[email protected]>\n"
"Language-Team: British English\n"
@@ -383,7 +383,7 @@ msgstr "Playlist successfully imported"
msgid "Playlist"
msgstr "Playlist"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "remove from search history"
@@ -408,7 +408,7 @@ msgstr "Top Results"
msgid "Unknown"
msgstr "Unknown"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "No matching previous searches"
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 18:57+0200\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
@@ -385,7 +385,7 @@ msgstr "Lista de reproducción importada correctamente"
msgid "Playlist"
msgstr "Lista de reproducción"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "eliminar del historial de búsqueda"
@@ -410,7 +410,7 @@ msgstr "Resultados principales"
msgid "Unknown"
msgstr "Desconocido"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "No hay búsquedas anteriores coincidentes"
+3 -3
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-30 22:49+0200\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "Jotze-zerrenda ondo inportatu da"
msgid "Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "Kendu bilaketa-historiatik"
@@ -411,7 +411,7 @@ msgstr "Emaitza nagusiak"
msgid "Unknown"
msgstr "Ezezaguna"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Ez dago bat datorren aurreko bilaketarik"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-06-27 18:07+0300\n"
"Last-Translator: Tommi Nieminen <[email protected]>\n"
"Language-Team: Finnish <[email protected]>\n"
@@ -382,7 +382,7 @@ msgstr "Soittolistan tuonti onnistui"
msgid "Playlist"
msgstr "Soittolista"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "poista hakuhistoriasta"
@@ -407,7 +407,7 @@ msgstr "Parhaat tulokset"
msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Ei osumia aiemmista hauista"
+3 -3
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-06 20:41+0200\n"
"Last-Translator: Xavier BESNARD <[email protected]>\n"
"Language-Team: fr\n"
@@ -381,7 +381,7 @@ msgstr "La liste de lecture a été importée avec succès"
msgid "Playlist"
msgstr "Liste de lecture"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "supprimer de l'historique de recherche"
@@ -406,7 +406,7 @@ msgstr "Principaux résultats"
msgid "Unknown"
msgstr "Inconnu"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Aucune correspondance avec les recherches précédentes"
+5 -5
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-06-24 10:58+0200\n"
"Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
"Language-Team: Galician <[email protected]>\n"
@@ -23,7 +23,7 @@ msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Estase a usar unha versión non probada de ytmusicapi, a %1. Informe á súa "
"Usando unha versión non probada de ytmusicapi, a %1. Informe á súa "
"distribución de detecta algún erro."
#: contents/ui/AlbumPage.qml:75 contents/ui/LibraryPage.qml:37
@@ -95,7 +95,7 @@ msgstr "Intérprete"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Non se pode reproducir vídeo. Quere reproducir o son de «%1»?"
msgstr "Non é posíbel reproducir vídeo. Quere reproducir o son de «%1»?"
#: contents/ui/ArtistPage.qml:148 contents/ui/SearchPage.qml:26
#, kde-format
@@ -381,7 +381,7 @@ msgstr "Importouse a lista."
msgid "Playlist"
msgstr "Lista de reprodución"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "Retirar do historial de buscas"
@@ -406,7 +406,7 @@ msgstr "Resultados principais"
msgid "Unknown"
msgstr "Descoñecida"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Ningunha busca anterior coincide."
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
@@ -399,7 +399,7 @@ msgstr ""
msgid "Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -424,7 +424,7 @@ msgstr ""
msgid "Unknown"
msgstr "अज्ञात"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 22:28+0200\n"
"Last-Translator: giovanni <[email protected]>\n"
"Language-Team: Interlingua <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Lista de reproduction importate con successo"
msgid "Playlist"
msgstr "Lista de reproduction"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "remove ex chronologia de cerca"
@@ -408,7 +408,7 @@ msgstr "Exitos al culmine (Top)"
msgid "Unknown"
msgstr "Incognite"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Nulle previes cerca correspondente"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-06-16 19:34+0700\n"
"Last-Translator: Linerly <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
@@ -397,7 +397,7 @@ msgstr "Daftar putar berhasil diimpor"
msgid "Playlist"
msgstr "Daftar Putar"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "hapus dari riwayat pencarian"
@@ -422,7 +422,7 @@ msgstr "Hasil Teratas"
msgid "Unknown"
msgstr "Tidak diketahui"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Tidak ada pencarian sebelumnya yang cocok"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-06 14:15+0200\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Scaletta importato correttamente"
msgid "Playlist"
msgstr "Scaletta"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "rimuovi dalla cronologia delle ricerche"
@@ -408,7 +408,7 @@ msgstr "Migliori risultati"
msgid "Unknown"
msgstr "Sconosciuto"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Nessuna ricerca precedente corrispondente"
+3 -3
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-01 15:47-0700\n"
"Last-Translator: Fumiaki Okushi <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
@@ -380,7 +380,7 @@ msgstr "再生リストのインポートに成功"
msgid "Playlist"
msgstr "再生リスト"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "検索履歴から除去"
@@ -405,7 +405,7 @@ msgstr "検索上位"
msgid "Unknown"
msgstr "不明"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "以前の検索には一致しません"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-06 08:29+0200\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "დასაკრავი სიის შემოტანა წა
msgid "Playlist"
msgstr "დასაკრავი სია"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "ძებნის ისტორიიდან წაშლა"
@@ -408,7 +408,7 @@ msgstr "საუკეთესო შედეგები"
msgid "Unknown"
msgstr "უცნობი"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "წინა ძებნებს არ ემთხვევა"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-18 13:25+0200\n"
"Last-Translator: Shinjo Park <[email protected]>\n"
"Language-Team: Korean <[email protected]>\n"
@@ -381,7 +381,7 @@ msgstr "재생 목록을 가져왔습니다"
msgid "Playlist"
msgstr "재생 목록"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "검색 기록에서 삭제"
@@ -406,7 +406,7 @@ msgstr "상위 결과"
msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "일치하는 이전 검색 없음"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-02-23 00:57+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -380,7 +380,7 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 23:07+0200\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
@@ -383,7 +383,7 @@ msgstr "Afspeellijst met succes geïmporteerd"
msgid "Playlist"
msgstr "Afspeellijst"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "uit zoekgeschiedenis verwijderen"
@@ -408,7 +408,7 @@ msgstr "Top resultaten"
msgid "Unknown"
msgstr "Onbekend"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Geen overeenkomende vorige zoekopdrachten"
+50 -50
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-07-30 22:10+0200\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-08-24 21:35+0200\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
"Language: nn\n"
@@ -55,7 +55,7 @@ msgstr "Stokk om"
#: contents/ui/PlaybackHistory.qml:114 contents/ui/PlaylistPage.qml:99
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "Legg i avspelingskøen"
#: contents/ui/AlbumPage.qml:95 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:115
@@ -153,7 +153,7 @@ msgstr "Importer speleliste"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:23
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr ""
msgstr "Speleliste-URL (YouTube)"
#: contents/ui/dialogs/PlaylistDialog.qml:20
#, kde-format
@@ -171,7 +171,7 @@ msgstr "Ny speleliste"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:18
#, kde-format
msgid "Rename playlist"
msgstr ""
msgstr "Endra namn på speleliste"
#: contents/ui/LibraryPage.qml:30 contents/ui/LibraryPage.qml:123
#: contents/ui/NavigationBar.qml:48 contents/ui/NavigationBar.qml:54
@@ -189,7 +189,7 @@ msgstr "Vis alle"
#: contents/ui/LibraryPage.qml:147
#, kde-format
msgid "No Favourites Yet"
msgstr ""
msgstr "Ingen favorittar enno"
#: contents/ui/LibraryPage.qml:215
#, kde-format
@@ -206,7 +206,7 @@ msgstr "Avspela songar"
#: contents/ui/LibraryPage.qml:334
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
msgstr "Ingen avspela songar enno"
#: contents/ui/LibraryPage.qml:391 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:79 contents/ui/NavigationBar.qml:75
@@ -218,36 +218,36 @@ msgstr "Spelelister"
#: contents/ui/LibraryPage.qml:430
#, kde-format
msgid "No Playlists Yet"
msgstr ""
msgstr "Ingen spelelister enno"
#: contents/ui/LibraryPage.qml:450 contents/ui/LibraryPage.qml:472
#: contents/ui/LocalPlaylistsPage.qml:33 contents/ui/LocalPlaylistsPage.qml:55
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Endra namn"
#: contents/ui/LibraryPage.qml:459 contents/ui/LibraryPage.qml:480
#: contents/ui/LocalPlaylistsPage.qml:42 contents/ui/LocalPlaylistsPage.qml:63
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Slett"
#: contents/ui/LocalPlaylistPage.qml:21
#, kde-format
msgid "Remove from Playlist"
msgstr ""
msgstr "Fjern frå speleliste"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Spelelista er framleis tom"
#: contents/ui/LocalPlaylistsPage.qml:110
#: contents/ui/LocalPlaylistsPage.qml:133
#: contents/ui/LocalPlaylistsPage.qml:148 contents/ui/PlaylistPage.qml:104
#, kde-format
msgid "Import Playlist"
msgstr ""
msgstr "Importer speleliste"
#: contents/ui/main.qml:110 main.cpp:62
#, kde-format
@@ -257,12 +257,12 @@ msgstr "AudioTube"
#: contents/ui/main.qml:260
#, kde-format
msgid "No song playing"
msgstr ""
msgstr "Ingen song vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:99
#, kde-format
msgid "Close Maximized Player"
msgstr ""
msgstr "Lukk maksimert spelar"
#: contents/ui/MaximizedPlayerPage.qml:203
#: contents/ui/MinimizedPlayerControls.qml:94
@@ -273,27 +273,27 @@ msgstr "Inkje medium vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Remove from Favourites"
msgstr ""
msgstr "Fjern frå favorittar"
#: contents/ui/MaximizedPlayerPage.qml:426
#, kde-format
msgid "Add to Favourites"
msgstr ""
msgstr "Merk som favoritt"
#: contents/ui/MaximizedPlayerPage.qml:451
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
msgstr "Opna lydstyrke-skuff"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Unmute Audio"
msgstr ""
msgstr "Slå av lyddemping"
#: contents/ui/MaximizedPlayerPage.qml:559
#, kde-format
msgid "Mute Audio"
msgstr ""
msgstr "Demp lyd"
#: contents/ui/MaximizedPlayerPage.qml:602
#, kde-format
@@ -303,33 +303,33 @@ msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Hide Lyrics"
msgstr ""
msgstr "Gøym songtekst"
#: contents/ui/MaximizedPlayerPage.qml:633
#, kde-format
msgid "Show Lyrics"
msgstr ""
msgstr "Vis songtekst"
#: contents/ui/MaximizedPlayerPage.qml:653 contents/ui/SongMenu.qml:183
#: contents/ui/SongMenu.qml:269
#, kde-format
msgid "Share Song"
msgstr ""
msgstr "Del song"
#: contents/ui/MaximizedPlayerPage.qml:699
#, kde-format
msgid "Add to a local playlist"
msgstr ""
msgstr "Legg til i lokal speleliste"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Hide Queue"
msgstr ""
msgstr "Gøym avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:736
#, kde-format
msgid "Show Queue"
msgstr ""
msgstr "Vis avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:956
#: contents/ui/MaximizedPlayerPage.qml:1198
@@ -340,17 +340,17 @@ msgstr "Fjern spor"
#: contents/ui/MaximizedPlayerPage.qml:995
#, kde-format
msgid "Clear Queue"
msgstr ""
msgstr "Tøm avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1020
#, kde-format
msgid "Shuffle Queue"
msgstr ""
msgstr "Stokk om på avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1050
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Framtidige songar"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:100
#, kde-format
@@ -375,14 +375,14 @@ msgstr "Ingen songar enno"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "Spelelista vart importert"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Speleliste"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "Fjern frå søkjeloggen"
@@ -400,14 +400,14 @@ msgstr "Artistar"
#: contents/ui/SearchPage.qml:36
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "Toppresultat"
#: contents/ui/SearchPage.qml:39 playlistimporter.cpp:23
#, kde-format
msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Ingen samsvarande tidlegare søk"
@@ -415,22 +415,22 @@ msgstr "Ingen samsvarande tidlegare søk"
#: contents/ui/ShareMenu.qml:39
#, kde-format
msgid "Share to"
msgstr ""
msgstr "Del til"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:99
#, kde-format
msgid "Copy Link"
msgstr ""
msgstr "Kopier lenkje"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:104
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Lenkje kopiert til utklippstavla"
#: contents/ui/Sidebar.qml:189
#, kde-format
msgid "About"
msgstr ""
msgstr "Om"
#: contents/ui/Sidebar.qml:203
#, kde-format
@@ -465,66 +465,66 @@ msgstr "Fjern frå loggen"
#: contents/ui/SongMenu.qml:156 contents/ui/SongMenu.qml:244
#, kde-format
msgid "Add to playlist"
msgstr ""
msgstr "Legg til i speleliste"
#: main.cpp:64
#, kde-format
msgid "YouTube Music Player"
msgstr ""
msgstr "YouTube Music-spelar"
#: main.cpp:66
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
msgstr "© 2021–2023 Jonah Brüchert, 2021–2023 KDE-fellesskapet"
#: main.cpp:67
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:67
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Vedlikehaldar"
#: main.cpp:68
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:68
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Designar"
#: main.cpp:69
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik"
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
#: main.cpp:69
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
msgstr "[email protected],[email protected]"
#: main.cpp:74
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
msgstr "Uoffisielt API for YouTube Music"
#: playlistimporter.cpp:23
#, kde-format
msgid "No description"
msgstr ""
msgstr "Inga skildring"
#: playlistimporter.cpp:57
#, kde-format
msgid "No title"
msgstr ""
msgstr "Utan tittel"
#: playlistimporter.cpp:59
#, kde-format
msgid "No album"
msgstr ""
msgstr "Ingen album"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+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"
@@ -398,7 +398,7 @@ msgstr ""
msgid "Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -423,7 +423,7 @@ msgstr ""
msgid "Unknown"
msgstr "ਅਣਪਛਾਤਾ"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+6 -6
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-05-20 09:19+0200\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-08-20 10:50+0200\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
"Language: pl\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 22.12.3\n"
"X-Generator: Lokalize 23.04.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -378,14 +378,14 @@ msgstr "Jeszcze nie ma tutaj utworów"
#: contents/ui/PlaylistPage.qml:110
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "Pomyślnie zaimportowano listy odtwarzania"
#: contents/ui/PlaylistPage.qml:131
#, kde-format
msgid "Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "usuń z historii wyszukiwania"
@@ -410,7 +410,7 @@ msgstr "Szczytowe wyniki"
msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-08 12:56+0100\n"
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
"Language-Team: Portuguese <[email protected]>\n"
@@ -386,7 +386,7 @@ msgstr "A lista de reprodução foi importada com sucesso"
msgid "Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisas"
@@ -411,7 +411,7 @@ msgstr "Resultados de Topo"
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Sem pesquisas anteriores correspondentes"
+3 -3
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 17:10-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
"Language-Team: Brazilian Portuguese <[email protected]>\n"
@@ -384,7 +384,7 @@ msgstr "Lista de músicas importada com sucesso"
msgid "Playlist"
msgstr "Lista de músicas"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisa"
@@ -409,7 +409,7 @@ msgstr "Principais resultados"
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Nenhuma pesquisa anterior correspondente"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-04-30 14:45+0300\n"
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
@@ -395,7 +395,7 @@ msgstr ""
msgid "Playlist"
msgstr "Список воспроизведения"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "Удалить из истории поиска"
@@ -420,7 +420,7 @@ msgstr ""
msgid "Unknown"
msgstr "Неизвестный тип"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
+3 -3
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+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"
@@ -396,7 +396,7 @@ msgstr ""
msgid "Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -421,7 +421,7 @@ msgstr ""
msgid "Unknown"
msgstr "Neznáme"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 09:15+0200\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
@@ -382,7 +382,7 @@ msgstr "Seznam pesmi uspešno uvožen"
msgid "Playlist"
msgstr "Seznam predvajanja"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "odstrani iz zgodovine iskanj"
@@ -407,7 +407,7 @@ msgstr "Najboljši rezultati"
msgid "Unknown"
msgstr "Neznano"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Ni zadetkov iz prejšnjih iskanj"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-26 20:15+0200\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
@@ -381,7 +381,7 @@ msgstr "Spellista importerad med lyckat resultat"
msgid "Playlist"
msgstr "Spellista"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "ta bort från sökhistorik"
@@ -406,7 +406,7 @@ msgstr "Toppresultat"
msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Inga matchande tidigare sökningar"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 13:28+0300\n"
"Last-Translator: Emir SARI <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
@@ -383,7 +383,7 @@ msgstr "Çalma listesi başarıyla içe aktarıldı"
msgid "Playlist"
msgstr "Çalma Listesi"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "arama geçmişinden kaldır"
@@ -408,7 +408,7 @@ msgstr "En İyi Sonuçlar"
msgid "Unknown"
msgstr "Bilinmiyor"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Daha önceden yapılmış eşleşen arama yok"
+3 -3
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-07-05 15:10+0300\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
@@ -384,7 +384,7 @@ msgstr "Список відтворення успішно імпортован
msgid "Playlist"
msgstr "Список відтворення"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "вилучити з журналу пошуку"
@@ -409,7 +409,7 @@ msgstr "Найкращі результати"
msgid "Unknown"
msgstr "Невідомий"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "Немає відповідних попередніх пошуків"
+4 -4
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"PO-Revision-Date: 2023-08-02 12:41\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2023-09-16 10:09\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -379,7 +379,7 @@ msgstr ""
msgid "Playlist"
msgstr "播放列表"
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr "从搜索历史中移除"
@@ -404,7 +404,7 @@ msgstr ""
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr "没有匹配的历史搜索"
+3 -3
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-07-09 00:59+0000\n"
"POT-Creation-Date: 2023-08-08 00:45+0000\n"
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -380,7 +380,7 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:397
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:389
#, kde-format
msgid "remove from search history"
msgstr ""
@@ -405,7 +405,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:343
#: contents/ui/SearchWithDropdown.qml:338
#, kde-format
msgid "No matching previous searches"
msgstr ""
+1 -1
View File
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
ytmusicapi==1.1.1
ytmusicapi==1.3.0
yt-dlp
+1
View File
@@ -99,6 +99,7 @@ private:
interface->reportResult(val);
interface->reportFinished();
} catch (const std::exception &err) {
interface->reportResult({});
interface->reportFinished();
Q_EMIT errorOccurred(QString::fromLocal8Bit(err.what()));
}
+3 -11
View File
@@ -2,20 +2,12 @@
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
import org.kde.kirigamiaddons.formcard 1.0 as FormCard
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.kirigamiaddons.formcard 1.0 as FormCard
import org.kde.ytmusic 1.0
MobileForm.AboutPage {
FormCard.AboutPage {
aboutData: About
Component.onCompleted: {
if (hasOwnProperty("showAboutKDE")) {
showAboutKDE = false
}
}
}
+15 -7
View File
@@ -114,14 +114,22 @@ Flickable {
videoId: UserPlaylistModel.currentVideoId
}
property var audioPlayer: Audio {
id: audio
property var audioPlayer: audioLoader.item
source: info.audioUrl
onStatusChanged: {
if (status === Audio.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
Loader {
id: audioLoader
active: true
asynchronous: true
sourceComponent: Audio {
id: audio
autoPlay: true
source: info.audioUrl
onStatusChanged: {
if (status === Audio.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
}
}
}
}
+4 -9
View File
@@ -38,11 +38,10 @@ Kirigami.ScrollablePage {
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchLoader.filterExpression
sourceModel: Library.playbackHistory
model: LocalSearchModel {
searchQuery: searchLoader.text
}
delegate: Kirigami.DelegateRecycler {
Layout.alignment: Qt.AlignTop
sourceComponent: searchAlbum
@@ -61,10 +60,7 @@ Kirigami.ScrollablePage {
Repeater {
Layout.fillHeight: true
Layout.fillWidth: true
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchLoader.filterExpression
}
model: Library.searches
delegate: Kirigami.AbstractListItem {
implicitHeight: Kirigami.Units.gridUnit * 2
@@ -98,5 +94,4 @@ Kirigami.ScrollablePage {
}
}
}
}
+8 -16
View File
@@ -13,7 +13,6 @@ 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
@@ -25,21 +24,18 @@ Item {
readOnly: true
}
Kirigami.SearchField {
property var filterExpression: new RegExp(`.*${filterText}.*`, "i")
property string filterText: ""
id: searchField
autoAccept: false
width: root.width
selectByMouse: true
onFocusChanged: {
filterText = text
Library.searches.filter = text
if (wideScreen && focus)
popup.open()
}
onTextEdited: {
filterText = text
Library.searches.filter = text
if(completionList.count === 0) {
//no matching search -> message should display
Library.temporarySearch = ""
@@ -202,7 +198,7 @@ Item {
from: searchField.height
duration: 200
to: completionList
? (searchField.filterText && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
? (Library.searches.filter && recentsRepeater.count > 0 //can't use recentsRepeater.visible directly, because it always returns false at this stage
? (Math.min(fieldContainer.height+ (completionList.count) * (completionList.delegateHeight + completionList.delegatePadding) + Kirigami.Separator.implicitHeight + recentsRepeater.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (completionList.count === 0
?(Math.min(fieldContainer.height+ noMatchingSearchLabel.height + 2*noMatchingSearchLabel.Layout.margins, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
@@ -314,13 +310,12 @@ Item {
Layout.fillWidth: true
visible: searchField.filterText && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
visible: Library.searches.filter && recentsRepeater.count > 0 //if changed, adjust playOpenHeight
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
model: LocalSearchModel {
searchQuery: Library.searches.filter
}
delegate: searchAlbum
}
Kirigami.Separator {
@@ -355,10 +350,7 @@ Item {
property int empiricDelegateHeight: recentsRepeater.visible ? (mainScrollView.contentHeight - recentsRepeater.height) / count : (mainScrollView.contentHeight + mainScrollViewLayout.spacing) / (count)
id: completionList
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchField.filterExpression
}
model: Library.searches
function isSelectedDelegateVisible() {
if(!recentsRepeater.visible) {
+77 -25
View File
@@ -27,25 +27,10 @@ Library::Library(QObject *parent)
}()))
{
m_database->runMigrations(":/migrations/");
m_searches = new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
connect(this, &Library::changeFavourites, [this]() {
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
m_favourites= new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
});
Q_EMIT changeFavourites();
m_searches = new SearchHistoryModel(this);
connect(this, &Library::changePlaybackHistory, [this]() {
//playbackHistory
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
//mostPlayed
auto future2 = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
});
Q_EMIT changePlaybackHistory();
refreshFavourites();
refreshPlaybackHistory();
}
Library::~Library() = default;
@@ -64,13 +49,15 @@ FavouritesModel *Library::favourites()
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
QCoro::connect(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId),
this, &Library::refreshFavourites);
});
}
void Library::removeFavourite(const QString &videoId)
{
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
QCoro::connect(m_database->execute("delete from favourites where video_id = ?", videoId),
this, &Library::refreshFavourites);
}
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
@@ -114,17 +101,41 @@ PlaybackHistoryModel *Library::playbackHistory()
return m_playbackHistory;
}
void Library::refreshPlaybackHistory()
{
// playbackHistory
auto future = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
// mostPlayed
auto future2 = m_database->getResults<PlayedSong>(
"select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
}
void Library::refreshFavourites()
{
auto future = m_database->getResults<Song>(
"select * from favourites natural join songs order by favourites.rowid desc");
m_favourites = new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
}
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
QCoro::connect(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId),
this, &Library::refreshPlaybackHistory);
});
});
}
void Library::removePlaybackHistoryItem(const QString &videoId)
{
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
QCoro::connect(m_database->execute("delete from played_songs where video_id = ?", videoId),
this, &Library::refreshPlaybackHistory);
}
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
@@ -164,6 +175,11 @@ PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&so
});
}
PlaybackHistoryModel::PlaybackHistoryModel(QObject *parent)
: QAbstractListModel(parent)
{
}
QHash<int, QByteArray> PlaybackHistoryModel::roleNames() const {
return {
{Roles::VideoId, "videoId"},
@@ -272,9 +288,25 @@ bool FavouriteWatcher::isFavourite() const {
return m_isFavourite;
}
SearchHistoryModel::SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent)
: QAbstractListModel(parent)
SearchHistoryModel::SearchHistoryModel(Library *library)
: QAbstractListModel(library)
{
auto historyFuture = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc limit 20");
connect(this, &SearchHistoryModel::filterChanged, this, [library, this]() {
auto future = library->database()
.getResults<SingleValue<QString>>("select distinct (search_query) from searches "
"where search_query like '%" % m_filter % "%'"
"order by search_id desc limit 20");
QCoro::connect(std::move(future), this, [this](auto history) {
beginResetModel();
m_history = history;
endResetModel();
});
});
QCoro::connect(std::move(historyFuture), this, [this](const auto history) {
beginResetModel();
m_history = history;
@@ -296,7 +328,12 @@ int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
void SearchHistoryModel::removeSearch(const QString &search) {
int row = getRow(search);
beginRemoveRows({}, row, row);
if(m_temporarySearch != "") {
beginRemoveRows({}, row+1, row+1);
}
else {
beginRemoveRows({}, row, row);
}
m_history.erase(m_history.begin() + row);
endRemoveRows();
}
@@ -391,3 +428,18 @@ void WasPlayedWatcher::update(std::optional<SingleValue<bool> > result)
Q_EMIT wasPlayedChanged();
}
}
LocalSearchModel::LocalSearchModel(QObject *parent) : PlaybackHistoryModel(parent)
{
connect(this, &LocalSearchModel::searchQueryChanged, this, [this]() {
auto resultFuture = Library::instance().database()
.getResults<PlayedSong>("select * from played_songs natural join songs "
"where title like '%" % m_searchQuery % "%' "
"order by plays desc limit 10");
QCoro::connect(std::move(resultFuture), this, [this](auto results) {
beginResetModel();
m_playedSongs = results;
endResetModel();
});
});
}
+28 -4
View File
@@ -84,21 +84,42 @@ public:
Q_ENUM(Roles);
PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent = nullptr);
PlaybackHistoryModel(QObject *parent = nullptr);
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
std::vector<PlayedSong> getPlayedSong() const;
private:
protected:
std::vector<PlayedSong> m_playedSongs;
};
///
/// Provides a list of recently played songs matching a search query.
///
class LocalSearchModel : public PlaybackHistoryModel {
Q_OBJECT
Q_PROPERTY(QString searchQuery MEMBER m_searchQuery NOTIFY searchQueryChanged)
Q_SIGNAL void searchQueryChanged();
public:
LocalSearchModel(QObject *parent = nullptr);
QString m_searchQuery;
};
class Library;
class SearchHistoryModel : public QAbstractListModel {
Q_OBJECT
Q_PROPERTY(QString filter MEMBER m_filter NOTIFY filterChanged)
public:
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
SearchHistoryModel(Library *library);
int rowCount(const QModelIndex &parent) const override;
void removeSearch(const QString &search);
QVariant data(const QModelIndex &index, int role) const override;
@@ -106,10 +127,13 @@ public:
const QString & temporarySearch() const;
void setTemporarySearch(QString const& text);
Q_SIGNAL void filterChanged();
private:
size_t getRow(QString const &search) const;
std::vector<SingleValue<QString>> m_history;
QString m_temporarySearch;
QString m_filter;
};
class Library : public QObject
@@ -129,7 +153,7 @@ public:
FavouritesModel *favourites();
Q_SIGNAL void favouritesChanged();
Q_SIGNAL void changeFavourites();
void refreshFavourites();
Q_INVOKABLE void addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removeFavourite(const QString &videoId);
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
@@ -144,7 +168,7 @@ public:
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
Q_SIGNAL void changePlaybackHistory();
void refreshPlaybackHistory();
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
+1
View File
@@ -91,6 +91,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
qmlRegisterType<LocalSearchModel>(URI, 1, 0, "LocalSearchModel");
qmlRegisterType<LocalPlaylistModel>(URI, 1, 0, "LocalPlaylistModel");
qmlRegisterType<LocalPlaylistsModel>(URI, 1, 0, "LocalPlaylistsModel");
qmlRegisterType<PlaylistImporter>(URI, 1, 0, "PlaylistImporter");
+11 -4
View File
@@ -23,6 +23,7 @@ void ThumbnailSource::setVideoId(const QString &id) {
m_videoId = id;
Q_EMIT videoIdChanged();
setCachedPath({});
const QString cacheDir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation) % QDir::separator() % "thumbnails";
QDir(cacheDir).mkpath(QStringLiteral("."));
@@ -68,11 +69,14 @@ void ThumbnailSource::setVideoId(const QString &id) {
auto *reply = Library::instance().nam().get(QNetworkRequest(QUrl("https://i.ytimg.com/vi_webp/" % m_videoId % "/maxresdefault.webp")));
auto storeResult = [this, cacheLocation](QNetworkReply *reply) {
auto storeResult = [this, cacheLocation, id](QNetworkReply *reply) {
if (reply->error() != QNetworkReply::NoError) {
return;
}
auto data = reply->readAll();
reply->deleteLater();
auto future = QtConcurrent::run([data = std::move(data), cacheLocation]() {
// Scale cover down to save qmemory
// Scale cover down to save memory
int targetHeight = 200 * qGuiApp->devicePixelRatio();
auto scaled = QImage::fromData(data)
.scaledToHeight(targetHeight);
@@ -84,8 +88,11 @@ void ThumbnailSource::setVideoId(const QString &id) {
cropped.save(cacheLocation);
});
QCoro::connect(std::move(future), this, [this, cacheLocation]() {
setCachedPath(QUrl::fromLocalFile(cacheLocation));
QCoro::connect(std::move(future), this, [this, cacheLocation, id]() {
// Check if video id was changed since we started fetching
if (id == m_videoId) {
setCachedPath(QUrl::fromLocalFile(cacheLocation));
}
});
};
+1 -1
View File
@@ -12,7 +12,7 @@
#include <vector>
#include <memory>
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.1.1";
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.3.0";
struct YTMusicPrivate;