Compare commits

...
75 Commits
Author SHA1 Message Date
SalastilandClaude Sonnet 5.5 2c639b767c Add an Arch Linux PKGBUILD that builds from this repository
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-16 21:59:41 -04:00
SalastilandClaude Sonnet 5.5 28f2bcbab2 Use the configured qt6ct theme when the session exports a GTK platform theme
Outside of Plasma the platform theme is often gtk3 or unset, which left
the app with a default light palette on systems with a dark Qt theme.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-16 21:45:43 -04:00
SalastilandClaude Sonnet 5.5 74519d1a5d Add system tray icon and Google Cast support
- Tray icon (KStatusNotifierItem) with a monochrome symbolic icon that
  follows the light/dark preference. Clicking it toggles the window,
  closing the window hides it to the tray so playback continues, and the
  menu offers previous/play-pause/next and Quit.
- Native Google Cast sender: mDNS discovery, CASTV2 over TLS and the
  Default Media Receiver, without extra dependencies.
- Cast button in the minimized and maximized player controls opens a
  device picker; the player controls, volume and track changes are routed
  to the Cast device while casting, and local playback resumes when
  casting stops.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-16 21:43:36 -04:00
Jan Claußen ac4b1b354b Fix seeking by enforcing opus over m4a
Gstreamer can't seem to seek m4a. Enforcing opus make the app behave as
expected.
2026-10-16 23:08:51 +02:00
l10n daemon script 7d67c86d60 GIT_SILENT Sync po/docbooks with svn 2026-10-10 02:14:01 +00:00
l10n daemon script 5490850bdc GIT_SILENT Sync po/docbooks with svn 2026-10-03 01:52:44 +00:00
l10n daemon script 8658f50571 GIT_SILENT Sync po/docbooks with svn 2026-10-01 18:42:08 +00:00
Jonah Brüchert 2396b57e4b More favourite fixes 2026-10-01 13:29:24 +02:00
Jonah Brüchert d6b34fa454 Fix favouriting songs 2026-10-01 13:10:05 +02:00
Heiko Becker 724a9cb706 GIT_SILENT Update Appstream for new release
(cherry picked from commit 8dfb224b8a)
2026-09-26 12:55:39 +02:00
l10n daemon script 5af1cd1947 GIT_SILENT Sync po/docbooks with svn 2026-09-24 01:49:47 +00:00
l10n daemon script 758ddc98b6 GIT_SILENT Sync po/docbooks with svn 2026-09-23 02:30:10 +00:00
l10n daemon script f461e35483 GIT_SILENT made messages (after extraction) 2026-09-23 00:50:13 +00:00
Jonah Brüchert f9067ead24 Remove copy to clipboard option, Purpose meanwhile provides it 2026-09-22 23:43:47 +02:00
Jonah Brüchert 56d19fae00 Fix deprecation warning 2026-09-22 23:38:54 +02:00
Jonah Brüchert 51b64552ea Fix reuse compliance 2026-09-22 23:33:25 +02:00
Jonah Brüchert 2fb119aee4 Store artist and album ids
Should eventually allow us to show favourite artists and favourite albums in the library.
2026-09-22 23:28:58 +02:00
Jonah Brüchert 66ba441ad9 Allow clicking on artist name 2026-09-22 23:10:03 +02:00
l10n daemon script 86530bdb2d GIT_SILENT Sync po/docbooks with svn 2026-09-22 17:45:24 +00:00
l10n daemon script 1c14f1b5b1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-09-22 17:06:54 +00:00
Jonah Brüchert 2e14c68280 Update ytmusicapi 2026-09-16 20:19:33 +02:00
l10n daemon script 843996eb64 GIT_SILENT Sync po/docbooks with svn 2026-09-06 02:06:53 +00:00
Heiko Becker f68f39673a GIT_SILENT Update Appstream for new release
(cherry picked from commit c2681aad15)
2026-09-03 21:14:00 +02:00
l10n daemon script 8f8a053b06 GIT_SILENT Sync po/docbooks with svn 2026-09-03 02:02:41 +00:00
Jonah Brüchert 2ea8216b38 Update yt-dlp to fix playback 2026-08-22 22:23:49 +02:00
Heiko Becker 21e676050a GIT_SILENT Update Appstream for new release
(cherry picked from commit 99429855db)
2026-08-11 14:46:54 +02:00
Jonah Brüchert 6dfc8e6c89 flatpak: Update dependencies 2026-08-09 14:28:29 +02:00
Jonah Brüchert dfa45521fe Update ytmusicapi to 1.12.2 2026-08-08 21:41:22 +02:00
l10n daemon script 8dc7c8f5da GIT_SILENT Sync po/docbooks with svn 2026-08-02 01:57:17 +00:00
l10n daemon script 383053952f GIT_SILENT Sync po/docbooks with svn 2026-07-31 01:54:50 +00:00
Arjen Hiemstra a44da0c27a Use KirigamiAppDefaults for handling default style
We now have a function for this in KirigamiAddons, which removes the
need for a custom class to handle this and reduces code duplication.
2026-07-30 12:24:58 +02:00
Justin Zobel 2bfe7cebf1 CI - Flatpak - Update Runtime to 6.11 2026-07-28 12:51:17 +09:30
l10n daemon script 47bc742c7c GIT_SILENT Sync po/docbooks with svn 2026-07-27 02:02:11 +00:00
l10n daemon script 6d5000ecad GIT_SILENT Sync po/docbooks with svn 2026-07-21 01:45:39 +00:00
Justin Zobel b01dd6dc02 GIT_SILENT CI - Flatpak - Update Versions
OUTDATED: deno-x86_64-unknown-linux-gnu.zip
Upgraded to:
 URL: https://github.com/denoland/deno/releases/download/v2.9.2/deno-x86_64-unknown-linux-gnu.zip
 Version: v2.9.2

OUTDATED: deno-aarch64-unknown-linux-gnu.zip
Upgraded to:
 URL: https://github.com/denoland/deno/releases/download/v2.9.2/deno-aarch64-unknown-linux-gnu.zip
 Version: v2.9.2

OUTDATED: yt_dlp-2026.6.9-py3-none-any.whl
Upgraded to:
 URL: https://files.pythonhosted.org/packages/f9/8a/cd4c9b02c10c563adfe78118310129641900e1cd6de888cfae2452072696/yt_dlp-2026.7.4-py3-none-any.whl
 Version: 2026.7.4
2026-07-13 11:45:52 +09:30
l10n daemon script 1ba54e09bc GIT_SILENT Sync po/docbooks with svn 2026-07-06 01:51:25 +00:00
l10n daemon script 9846954c25 GIT_SILENT made messages (after extraction) 2026-07-06 00:44:07 +00:00
Albert Astals Cid 0284bdbe96 GIT_SILENT Upgrade release service version to 26.11.70. 2026-07-06 01:17:12 +02:00
l10n daemon script cde4adc93d GIT_SILENT made messages (after extraction) 2026-06-29 00:44:21 +00:00
Heiko Becker 15cea8c816 GIT_SILENT Update Appstream for new release
(cherry picked from commit 95f01ad99f)
2026-06-26 14:22:31 +02:00
l10n daemon script 38b14821c4 GIT_SILENT Sync po/docbooks with svn 2026-06-26 01:46:33 +00:00
Justin Zobel 3afa57be28 GIT_SILENT CI - Flatpak - Update Versions
OUTDATED: deno-x86_64-unknown-linux-gnu.zip
Upgraded to:
 URL: https://github.com/denoland/deno/releases/download/v2.8.3/deno-x86_64-unknown-linux-gnu.zip
 Version: v2.8.3

OUTDATED: deno-aarch64-unknown-linux-gnu.zip
Upgraded to:
 URL: https://github.com/denoland/deno/releases/download/v2.8.3/deno-aarch64-unknown-linux-gnu.zip
 Version: v2.8.3

OUTDATED: yt_dlp-2026.3.3-py3-none-any.whl
Upgraded to:
 URL: https://files.pythonhosted.org/packages/f3/ee/188a3dadf9dfdac713243521f919feca1cd091d4358c9ea7e8ebb710a7cc/yt_dlp-2026.6.9-py3-none-any.whl
 Version: 2026.6.9

OUTDATED: v3.0.2.tar.gz
Upgraded to:
 URL: https://github.com/pybind/pybind11/archive/refs/tags/v3.0.4.tar.gz
 Version: 3.0.4
2026-06-12 19:41:22 +09:30
l10n daemon script d20431ed0d GIT_SILENT Sync po/docbooks with svn 2026-06-06 01:59:40 +00:00
Jonah Brüchert defb32a059 Update tested ytmusicapi version 2026-06-05 21:29:29 +02:00
l10n daemon script 09a02065dd GIT_SILENT made messages (after extraction) 2026-06-03 00:56:37 +00:00
l10n daemon script d94e04e630 GIT_SILENT Sync po/docbooks with svn 2026-06-02 02:36:27 +00:00
l10n daemon script 8457cb6411 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2026-06-02 01:51:43 +00:00
Heiko Becker 0b4a1b0e1f GIT_SILENT Update Appstream for new release
(cherry picked from commit 8b5c95eb6a)
2026-05-30 17:45:49 +02:00
Jonah Brüchert d848ec0a79 Handle no formats being found 2026-05-29 23:29:33 +02:00
Jonah Brüchert 78d033990b Add video url fallback
+ debug logging
2026-05-29 13:26:45 +02:00
Jonah Brüchert 4f9cf4b946 Update ytmusicapi to 1.12.0 2026-05-29 13:06:06 +02:00
l10n daemon script 0806b6206f GIT_SILENT made messages (after extraction) 2026-05-27 00:43:55 +00:00
l10n daemon script fcaefc58a0 GIT_SILENT Sync po/docbooks with svn 2026-05-26 01:46:06 +00:00
Antonio Rojas 273d9b926d Explicitly search for Python to fix compilation with ECM 6.26
pybind11 has a bug [1] where the pybind11::embed cmake target does not get correctly linked to Python after a previous find_package(Python3) call without the Development component has been issued.

This affects audiotube after an ECM 6.26 change [2] added such a call, breaking compilation.

As a workaround, add an explicit find_package call for Python that includes the Development component and overrides the ECM one.

[1] https://github.com/pybind/pybind11/issues/6063
[2] https://invent.kde.org/frameworks/extra-cmake-modules/-/commit/e46088158e5631417602322ecdc08cc692192134

CCBUG: 520142
2026-05-15 10:14:34 +02:00
l10n daemon script ea54bc7084 GIT_SILENT Sync po/docbooks with svn 2026-05-06 01:47:48 +00:00
Heiko Becker 09dca69148 GIT_SILENT Update Appstream for new release
(cherry picked from commit 573b50465f)
2026-05-04 10:19:27 +02:00
l10n daemon script 54b089a132 GIT_SILENT Sync po/docbooks with svn 2026-05-03 01:53:08 +00:00
l10n daemon script 6852a11261 GIT_SILENT made messages (after extraction) 2026-04-23 00:42:54 +00:00
l10n daemon script 740f65b874 GIT_SILENT Sync po/docbooks with svn 2026-04-22 01:47:10 +00:00
l10n daemon script f9370914f7 GIT_SILENT Sync po/docbooks with svn 2026-04-19 01:48:17 +00:00
l10n daemon script 3067e31c8d GIT_SILENT made messages (after extraction) 2026-04-15 00:44:43 +00:00
l10n daemon script 6236f9e5c2 GIT_SILENT Sync po/docbooks with svn 2026-04-14 01:46:07 +00:00
l10n daemon script 6f70d3c965 GIT_SILENT made messages (after extraction) 2026-04-10 00:45:56 +00:00
l10n daemon script 6be21f897d GIT_SILENT Sync po/docbooks with svn 2026-04-09 02:09:40 +00:00
Heiko Becker 88205a9d63 GIT_SILENT Update Appstream for new release
(cherry picked from commit 44577041e4)
2026-04-08 14:51:11 +02:00
Nicolas Fella 2c6650db6e Don't include quiet packages in feature_summary
They would be quiet for a reason
2026-04-01 13:47:10 +02:00
l10n daemon script 256bf28be6 GIT_SILENT made messages (after extraction) 2026-03-31 00:43:32 +00:00
l10n daemon script da158a050d GIT_SILENT made messages (after extraction) 2026-03-27 00:43:47 +00:00
l10n daemon script 85938bcf4d GIT_SILENT Sync po/docbooks with svn 2026-03-26 01:46:12 +00:00
l10n daemon script 0a6122ba1c GIT_SILENT made messages (after extraction) 2026-03-19 00:44:23 +00:00
l10n daemon script 5f61773d98 GIT_SILENT Sync po/docbooks with svn 2026-03-18 01:49:37 +00:00
l10n daemon script cfd0cb851a GIT_SILENT made messages (after extraction) 2026-03-18 00:43:57 +00:00
l10n daemon script c74b3a2f12 GIT_SILENT Sync po/docbooks with svn 2026-03-11 01:48:18 +00:00
l10n daemon script d4b2cb4c2e GIT_SILENT made messages (after extraction) 2026-03-07 00:42:52 +00:00
Albert Astals Cid 0f94338dc0 GIT_SILENT Upgrade release service version to 26.07.70. 2026-03-06 22:41:24 +01:00
85 changed files with 4904 additions and 2282 deletions

No files matched your search

+6
View File
@@ -10,3 +10,9 @@ build/
compile_commands.json
.cache
.qmlls.ini
# makepkg output
/packaging/arch/src/
/packaging/arch/pkg/
/packaging/arch/audiotube/
/packaging/arch/*.pkg.tar.*
+5
View File
@@ -23,3 +23,8 @@ Files: logo.png
org.kde.audiotube.svg
Copyright: 2021 Mathis Brüchert <[email protected]>
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
Files: src/resources/cast-symbolic.svg
src/resources/org.kde.audiotube-symbolic.svg
Copyright: 2026 AudioTube contributors
License: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+7 -5
View File
@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.16.0)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "26")
set(RELEASE_SERVICE_VERSION_MINOR "03")
set(RELEASE_SERVICE_VERSION_MINOR "11")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
@@ -40,13 +40,14 @@ ecm_setup_version(${PROJECT_VERSION}
kde_enable_exceptions()
find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Multimedia Concurrent DBus)
find_package(KF6 REQUIRED COMPONENTS Kirigami I18n CoreAddons Crash WindowSystem IconThemes Config)
find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets Multimedia Concurrent DBus Network)
find_package(KF6 REQUIRED COMPONENTS Kirigami I18n CoreAddons Crash WindowSystem IconThemes Config StatusNotifierItem)
find_package(Python3 COMPONENTS Development.Embed REQUIRED)
set(PYBIND11_FINDPYTHON ON)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 1.10.2 REQUIRED RUNTIME)
find_package(KF6KirigamiAddons 0.11.0 REQUIRED)
find_package(KF6KirigamiAddons 1.12.0 REQUIRED)
find_package(FutureSQL6 REQUIRED)
find_package(QCoro6 0.10.0 REQUIRED COMPONENTS Core)
@@ -61,5 +62,6 @@ add_subdirectory(src)
install(PROGRAMS org.kde.audiotube.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.audiotube.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
install(FILES org.kde.audiotube.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps)
install(FILES src/resources/org.kde.audiotube-symbolic.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/symbolic/apps)
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
+4 -4
View File
@@ -7,8 +7,8 @@
"sources": [
{
"type": "archive",
"url": "https://github.com/denoland/deno/releases/download/v2.7.2/deno-x86_64-unknown-linux-gnu.zip",
"sha256": "bc3af4d1bedd7893664b925c0f39fb08f7b12242e57ed4acdc0cf64540b4449c",
"url": "https://github.com/denoland/deno/releases/download/v2.9.5/deno-x86_64-unknown-linux-gnu.zip",
"sha256": "8b010a3b1a4a0188a67cdb8a7a27348b2a501af78aec7fc74f2ace167368d530",
"x-checker-data": {
"type": "json",
"url": "https://api.github.com/repos/denoland/deno/releases/latest",
@@ -21,8 +21,8 @@
},
{
"type": "archive",
"url": "https://github.com/denoland/deno/releases/download/v2.7.2/deno-aarch64-unknown-linux-gnu.zip",
"sha256": "c36c0b284d084dfe7045a106e60bd98d919183fd69d7902a42f3c7a244bf4386",
"url": "https://github.com/denoland/deno/releases/download/v2.9.5/deno-aarch64-unknown-linux-gnu.zip",
"sha256": "6b7cae3a8fc4385a59dea3146fcb8bad7fea4230e0ad36a8c692afacbc254be0",
"x-checker-data": {
"type": "json",
"url": "https://api.github.com/repos/denoland/deno/releases/latest",
+12 -12
View File
@@ -7,33 +7,33 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl",
"sha256": "9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c"
"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl",
"sha256": "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz",
"sha256": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"
"url": "https://files.pythonhosted.org/packages/cc/61/d01fc49b8dea277640b55a9e15960dbca9fdc8c9fde18e572d39c59f4019/charset_normalizer-3.5.1-py3-none-any.whl",
"sha256": "6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl",
"sha256": "771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"
"url": "https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl",
"sha256": "815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl",
"sha256": "2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"
"url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl",
"sha256": "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl",
"sha256": "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"
"url": "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl",
"sha256": "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/30/1e/1e462a98c99923757166b7dd703b04b53bb6d7787d2dbdd69e46fda6899d/ytmusicapi-1.11.4-py3-none-any.whl",
"sha256": "5c2c0ecce6a8c2350688922f014b220459a73568e06a0cff90416070a3268fd9"
"url": "https://files.pythonhosted.org/packages/29/ad/6d471ea9d81e1f59a4d01badda21e7f3f508b94ed171c677b6547b292f73/ytmusicapi-1.12.3-py3-none-any.whl",
"sha256": "f65db840907a43ca23b29bd563951a1e390fbe2089d7aa4ddbe2043824b2acd9"
}
]
}
+72
View File
@@ -78,9 +78,11 @@ SPDX-License-Identifier: CC0-1.0
<summary xml:lang="ro">Aplicație pentru YouTube Music</summary>
<summary xml:lang="ru">Приложение для работы с YouTube Music</summary>
<summary xml:lang="sa">YouTube Music app</summary>
<summary xml:lang="sk">Aplikácia YouTube Music</summary>
<summary xml:lang="sl">Aplikacija za glasbo YouTube</summary>
<summary xml:lang="sv">YouTube musikprogram</summary>
<summary xml:lang="tr">YouTube Müzik Uygulaması</summary>
<summary xml:lang="ug">YouTube نەغمە ئەپى</summary>
<summary xml:lang="uk">Музична програма для YouTube</summary>
<summary xml:lang="zh-CN">YouTube 音乐应用</summary>
<summary xml:lang="zh-TW">YouTube Music 應用程式</summary>
@@ -92,6 +94,13 @@ SPDX-License-Identifier: CC0-1.0
<name translate="no">KDE</name>
</developer>
<releases>
<release version="26.08.2" date="2026-10-08"/>
<release version="26.08.1" date="2026-09-10"/>
<release version="26.08.0" date="2026-08-20"/>
<release version="26.04.3" date="2026-07-02"/>
<release version="26.04.2" date="2026-06-04"/>
<release version="26.04.1" date="2026-05-07"/>
<release version="26.04.0" date="2026-04-16"/>
<release version="25.12.3" date="2026-03-05"/>
<release version="25.12.2" date="2026-02-05"/>
<release version="25.12.1" date="2026-01-08"/>
@@ -145,58 +154,88 @@ SPDX-License-Identifier: CC0-1.0
<li xml:lang="ar">أُضيفت صفحة المكتبة التي تعرض المفضلات والأغاني الأكثر تشغيلًا</li>
<li xml:lang="ca">Afegeix una pàgina de biblioteca que mostra les cançons preferides i les més reproduïdes</li>
<li xml:lang="ca-valencia">Afig una pàgina de biblioteca que mostra les cançons preferides i les més reproduïdes</li>
<li xml:lang="cs">Přidána stránka knihovny, která zobrazuje oblíbené a nejčastěji přehrávané skladby</li>
<li xml:lang="de">Bibliotheksseite hinzugefügt, die Favoriten und meistgespielte Lieder anzeigt</li>
<li xml:lang="es">Se ha añadido una página de la biblioteca que muestra las canciones favoritas y las más reproducidas</li>
<li xml:lang="fi">lisätty suosikit ja soitetuimmat kappaleet näyttävä kirjastosivu</li>
<li xml:lang="fr">Ajouter une page de bibliothèque affichant les favoris et les chansons les plus écoutées</li>
<li xml:lang="he">נוסף עמוד ספרייה שמציג את המועדפים ואת השירים שהתנגנו הכי הרבה</li>
<li xml:lang="hu">Könyvtár oldal hozzáadása, amelyen megjelennek a kedvencek és a leggyakrabban lejátszott dalok</li>
<li xml:lang="ia">Adde pagina de bibliotheca que monstra favoritos e cantos plus reproducite </li>
<li xml:lang="is">Bætt við síðu fyrir tónlistarsafn sem sýnir eftirlæti og mest spiluðu lög</li>
<li xml:lang="it">Aggiungi una pagina della raccolta che mostra i preferiti e i brani più riprodotti</li>
<li xml:lang="ka">დაემატა ბიბლიოთეკის გვერდი, რომელშიც ჩანს რჩეულები და ყველაზე ხშირად დაკრული სიმღერები</li>
<li xml:lang="ko">책갈피에 등록된 항목과 가장 많이 재생한 곡을 표시하는 라이브러리 페이지 추가</li>
<li xml:lang="lt">Pridėtas bibliotekos puslapis, kuriame rodomos mėgstamos ir dažniausiai atkurtos dainos</li>
<li xml:lang="lv">Pievienota bibliotēkas lapa, kurā redzama izlase un biežāk atskaņotie skaņdarbi</li>
<li xml:lang="nl">Voeg een bibliotheekpagina toe waarop favorieten en meest gespeelde nummers worden weergegeven.</li>
<li xml:lang="nn">Lagt til bibliotekside med favorittar og dei oftast avspela songane</li>
<li xml:lang="pt-BR">Adicionada página à biblioteca que mostra as músicas favoritas e as mais tocadas</li>
<li xml:lang="ru">Добавлена страница библиотеки с избранными и наиболее прослушиваемыми композициями</li>
<li xml:lang="sk">Pridanie stránky knižnice so zobrazením obľúbených a najhranejších skladieb</li>
<li xml:lang="sl">Doda stran knjižnice, ki prikazuje priljubljene in najpogosteje predvajane skladbe</li>
<li xml:lang="sv">Lägg till bibliotekssida som visar favoriter och mest spelade låtar</li>
<li xml:lang="tr">Favori ve en çok çalınan şarkıları gösteren bir kitaplık sayfası eklendi.</li>
<li xml:lang="uk">Додано сторінку бібліотеки, на якій буде показано улюблені і найчастіше відтворювані композиції</li>
<li xml:lang="zh-CN">添加显示收藏夹和最常播放的歌曲的库页面</li>
<li xml:lang="zh-TW">新增顯示最愛與最常播放歌曲的音樂庫頁面</li>
<li>Improve layout of the search popup</li>
<li xml:lang="ar">حُسّن مظهر نافذة البحث المنبثقة</li>
<li xml:lang="ca">Millora la disposició de la finestra emergent de cerca</li>
<li xml:lang="ca-valencia">Millora la disposició de la finestra emergent de busca</li>
<li xml:lang="cs">Vylepšené rozložení vyhledávacího okna</li>
<li xml:lang="de">Verbessertes Layout des Suchdialogs</li>
<li xml:lang="es">Mejora de la disposición de la ventana emergente de búsqueda</li>
<li xml:lang="fi">parannettu hakuponnahdusikkunan asettelua</li>
<li xml:lang="fr">Améliorer la disposition de la fenêtre de recherche</li>
<li xml:lang="he">פריסת חלונית החיפוש הצצה השתפרה</li>
<li xml:lang="hu">A kereső felugró ablak elrendezésének javítása</li>
<li xml:lang="ia">Meliora disposition del popup (emergente) de cerca</li>
<li xml:lang="is">Endurbætt framsetning á leitarsprettglugga</li>
<li xml:lang="it">Migliora la disposizione della finestra di ricerca a comparsa</li>
<li xml:lang="ka">გაუმჯობესდა ძებნის მხტუნარას განლაგება</li>
<li xml:lang="ko">검색 팝업 레이아웃 개선</li>
<li xml:lang="lt">Patobulintas paieškos iškylančiojo lango išdėstymas</li>
<li xml:lang="lv">Uzlabots meklēšanas uzlecošais logs</li>
<li xml:lang="nl">Verbeter de indeling van het zoekpop-upvenster.</li>
<li xml:lang="nn">Forbetra utforming av søkje-sprettoppvindauget</li>
<li xml:lang="pt-BR">Melhoria no layout da janela pop-up de pesquisa</li>
<li xml:lang="ru">Улучшено расположение всплывающего окна поиска</li>
<li xml:lang="sk">Zlepšenie rozloženia vyskakovacieho okna vyhľadávania</li>
<li xml:lang="sl">Izboljša postavitev pojavnega okna za iskanje</li>
<li xml:lang="sv">Förbättra layout för sökfönstret</li>
<li xml:lang="tr">Arama açılır penceresinin yerleşimi iyileştirildi.</li>
<li xml:lang="uk">Удосконалено компонування контекстної панелі пошуку</li>
<li xml:lang="zh-CN">改进搜索弹出窗口的布局</li>
<li xml:lang="zh-TW">改善搜尋彈出視窗的佈局</li>
<li>General performance improvements including startup</li>
<li xml:lang="ar">تحسينات عامة في الأداء بما في ذلك بدء التشغيل</li>
<li xml:lang="ca">Millores generals de rendiment incloent-hi l'inici</li>
<li xml:lang="ca-valencia">Millores generals de rendiment incloent-hi l'inici</li>
<li xml:lang="cs">Obecné zlepšení výkonu včetně spouštění</li>
<li xml:lang="de">Allgemeine Leistungsverbesserungen, einschließlich des Startvorgangs</li>
<li xml:lang="es">Mejoras del rendimiento en general, incluido el inicio</li>
<li xml:lang="fi">yleisiä suorituskyvyn parannuksia käynnistettäessä</li>
<li xml:lang="fr">Améliorations générales des performances, y compris au démarrage</li>
<li xml:lang="he">שיפורי ביצועים כלליים כולל העלייה</li>
<li xml:lang="hu">Általános teljesítményjavítások, beleértve az indítást is</li>
<li xml:lang="ia">Melioramentod de prestation general includente startar</li>
<li xml:lang="is">Almennar endurbætur á afköstum meðal annars í ræsingu</li>
<li xml:lang="it">Miglioramenti generali delle prestazioni, incluso l'avvio</li>
<li xml:lang="ka">ზოგადი წარმადობის გაუმჯობესება, გაშვების ჩათვლით</li>
<li xml:lang="ko">시작 등 일반적인 성능 개선</li>
<li xml:lang="lt">Bendri našumo patobulinimai, įskaitant programos paleidimą</li>
<li xml:lang="lv">Pamata veiktspējas uzlabojumi, ieskaitot palaišanu</li>
<li xml:lang="nl">Algemene prestatieverbeteringen, inclusief opstartproblemen</li>
<li xml:lang="nn">Generelle ytingsforbetringar, blant anna ved oppstart</li>
<li xml:lang="pt-BR">Melhorias gerais de desempenho, incluindo na inicialização</li>
<li xml:lang="ru">Улучшена общая производительность, включая время запуска</li>
<li xml:lang="sk">Všeobecné zlepšenia výkonu vrátane spúšťania</li>
<li xml:lang="sl">Splošne izboljšave delovanja, vključno z zagonom</li>
<li xml:lang="sv">Allmänna prestandaförbättringar inklusive start</li>
<li xml:lang="tr">Başlangıç dahil genel başarım iyileştirmeleri yapıldı.</li>
<li xml:lang="uk">Загальні удосконалення швидкодії, зокрема запуску</li>
<li xml:lang="zh-CN">常规性能改进,包括启动</li>
<li xml:lang="zh-TW">一般效能改善,包含啟動效能</li>
</ul>
</description>
@@ -209,39 +248,60 @@ SPDX-License-Identifier: CC0-1.0
<li xml:lang="ar">حُدّث إصدار ytmusicapi</li>
<li xml:lang="ca">Actualitza la versió de «ytmusicapi»</li>
<li xml:lang="ca-valencia">Actualitza la versió de «ytmusicapi»</li>
<li xml:lang="cs">Aktualizována verze ytmusicapi</li>
<li xml:lang="de">„ytmusicapi“-Version aktualisiert</li>
<li xml:lang="es">Actualización de la versión de ytmusicapi</li>
<li xml:lang="fi">päivitetty ytmusicapin versio</li>
<li xml:lang="fr">Mise à jour la version de la bibliothèque « ytmusicapi »</li>
<li xml:lang="he">הגרסה של ytmusicapi עודכנה</li>
<li xml:lang="hu">Az ytmusicapi verziójának frissítése</li>
<li xml:lang="ia">Actualisa le version de ytmusicapi</li>
<li xml:lang="is">Uppfærð útgáfa af ytmusicapi</li>
<li xml:lang="it">Aggiorna la versione di ytmusicapi</li>
<li xml:lang="ka">განახლდა ytmusicapi-ის ვერსია</li>
<li xml:lang="ko">ytmusicapi 버전 업데이트</li>
<li xml:lang="lt">Atnaujinta ytmusicapi versija</li>
<li xml:lang="lv">Atjaunināta „ytmusicapi“ versija</li>
<li xml:lang="nl">Werk de versie van ytmusicapi bij</li>
<li xml:lang="nn">Oppdatert versjon av ytmusicapi</li>
<li xml:lang="pt-BR">Atualizada a versão do ytmusicapi</li>
<li xml:lang="ru">Обновлена версия ytmusicapi</li>
<li xml:lang="sk">Aktualizácia verzie ytmusicapi</li>
<li xml:lang="sl">Posodobi različico ytmusicapi</li>
<li xml:lang="sv">Uppdatera versionen av ytmusicapi</li>
<li xml:lang="tr">ytmusicapi sürümü güncellendi.</li>
<li xml:lang="uk">Оновлено версію ytmusicapi</li>
<li xml:lang="zh-CN">更新 ytmusicapi 版本</li>
<li xml:lang="zh-TW">更新 ytmusicapi 版本</li>
<li>General code-refactoring and translation updates</li>
<li xml:lang="ar">إعادة هيكلة عامة للكود وتحديثات للترجمة</li>
<li xml:lang="ca">Actualitzacions generals de reestructuració de codi i traduccions</li>
<li xml:lang="ca-valencia">Actualitzacions generals de reestructuració de codi i traduccions</li>
<li xml:lang="cs">Obecná refaktorizace kódu a aktualizace překladů</li>
<li xml:lang="de">Allgemeine Code-Überarbeitung und Aktualisierung der Übersetzungen</li>
<li xml:lang="es">Refactorización general del código y actualización de las traducciones</li>
<li xml:lang="fi">yleistä koodin uudistusta ja käännösten päivityksiä</li>
<li xml:lang="fr">Ré-agencement général du code et mises à jour des traductions</li>
<li xml:lang="he">שכתוב קוד כללי ועדכוני תרגומים</li>
<li xml:lang="hu">Általános kódátalakítás és frissített fordítások</li>
<li xml:lang="ia">Re-factorisation de codice general e actualistiones de traduction</li>
<li xml:lang="is">Almenn endurskipulagning kóða og uppfærslur á þýðingum</li>
<li xml:lang="it">Revisione generale del codice e aggiornamenti delle traduzioni</li>
<li xml:lang="ka">კოდის რეფაქტორინგი და თარგმანის გაუმჯობესებები</li>
<li xml:lang="ko">일반 코드 리팩토링 및 번역 업데이트</li>
<li xml:lang="lt">Bendri kodo pertvarkymo ir vertimų atnaujinimai</li>
<li xml:lang="lv">Pamata koda pārstrukturēšana un tulkojumu atjauninājumi</li>
<li xml:lang="nl">Algemene herziening van code en vertaalupdates</li>
<li xml:lang="nn">Generell kode­refaktorering og oppdaterte omsetjingar</li>
<li xml:lang="pt-BR">Atualizações gerais de refatoração do código e tradução</li>
<li xml:lang="ru">Общий рефакторинг кода и обновления переводов</li>
<li xml:lang="sk">Všeobecný refaktoring kódu a aktualizácia prekladov</li>
<li xml:lang="sl">Splošne posodobitve preoblikovanja kode in prevoda</li>
<li xml:lang="sv">Allmänna omstruktureringar av kod och översättningsuppdateringar</li>
<li xml:lang="tr">Genel kod yeniden düzenleme ve çeviri güncellemeleri yapıldı.</li>
<li xml:lang="uk">Загальне переформатування програмного коду та оновлення перекладів</li>
<li xml:lang="zh-CN">常规代码重构和翻译更新</li>
<li xml:lang="zh-TW">一些程式碼重構與翻譯更新</li>
</ul>
</description>
</release>
@@ -253,20 +313,30 @@ SPDX-License-Identifier: CC0-1.0
<li xml:lang="ar">حُدّث إصدار ytmusicapi</li>
<li xml:lang="ca">Actualitza la versió de «ytmusicapi»</li>
<li xml:lang="ca-valencia">Actualitza la versió de «ytmusicapi»</li>
<li xml:lang="cs">Aktualizována verze ytmusicapi</li>
<li xml:lang="de">„ytmusicapi“-Version aktualisiert</li>
<li xml:lang="es">Actualización de la versión de ytmusicapi</li>
<li xml:lang="fi">päivitetty ytmusicapin versio</li>
<li xml:lang="fr">Mise à jour la version de la bibliothèque « ytmusicapi »</li>
<li xml:lang="he">הגרסה של ytmusicapi עודכנה</li>
<li xml:lang="hu">Az ytmusicapi verziójának frissítése</li>
<li xml:lang="ia">Actualisa le version de ytmusicapi</li>
<li xml:lang="is">Uppfærð útgáfa af ytmusicapi</li>
<li xml:lang="it">Aggiorna la versione di ytmusicapi</li>
<li xml:lang="ka">განახლდა ytmusicapi-ის ვერსია</li>
<li xml:lang="ko">ytmusicapi 버전 업데이트</li>
<li xml:lang="lt">Atnaujinta ytmusicapi versija</li>
<li xml:lang="lv">Atjaunināta „ytmusicapi“ versija</li>
<li xml:lang="nl">Werk de versie van ytmusicapi bij</li>
<li xml:lang="nn">Oppdatert versjon av ytmusicapi</li>
<li xml:lang="pt-BR">Atualizada a versão do ytmusicapi</li>
<li xml:lang="ru">Обновлена версия ytmusicapi</li>
<li xml:lang="sk">Aktualizácia verzie ytmusicapi</li>
<li xml:lang="sl">Posodobi različico ytmusicapi</li>
<li xml:lang="sv">Uppdatera versionen av ytmusicapi</li>
<li xml:lang="tr">ytmusicapi sürümü güncellendi.</li>
<li xml:lang="uk">Оновлено версію ytmusicapi</li>
<li xml:lang="zh-CN">更新 ytmusicapi 版本</li>
<li xml:lang="zh-TW">更新 ytmusicapi 版本</li>
</ul>
</description>
@@ -309,6 +379,7 @@ SPDX-License-Identifier: CC0-1.0
<p xml:lang="ar">يمكن لتيوب الصوتي البحث في موسيقى يوتيوب، وعرض الألبومات والفنانين، وتشغيل القوائم والألبومات المولدة آليًّا، ويسمح لك بوضع قائمة التشغيل الخاصة بك معًا. هو ملائم للهواتف المحمولة وأجهزة الحاسوب المكتبية.</p>
<p xml:lang="ca">L'AudioTube pot cercar a YouTube Music, llistar àlbums i artistes, reproduir llistes de reproducció generades automàticament, àlbums i permet crear la vostra pròpia llista de reproducció. Està adaptat als telèfons mòbils i els ordinadors de sobretaula.</p>
<p xml:lang="ca-valencia">AudioTube pot buscar a YouTube Music, llistar àlbums i artistes, reproduir llistes de reproducció generades automàticament, àlbums i permet crear la vostra pròpia llista de reproducció. Està adaptat als telèfons mòbils i els ordinadors de sobretaula.</p>
<p xml:lang="cs">AudioTube umí prohledávat YouTube Music, zobrazovat seznamy alb a umělců, přehrávat automaticky generované seznamy skladeb, alba a umožňuje sestavit si vlastní seznam skladeb. Je přizpůsoben pro mobilní telefony i stolní počítače.</p>
<p xml:lang="de">AudioTube kann „YouTube Music“ durchsuchen, Alben und Interpreten auflisten, automatisch generierte Wiedergabelisten und Alben wiedergeben und ermöglicht es, eine eigene Wiedergabeliste zusammenzustellen. Mobiltelefone und Desktoprechner werden unterstützt.</p>
<p xml:lang="en-GB">AudioTube can search YouTube Music, list albums and artists, play automatically generated playlists, albums and allows to put your own playlist together. It is adapted to mobile phones and desktop computers.</p>
<p xml:lang="eo">AudioTube povas serĉi YouTube Music, listigi albumojn kaj artistojn, ludi aŭtomate generitajn ludlistojn, albumojn kaj permesas kunmeti vian propran ludliston. Ĝi estas adaptita al porteblaj telefonoj kaj labortablaj komputiloj.</p>
@@ -334,6 +405,7 @@ SPDX-License-Identifier: CC0-1.0
<p xml:lang="ro">AudioTube poate căuta pe Youtube Music, enumera albume și interpreți, reda liste generate automat, și albume. Aceasta vă permite să întocmiți propriile liste de redare și e adaptată pentru telefoane mobile și calculatoare de birou.</p>
<p xml:lang="ru">AudioTube позволяет выполнять поиск в сервисе YouTube Music, просматривать списки найденных альбомов и исполнителей, воспроизводить автоматически созданные списки воспроизведения и альбомы, а также составлять свои собственные списки воспроизведения. Приложение адаптировано для работы на мобильных телефонах и настольных компьютерах.</p>
<p xml:lang="sa">AudioTube YouTube Music अन्वेष्टुं शक्नोति, एल्बमान् कलाकारान् च सूचीतुं शक्नोति, स्वयमेव उत्पन्नं प्लेलिस्ट्, एल्बम् वादयितुं शक्नोति तथा च स्वस्य प्लेलिस्ट् एकत्र स्थापयितुं शक्नोति। इदं मोबाईलफोनेषु, डेस्कटॉप् सङ्गणकेषु च अनुकूलितम् अस्ति ।</p>
<p xml:lang="sk">AudioTube dokáže vyhľadávať na YouTube Music, zobrazovať albumy a interpretov, prehrávať automaticky generované zoznamy skladieb, albumy a umožňuje vytvárať vlastný zoznam skladieb.</p>
<p xml:lang="sl">AudioTube lahko išče YouTube Music, navaja albume in izvajalce, predvaja samodejno ustvarjene sezname predvajanja, albume in omogoča sestavljanje lastnega seznama predvajanja. Prilagojena je mobilnim telefonom in namiznim računalnikom.</p>
<p xml:lang="sv">AudioTube kan söka på YouTube Music, lista album och artister, spela upp automatiskt genererade spellistor, album och låter dig sammanställa egna spellistor. Det är anpassat för mobiltelefoner och skrivbordsdatorer.</p>
<p xml:lang="tr">AudioTube, YouTube Müzik’te arama yapabilir; albümleri, sanatçıları listeler; kendiliğinden üretilmiş çalma listelerini, albümleri çalar ve kendi çalma listenizi oluşturmanıza izin verir. Masaüstü bilgisayarlar ve cep telefonları için uyarlanmıştır.</p>
+1
View File
@@ -80,6 +80,7 @@ Comment[sk]=Hudobný klient YouTube
Comment[sl]=Glasbeni odjemalec Youtube
Comment[sv]=YouTube-musikprogram
Comment[tr]=YouTube Müzik istemcisi
Comment[ug]=YouTube نەغمە خېرىدارى
Comment[uk]=Музичний клієнт YouTube
Comment[zh_CN]=YouTube Music 客户端
Comment[zh_TW]=YouTube Music 用戶端
+7 -5
View File
@@ -1,7 +1,7 @@
{
"id": "org.kde.audiotube",
"runtime": "org.kde.Platform",
"runtime-version": "6.10",
"runtime-version": "6.11",
"sdk": "org.kde.Sdk",
"command": "audiotube",
"tags": [
@@ -11,6 +11,8 @@
"finish-args": [
"--device=dri",
"--own-name=org.mpris.MediaPlayer2.AudioTube",
"--own-name=org.kde.StatusNotifierItem-2-*",
"--talk-name=org.kde.StatusNotifierWatcher",
"--share=ipc",
"--share=network",
"--socket=fallback-x11",
@@ -34,8 +36,8 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/7e/a4/8b5cd28ab87aef48ef15e74241befec3445496327db028f34147a9e0f14f/yt_dlp-2026.3.3-py3-none-any.whl",
"sha256": "166c6e68c49ba526474bd400e0129f58aa522c2896204aa73be669c3d2f15e63",
"url": "https://files.pythonhosted.org/packages/69/b2/8cd1613f56eed7ceb64fbd4df3f1c01246bfb098e6f398228bafda22b80b/yt_dlp-2026.8.19-py3-none-any.whl",
"sha256": "1d57897e94c6665a0a6f9bc54b34e584284e32c034ffab3a7df25d8f7b24eedf",
"x-checker-data": {
"type": "pypi",
"name": "yt-dlp",
@@ -77,8 +79,8 @@
"sources": [
{
"type": "archive",
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v3.0.2.tar.gz",
"sha256": "2f20a0af0b921815e0e169ea7fec63909869323581b89d7de1553468553f6a2d",
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v3.1.0.tar.gz",
"sha256": "ef712655692a2e9bf7bb7874c022564a45f91d847ddee987e720cd9e28849665",
"x-checker-data": {
"type": "anitya",
"project-id": 13384,
+78
View File
@@ -0,0 +1,78 @@
# SPDX-License-Identifier: CC0-1.0
#
# Builds AudioTube from the git repository, including the system tray icon and Google Cast support:
#
# git clone https://git.salastil.com/Salastil/audiotube.git
# cd audiotube/packaging/arch
# makepkg -si
pkgname=audiotube-git
pkgver=26.11.70.r0.g0000000
pkgrel=1
pkgdesc='Client for YouTube Music (git version with system tray and Google Cast)'
arch=('x86_64' 'aarch64')
url='https://git.salastil.com/Salastil/audiotube'
license=('GPL-2.0-or-later' 'LGPL-2.0-or-later')
depends=(
'futuresql'
'glibc'
'gst-plugins-bad'
'gst-plugins-good'
'kconfig'
'kcoreaddons'
'kcrash'
'ki18n'
'kiconthemes'
'kirigami'
'kirigami-addons'
'kstatusnotifieritem'
'kwindowsystem'
'libgcc'
'libstdc++'
'purpose'
'python'
'python-ytmusicapi'
'qcoro'
'qt6-base'
'qt6-declarative'
'qt6-imageformats'
'qt6-multimedia'
'qt6-multimedia-gstreamer'
'qt6-svg'
'yt-dlp'
)
makedepends=(
'cmake'
'extra-cmake-modules'
'git'
'ninja'
'pybind11'
)
optdepends=(
'deno: JavaScript runtime that yt-dlp may need to extract some streams'
'qt6ct: Qt theme configuration, used for the application palette outside of Plasma'
)
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("${pkgname%-git}::git+https://git.salastil.com/Salastil/audiotube.git")
sha256sums=('SKIP')
pkgver() {
cd "${pkgname%-git}"
local version
version=$(sed -n 's/^set(RELEASE_SERVICE_VERSION_\(MAJOR\|MINOR\|MICRO\) "\(.*\)")/\2/p' CMakeLists.txt | paste -sd.)
printf '%s.r%s.g%s' "$version" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cmake -S "${pkgname%-git}" -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTING=OFF \
-DPython3_EXECUTABLE=/usr/bin/python3
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-21 17:46+0400\n"
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
"Language-Team: ar\n"
@@ -278,7 +278,7 @@ msgstr "قائمة التشغيل هذه لا تزال فارغة"
msgid "Import Playlist"
msgstr "استورد قائمة التّشغيل"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "تيوب الصوتي"
@@ -299,84 +299,84 @@ msgstr "أغلق المشغل المكبّر"
msgid "No media playing"
msgstr "لا يوجد وسائط تعمل"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "أزل من المفضلة"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "أضف للمفضلة"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "افتح درج الصوت"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "ألغ كتم الصوت"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "كتم الصوت"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1٪"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "أخف الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "اعرض كلمات الأغاني"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "شارك الأغنية"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "أضف إلى قائمة التّشغيل المحلية"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "أخف قائمة الانتظار"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "أظهر قائمة الانتظار"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "أزِل أغنية"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "امحُ الطّابور"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "اخلط قائمة الانتظار"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "الأغاني القادمة"
@@ -466,16 +466,6 @@ msgstr "لا يوجد تطابق من البحوث الأخيرة"
msgid "Share to"
msgstr "شارك مع"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "انسخ الرابط"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "نُسخ الرابط إلى الحافظة"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -516,50 +506,50 @@ msgstr "أزل من التّاريخ"
msgid "Add to playlist"
msgstr "أضف إلى قائمة التّشغيل"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "بث الموسيقى من YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 جونا بروشيرت، 2021-2024 مجتمع كيدي"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "جوناه بروكيرت"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "الصائن"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "ماتيس بروشيرت"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "المصمم"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "زايد السعيدي"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -570,16 +560,22 @@ msgstr "واجهة برمجة التطبيقات غير الرسمية لموس
msgid "No description"
msgstr "لا يوجد وصف"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "بلا عنوان"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "لا يوجد ألبوم"
#~ msgid "Copy Link"
#~ msgstr "انسخ الرابط"
#~ msgid "Link copied to clipboard"
#~ msgstr "نُسخ الرابط إلى الحافظة"
#~ msgid "Remove Favorite"
#~ msgstr "أزل المفضلة"
+30 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2024-03-27 21:55+0100\n"
"Last-Translator: Enol P. <[email protected]>\n"
"Language-Team: Asturian <[email protected]>\n"
@@ -275,7 +275,7 @@ msgstr ""
msgid "Import Playlist"
msgstr ""
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr ""
@@ -296,85 +296,85 @@ msgstr ""
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -460,16 +460,6 @@ msgstr ""
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -510,50 +500,50 @@ msgstr ""
msgid "Add to playlist"
msgstr ""
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -564,12 +554,12 @@ msgstr ""
msgid "No description"
msgstr ""
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
+30 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
@@ -296,7 +296,7 @@ msgstr ""
msgid "Import Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -318,93 +318,93 @@ msgstr ""
msgid "No media playing"
msgstr "Media faylı oynadılmır"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove from Favorites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add to Favorites"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, fuzzy, kde-format
#| msgid "Favourite Songs"
msgid "Share Song"
msgstr "Seçilmiş mahnılar"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Song"
msgstr "Süçilmişlər"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Qarışıq"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -496,16 +496,6 @@ msgstr ""
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -547,51 +537,51 @@ msgstr ""
msgid "Add to playlist"
msgstr "Mahnı siyahısına əlavə edin"
#: main.cpp:90
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xəyyam Qocayev"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
@@ -604,12 +594,12 @@ msgstr "Musiqini YouTube Musiqi-də tapın"
msgid "No description"
msgstr "Mahnı siyahıları"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
+37 -41
View File
@@ -4,12 +4,12 @@
# version 3 or later versions approved by the membership of KDE e.V.
#
# SPDX-FileCopyrightText: 2021 Antoni Bella Pérez <[email protected]>
# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025, 2026 Josep M. Ferrer <[email protected]>
# SPDX-FileCopyrightText: 2022-2026 Josep M. Ferrer <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 13:02+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -282,7 +282,7 @@ msgstr "Aquesta llista de reproducció encara està buida"
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -303,84 +303,84 @@ msgstr "Tanca el reproductor maximitzat"
msgid "No media playing"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Afegeix a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obre el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Comparteix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Afegeix a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Elimina la cançó"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons següents"
@@ -468,16 +468,6 @@ msgstr "No hi ha cerques anteriors coincidents"
msgid "Share to"
msgstr "Comparteix a"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat al porta-retalls"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -518,50 +508,50 @@ msgstr "Elimina de l'historial"
msgid "Add to playlist"
msgstr "Afegeix a la llista de reproducció"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Flux de música des de YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -572,16 +562,22 @@ msgstr "API no oficial per a YouTube Music"
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
#~ msgid "Copy Link"
#~ msgstr "Copia l'enllaç"
#~ msgid "Link copied to clipboard"
#~ msgstr "L'enllaç s'ha copiat al porta-retalls"
#~ msgid "Remove Favorite"
#~ msgstr "Elimina de les preferides"
+38 -42
View File
@@ -4,12 +4,12 @@
# version 3 or later versions approved by the membership of KDE e.V.
#
# SPDX-FileCopyrightText: 2021 Antoni Bella Pérez <[email protected]>
# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025, 2026 Josep M. Ferrer <[email protected]>
# SPDX-FileCopyrightText: 2022-2026 Josep M. Ferrer <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 13:02+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
@@ -282,7 +282,7 @@ msgstr "Esta llista de reproducció encara està buida"
msgid "Import Playlist"
msgstr "Importa una llista de reproducció"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -303,84 +303,84 @@ msgstr "Tanca el reproductor maximitzat"
msgid "No media playing"
msgstr "No s'està reproduint cap fitxer multimèdia"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Elimina de les preferides"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Afig a les preferides"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Obri el calaix del volum"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Activa el so de l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silencia l'àudio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Oculta la lletra"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra la lletra"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Compartix una cançó"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Afig a una llista de reproducció local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Oculta la cua"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostra la cua"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Elimina la cançó"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Neteja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Barreja la cua"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Cançons següents"
@@ -468,16 +468,6 @@ msgstr "No hi ha busques anteriors coincidents"
msgid "Share to"
msgstr "Compartix a"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copia l'enllaç"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "L'enllaç s'ha copiat a dins del porta-retalls"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -518,50 +508,50 @@ msgstr "Elimina de l'historial"
msgid "Add to playlist"
msgstr "Afig a la llista de reproducció"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Flux de música des de YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunitat KDE"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 La comunitat KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -572,12 +562,18 @@ msgstr "API no oficial per a YouTube Music"
msgid "No description"
msgstr "Sense descripció"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Sense títol"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Sense àlbum"
#~ msgid "Copy Link"
#~ msgstr "Copia l'enllaç"
#~ msgid "Link copied to clipboard"
#~ msgstr "L'enllaç s'ha copiat a dins del porta-retalls"
+53 -67
View File
@@ -1,21 +1,21 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Vit Pelcak <[email protected]>
# SPDX-FileCopyrightText: 2021-2026 Vit Pelcak <[email protected]>
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-12-02 11:22+0100\n"
"Last-Translator: Vit Pelcak <[email protected]>\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-03-16 11:35+0100\n"
"Last-Translator: Vít Pelčák <[email protected]>\n"
"Language-Team: Czech <[email protected]>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Lokalize 25.08.3\n"
"X-Generator: Lokalize 26.04.0\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "Sdílet"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Album • %1"
@@ -93,10 +92,7 @@ msgid "Artist"
msgstr "Umělec"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -189,12 +185,12 @@ msgstr "Přejmenovat seznam skladeb"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Objevovat"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Vybraný tip"
#: contents/ui/HeroCard.qml:167
#, kde-format
@@ -205,7 +201,7 @@ msgstr "Přehrát nyní"
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Domů"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -283,7 +279,7 @@ msgstr "Tento seznam skladeb je prázdný"
msgid "Import Playlist"
msgstr "Importovat seznam skladeb"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -304,86 +300,84 @@ msgstr "Zavřít minimalizovaný přehrávač"
msgid "No media playing"
msgstr "Nepřehrává se žádné médium"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Odstranit z oblíbených"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Přidat do oblíbených"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otevřít šuplík hlasitosti"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Povolit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Ztlumit zvuk"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrýt text písně"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Zobrazit text písně"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Sdílet píseň"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Přidat do místního seznamu stop"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Skrýt frontu"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Zobrazit frontu"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Odstranit oblíbené"
msgstr "Odstranit skladbu"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Vymazat frontu"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Zamíchat frontu"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Nadcházející písně"
@@ -393,9 +387,9 @@ msgstr "Nadcházející písně"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%1 skladba"
msgstr[1] "%1 skladby"
msgstr[2] "%1 skladeb"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -453,10 +447,7 @@ msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -475,16 +466,6 @@ msgstr "Neodpovídají žádná předchozí hledání"
msgid "Share to"
msgstr "Sdílet s"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopírovat odkaz"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Odkaz byl zkopírován do schránky"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -525,51 +506,50 @@ msgstr "Odstranit z historie"
msgid "Add to playlist"
msgstr "Přidat do seznamu stop"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Přehrávejte hudbu z Hudba YouTube"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 Komunita KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Správce"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Návrhář"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vít Pelčák"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -580,16 +560,22 @@ msgstr "Neoficiální API pro hudbu YouTube"
msgid "No description"
msgstr "Žádný popis"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Bez názvu"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Žádné album"
#~ msgid "Copy Link"
#~ msgstr "Kopírovat odkaz"
#~ msgid "Link copied to clipboard"
#~ msgstr "Odkaz byl zkopírován do schránky"
#~ msgid "Remove Favorite"
#~ msgstr "Odstranit oblíbené"
+51 -55
View File
@@ -1,25 +1,26 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021 Burkhard Lück <[email protected]>
# SPDX-FileCopyrightText: 2021, 2022, 2023 Frederik Schwarzer <[email protected]>
# SPDX-FileCopyrightText: 2021-2023 Frederik Schwarzer <[email protected]>
# SPDX-FileCopyrightText: 2022 Frank Steinmetzger <[email protected]>
# SPDX-FileCopyrightText: 2024 Johannes Obermayr <[email protected]>
# SPDX-FileCopyrightText: 2025 Alexander Becker <[email protected]>
# SPDX-FileCopyrightText: 2026 Alois Spitzbart <[email protected]>
# SPDX-FileCopyrightText: 2026 Philipp Kiemle <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2026-02-17 17:12+0100\n"
"Last-Translator: Philipp Kiemle <l10n.daphipz@fastmail.de>\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-04-12 10:07+0200\n"
"Last-Translator: Alois Spitzbart <spitz234@hotmail.com>\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 25.12.2\n"
"X-Generator: Lokalize 26.07.70\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -128,7 +129,7 @@ msgstr "Videos"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Weitere Einstellungen"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -189,24 +190,23 @@ msgstr "Wiedergabeliste umbenennen"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Entdecken"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Empfohlene Auswahl"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Als nächstes wiedergeben"
msgstr "Jetzt wiedergeben"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Startseite"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -284,7 +284,7 @@ msgstr "Diese Wiedergabeliste ist noch leer"
msgid "Import Playlist"
msgstr "Wiedergabeliste importieren"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -305,84 +305,84 @@ msgstr "Maximierte Wiedergabe beenden"
msgid "No media playing"
msgstr "Es werden keine Medien wiedergegeben"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Aus Favoriten entfernen"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Lautstärkenleiste öffnen"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Audio-Stummschaltung aufheben"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Audio stumm schalten"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedtext ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Liedtext anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Lied teilen"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Zu einer lokalen Wiedergabeliste hinzufügen"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Warteschlange ausblenden"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Warteschlange anzeigen"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Lied entfernen"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Warteschlange leeren"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Warteschlange durchmischen"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Kommende Lieder"
@@ -392,8 +392,8 @@ msgstr "Kommende Lieder"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 Lied"
msgstr[1] "%1 Lieder"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -470,25 +470,15 @@ msgstr "Keine passenden vorherigen Suchvorgänge"
msgid "Share to"
msgstr "Teilen auf"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Verknüpfung kopieren"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Verknüpfung in die Zwischenablage kopiert"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Startseite"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Entdecken"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -520,50 +510,50 @@ msgstr "Aus Verlauf löschen"
msgid "Add to playlist"
msgstr "Zur Wiedergabeliste hinzufügen"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musik von YouTube Music streamen"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE-Gemeinschaft"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Betreuer"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Deutsches KDE-Übersetzungsteam"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -574,16 +564,22 @@ msgstr "Inoffizielle API für YouTube Music"
msgid "No description"
msgstr "Keine Beschreibung"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Kein Titel"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Kein Album"
#~ msgid "Copy Link"
#~ msgstr "Verknüpfung kopieren"
#~ msgid "Link copied to clipboard"
#~ msgstr "Verknüpfung in die Zwischenablage kopiert"
#~ msgid "Remove Favorite"
#~ msgstr "Favoriten entfernen"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2024-05-20 19:30+0100\n"
"Last-Translator: Steve Allewell <[email protected]>\n"
"Language-Team: British English\n"
@@ -286,7 +286,7 @@ msgstr "This playlist is still empty"
msgid "Import Playlist"
msgstr "Import Playlist"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -307,88 +307,88 @@ msgstr "Close Maximised Player"
msgid "No media playing"
msgstr "No media playing"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "Remove from Favourites"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "Add to Favourites"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Open Volume Drawer"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Unmute Audio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Mute Audio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Hide Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Show Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Share Song"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Add to a local playlist"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Hide Queue"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Show Queue"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "Remove Favourite"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Clear Queue"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Shuffle Queue"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Upcoming Songs"
@@ -479,16 +479,6 @@ msgstr "No matching previous searches"
msgid "Share to"
msgstr "Share to"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copy Link"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Link copied to clipboard"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -529,51 +519,51 @@ msgstr "Remove from History"
msgid "Add to playlist"
msgstr "Add to playlist"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Stream music from YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Maintainer"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Steve Allewell"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -584,16 +574,22 @@ msgstr "Unofficial API for YouTube Music"
msgid "No description"
msgstr "No description"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "No title"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "No album"
#~ msgid "Copy Link"
#~ msgstr "Copy Link"
#~ msgid "Link copied to clipboard"
#~ msgstr "Link copied to clipboard"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2024-05-04 23:30+0100\n"
"Last-Translator: Oliver Kellogg <[email protected]>\n"
"Language-Team: Esperanto <[email protected]>\n"
@@ -287,7 +287,7 @@ msgstr "Ĉi tiu ludlisto ankoraŭ estas malplena"
msgid "Import Playlist"
msgstr "Importi Ludliston"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -308,88 +308,88 @@ msgstr "Fermi Maksimumigitan Ludanton"
msgid "No media playing"
msgstr "Neniu aŭdvidaĵo ludanta"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "Forigi el Favoritoj"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "Aldoni al Favoritoj"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Malfermi Laŭteckeston"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Malŝalti Audio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silentigi Audio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Kaŝi Kantotekstojn"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Montri kantotekstojn"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Kunhavigi Kanton"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Aldoni al loka ludlisto"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Kaŝi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Montri Vicon"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "Forigi Favoriton"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Viŝi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Miksi Vicon"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Venontaj Kantoj"
@@ -480,16 +480,6 @@ msgstr "Neniuj kongruaj antaŭaj serĉoj"
msgid "Share to"
msgstr "Kunhavigi al"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopii Ligilon"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligilo kopiita al tondujo"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -530,51 +520,51 @@ msgstr "Forigi el Historio"
msgid "Add to playlist"
msgstr "Aldoni al ludlisto"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Fluigi muzikon de YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2023 KDE-Komunumo"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Prizorganto"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Dezajnisto"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Oliver Kellogg"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -585,16 +575,22 @@ msgstr "Neoficiala API por YouTube Music"
msgid "No description"
msgstr "Neniu priskribo"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Neniu titolo"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Neniu albumo"
#~ msgid "Copy Link"
#~ msgstr "Kopii Ligilon"
#~ msgid "Link copied to clipboard"
#~ msgstr "Ligilo kopiita al tondujo"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-21 00:33+0100\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
@@ -281,7 +281,7 @@ msgstr "Esta lista de reproducción está vacía"
msgid "Import Playlist"
msgstr "Importar lista de reproducción"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -302,84 +302,84 @@ msgstr "Cerrar reproductor maximizado"
msgid "No media playing"
msgstr "Ningún medio en reproducción"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Eliminar de favoritas"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Añadir a favoritas"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir cajón del volumen"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Reanudar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar el sonido"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letra"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letra"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Compartir canción"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Añadir a una lista de reproducción local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar cola"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostrar cola"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Eliminar canción"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Borrar cola"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar cola"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas canciones"
@@ -467,16 +467,6 @@ msgstr "No hay búsquedas anteriores coincidentes"
msgid "Share to"
msgstr "Compartir con"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copiar enlace"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Se ha copiado el enlace en el portapapeles"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -517,50 +507,50 @@ msgstr "Eliminar del historial"
msgid "Add to playlist"
msgstr "Añadir a la lista de reproducción"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Transmisión de música de YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 La Comunidad KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Responsable"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Diseñador"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Eloy Cuadra"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -571,12 +561,18 @@ msgstr "API no oficial de YouTube Music"
msgid "No description"
msgstr "Sin descripción"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Sin título"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Sin álbumes"
#~ msgid "Copy Link"
#~ msgstr "Copiar enlace"
#~ msgid "Link copied to clipboard"
#~ msgstr "Se ha copiado el enlace en el portapapeles"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2025-10-18 16:52+0200\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
@@ -287,7 +287,7 @@ msgstr "Jotze-zerrenda hau oraindik hutsik dago"
msgid "Import Playlist"
msgstr "Inportatu jotze-zerrenda"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -308,86 +308,86 @@ msgstr "Itxi maximizatutako jotzailea"
msgid "No media playing"
msgstr "Ez da euskarririk jotzen ari"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Kendu gogokoetatik"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Gehitu gogokoetara"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ireki bolumenaren tiradera"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Ozendu audioa"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Isilarazi audioa"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%%1"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Ezkutatu hitzak"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Erakutsi hitzak"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Partekatu abestia"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Gehitu bertako jotze-zerrenda batera."
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Ezkutatu ilara"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Erakutsi ilara"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favorite"
msgid "Remove Song"
msgstr "Kendu gogokoa"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Hustu ilara"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Nahastu ilara"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Hurrengo abestiak"
@@ -478,16 +478,6 @@ msgstr "Ez dago bat datorren aurreko bilaketarik"
msgid "Share to"
msgstr "Partekatu honi,"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopiatu esteka"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Esteka arbelera kopiatu da"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -528,51 +518,51 @@ msgstr "Kendu historiatik"
msgid "Add to playlist"
msgstr "Gehitu jotze-zerrendara"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "«YouTube Music»etik musika korrontea"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Komunitatea"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Arduraduna"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Diseinatzailea"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Iñigo Salvador Azurmendi"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -583,16 +573,22 @@ msgstr "«YouTube Music»erako API ez-ofiziala"
msgid "No description"
msgstr "Deskribapenik ez"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Titulurik ez"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Albumik ez"
#~ msgid "Copy Link"
#~ msgstr "Kopiatu esteka"
#~ msgid "Link copied to clipboard"
#~ msgstr "Esteka arbelera kopiatu da"
#~ msgid "Remove Favorite"
#~ msgstr "Kendu gogokoa"
+55 -70
View File
@@ -1,13 +1,13 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Tommi Nieminen <[email protected]>
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025, 2026 Tommi Nieminen <[email protected]>
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-10-13 20:42+0300\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-08-26 12:19+0300\n"
"Last-Translator: Tommi Nieminen <[email protected]>\n"
"Language-Team: Finnish <[email protected]>\n"
"Language: fi\n"
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "Jaa"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Albumi • %1"
@@ -93,10 +92,7 @@ msgid "Artist"
msgstr "Artisti"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -127,7 +123,7 @@ msgstr "Videot"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Enemmän valintoja"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -188,24 +184,23 @@ msgstr "Muuta soittolistan nimeä"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Tutki"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Esitelty poiminta"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Toista seuraava"
msgstr "Toista nyt"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Koti"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -283,7 +278,7 @@ msgstr "Soittolista on yhä tyhjä"
msgid "Import Playlist"
msgstr "Tuo soittolista"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -304,86 +299,84 @@ msgstr "Sulje suurennettu soitin"
msgid "No media playing"
msgstr "Mitään ei toisteta"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Poista suosikeista"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Lisää suosikkeihin"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Avaa äänenvoimakkuus"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Poista äänen vaimennus"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Vaimenna ääni"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Piilota sanat"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Näytä sanoitukset"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Jaa kappale"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Lisää paikalliseen soittolistaan"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Piilota jono"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Näytä jono"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Poista suosikki"
msgstr "Poista kappale"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Tyhjennä jono"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Sekoita jono"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Tulossa olevat kappaleet"
@@ -393,8 +386,8 @@ msgstr "Tulossa olevat kappaleet"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 kappale"
msgstr[1] "%1 kappaletta"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -452,10 +445,7 @@ msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -473,25 +463,15 @@ msgstr "Ei osumia aiemmista hauista"
msgid "Share to"
msgstr "Jaa kohteeseen"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopioi linkki"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Linkki kopioitu leikepöydälle"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Koti"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Tutki"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -523,51 +503,50 @@ msgstr "Poista historiasta"
msgid "Add to playlist"
msgstr "Lisää soittolistaan"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Suoratoista musiikkia YouTube Musicista"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE-yhteisö"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Ylläpitäjä"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Suunnittelija"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Tommi Nieminen"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -578,16 +557,22 @@ msgstr "Epävirallinen YouTube Music -API"
msgid "No description"
msgstr "Ei kuvausta"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Ei otsikkoa"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Ei albumia"
#~ msgid "Copy Link"
#~ msgstr "Kopioi linkki"
#~ msgid "Link copied to clipboard"
#~ msgstr "Linkki kopioitu leikepöydälle"
#~ msgid "Remove Favorite"
#~ msgstr "Poista suosikki"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-21 08:57+0100\n"
"Last-Translator: Xavier Besnard <[email protected]>\n"
"Language-Team: \n"
@@ -278,7 +278,7 @@ msgstr "La liste de lecture est vide pour l'instant."
msgid "Import Playlist"
msgstr "Importer une liste de lecture"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -299,84 +299,84 @@ msgstr "Fermer le lecteur en mode maximisé"
msgid "No media playing"
msgstr "Aucun média en lecture"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Supprimer des signets"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Ajouter aux signets"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ouvrir le réglage de volume"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Remettre le son"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Mettre le son en pause"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Masquer les paroles"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Afficher les paroles"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Partager une chanson"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Ajouter à la liste locale de lecture"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Masquer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Afficher la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Supprimer une chanson"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Effacer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Re-distribuer la file d'attente"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Prochaines chansons"
@@ -464,16 +464,6 @@ msgstr "Aucune correspondance avec les recherches précédentes"
msgid "Share to"
msgstr "Partager vers"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copier un lien"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Lien copié dans le presse-papier."
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -514,50 +504,50 @@ msgstr "Supprimer de l'historique"
msgid "Add to playlist"
msgstr "Ajouter à la liste de lecture"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musique en streaming provenant de « YouTube Musique »"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021 - 2024 Jonah Brüchert, 2021 - 2024 La communauté de KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mainteneur"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Concepteur"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xavier Besnard"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -568,16 +558,22 @@ msgstr "API non officiel pour le site « YouTube Musique »"
msgid "No description"
msgstr "Aucune description"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Aucun titre"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Aucun album"
#~ msgid "Copy Link"
#~ msgstr "Copier un lien"
#~ msgid "Link copied to clipboard"
#~ msgstr "Lien copié dans le presse-papier."
#~ msgid "Remove Favorite"
#~ msgstr "Supprimer un signet"
+30 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Irish Gaelic <[email protected]>\n"
@@ -276,7 +276,7 @@ msgstr ""
msgid "Import Playlist"
msgstr ""
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr ""
@@ -297,84 +297,84 @@ msgstr ""
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -463,16 +463,6 @@ msgstr ""
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -513,50 +503,50 @@ msgstr ""
msgid "Add to playlist"
msgstr ""
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -567,12 +557,12 @@ msgstr ""
msgid "No description"
msgstr ""
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2025-01-12 16:48+0100\n"
"Last-Translator: Adrián Chaves (Gallaecio) <[email protected]>\n"
"Language-Team: Proxecto Trasno ([email protected])\n"
@@ -284,7 +284,7 @@ msgstr "A lista de reprodución está baleira."
msgid "Import Playlist"
msgstr "Importar unha lista de reprodución"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -305,88 +305,88 @@ msgstr "Pechar o reprodutor maximizado"
msgid "No media playing"
msgstr "Non se está a reproducir nada."
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "Retirar das favoritas"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "Engadir ás favoritas"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir o caixón do volume"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Activar o son"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Agochar a letra"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Amosar a letra"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Compartir a canción"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Engadir a unha lista de reprodución local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Agochar a cola"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Amosar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "Retiras das favoritas"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Borrar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Desordenar a cola"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Vindeiras cancións"
@@ -475,16 +475,6 @@ msgstr "Ningunha busca anterior coincide."
msgid "Share to"
msgstr "Compartir con"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copiar a ligazón"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "A ligazón copiouse no portapapeis."
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -525,51 +515,51 @@ msgstr "Retirar do historial"
msgid "Add to playlist"
msgstr "Engadir á lista de reprodución"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Escoita música de YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert; 2021-2024 Comunidade KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mantemento."
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Deseño."
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Adrian Chaves (Gallaecio)"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -580,16 +570,22 @@ msgstr "API non oficial de YouTube Music"
msgid "No description"
msgstr "Sen descrición"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Sen título"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Sen álbum"
#~ msgid "Copy Link"
#~ msgstr "Copiar a ligazón"
#~ msgid "Link copied to clipboard"
#~ msgstr "A ligazón copiouse no portapapeis."
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-22 08:33+0200\n"
"Last-Translator: Yaron Shahrabani <[email protected]>\n"
"Language-Team: צוות התרגום של KDE ישראל\n"
@@ -277,7 +277,7 @@ msgstr "רשימת הנגינה עדיין ריקה"
msgid "Import Playlist"
msgstr "ייבוא רשימת נגינה"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -298,84 +298,84 @@ msgstr "סגירת נגן מוגדל"
msgid "No media playing"
msgstr "לא מתנגנת מדיה"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "הסרה מהמועדפים"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "הוספה למועדפים"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "פתיחת מגירת עוצמת שמע"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "ביטול השתקה"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "השתקת שמע"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "הסתרת מילות השיר"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "הצגת מילות השיר"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "שיתוף השיר"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "הוספה לרשימת הנגינה המקומית"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "הסתרת התור"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "הצגת התור"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "הסרת שיר"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "פינוי התור"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "ערבוב התור"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "השירים הבאים"
@@ -463,16 +463,6 @@ msgstr "אין חיפושים קודמים תואמים"
msgid "Share to"
msgstr "שיתוף אל"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "העתקת קישור"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "הקישור הועתק ללוח הגזירים"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -513,50 +503,50 @@ msgstr "הסרה מההיסטוריה"
msgid "Add to playlist"
msgstr "הוספה לרשימת הנגינה"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "הזרמת מוזיקה מ־YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021‏-2024 יונה ברכרט, 2021-‏2024 קהילת KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "יונה ברכרט"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "מתחזק"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "מתיס בריכרט"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "מעצב"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "צוות התרגום של KDE ישראל"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -567,16 +557,22 @@ msgstr "API בלתי רשמי ל־YouTube Music"
msgid "No description"
msgstr "אין תיאור"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "אין כותרת"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "אין אלבום"
#~ msgid "Copy Link"
#~ msgstr "העתקת קישור"
#~ msgid "Link copied to clipboard"
#~ msgstr "הקישור הועתק ללוח הגזירים"
#~ msgid "Remove Favorite"
#~ msgstr "הסרה מהמועדפים"
+30 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
@@ -294,7 +294,7 @@ msgstr ""
msgid "Import Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "ओडियो-ट्यूब"
@@ -316,90 +316,90 @@ msgstr ""
msgid "No media playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favorites"
msgstr "गीत-सूचीयाँ"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favorites"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "गीत-सूची में जोड़ें"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove Song"
msgstr "गीत-सूचीयाँ"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, fuzzy, kde-format
#| msgid "Clear"
msgid "Clear Queue"
msgstr "साफ करें"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "फेंटें"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -490,16 +490,6 @@ msgstr ""
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -541,51 +531,51 @@ msgstr ""
msgid "Add to playlist"
msgstr "गीत-सूची में जोड़ें"
#: main.cpp:90
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "राघवेंद्र कामत"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
@@ -598,12 +588,12 @@ msgstr "यूट्यूब संगीत पर संगीत ढूं
msgid "No description"
msgstr "गीत-सूचीयाँ"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
+58 -73
View File
@@ -1,13 +1,13 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# SPDX-FileCopyrightText: 2024, 2025 Kristof Kiszel <[email protected]>
# SPDX-FileCopyrightText: 2024-2026 Kristof Kiszel <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-11-06 20:59+0100\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-06-25 22:18+0200\n"
"Last-Translator: Kristof Kiszel <[email protected]>\n"
"Language-Team: Hungarian <[email protected]>\n"
"Language: hu\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 25.08.2\n"
"X-Generator: Lokalize 26.04.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "Megosztás"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Album • %1"
@@ -93,10 +92,7 @@ msgid "Artist"
msgstr "Előadó"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -128,7 +124,7 @@ msgstr "Videók"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "További beállítások"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -189,24 +185,23 @@ msgstr "Lejátszólista átnevezése"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Felfedezés"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Kiemelt választás"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Következő lejátszása"
msgstr "Lejátszás most"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Kezdőlap"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -284,7 +279,7 @@ msgstr "Ez a lejátszólista még mindig üres"
msgid "Import Playlist"
msgstr "Lejátszólista importálása"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -305,86 +300,84 @@ msgstr "Maximalizált lejátszó bezárása"
msgid "No media playing"
msgstr "Nincs médialejátszás"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Eltávolítás a kedvencekből"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Hozzáadás a kedvencekhez"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Hangerőcsúszka megnyitása"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Visszahangosítás"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Némítás"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Dalszöveg elrejtése"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Dalszöveg megjelenítése"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Dal megosztása"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Hozzáadás helyi lejátszólistához"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Sor elrejtése"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Sor megjelenítése"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Kedvenc eltávolítása"
msgstr "Dal eltávolítása"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Sor kiürítése"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Sor keverése"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Következő dalok"
@@ -394,8 +387,8 @@ msgstr "Következő dalok"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 dal"
msgstr[1] "%1 dal"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -453,10 +446,7 @@ msgid "Unknown"
msgstr "Ismeretlen"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -475,25 +465,15 @@ msgstr "Nincsenek egyező korábbi keresések"
msgid "Share to"
msgstr "Megosztás itt:"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Hivatkozás másolása"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Hivatkozás másolva a vágólapra"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Kezdőlap"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Felfedezés"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -525,53 +505,52 @@ msgstr "Eltávolítás az előzményekből"
msgid "Add to playlist"
msgstr "Hozzáadás a lejátszólistához"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Zeneközvetítés a YouTube Musicról"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
"© Jonah Brüchert, 2021-2024.\n"
"© A KDE közösség, 2021-2024."
"© Jonah Brüchert, 2021–2024.\n"
"© A KDE közösség, 2021–2024."
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Karbantartó"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Tervező"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Kiszel Kristóf"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -582,16 +561,22 @@ msgstr "Nem hivatalos API a YouTube Musichoz"
msgid "No description"
msgstr "Nincs leírás"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nincs cím"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nincs album"
#~ msgid "Copy Link"
#~ msgstr "Hivatkozás másolása"
#~ msgid "Link copied to clipboard"
#~ msgstr "Hivatkozás másolva a vágólapra"
#~ msgid "Remove Favorite"
#~ msgstr "Kedvenc eltávolítása"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 11:42+0100\n"
"Last-Translator: giovanni <[email protected]>\n"
"Language-Team: Interlingua <[email protected]>\n"
@@ -279,7 +279,7 @@ msgstr "Iste lista de reproduction es vacue"
msgid "Import Playlist"
msgstr "Importa lista de reproduction"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "Claude reproductor de sono (player) maximizate"
msgid "No media playing"
msgstr "Necun media reproducente"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Remove ex favoritos"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Adde a favoritos"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Aperi designator de volumine"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Audio Non silente"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Audio Silente"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Cela parolas de canto"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Monstra parolas"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Comparti canto"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Adde a un lista de reproduction local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Cela cauda"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Monstra cauda"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Remove Canto"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Netta cauda"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Misce (shuffle) cauda"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Cantos a venir"
@@ -465,16 +465,6 @@ msgstr "Nulle previes cerca correspondente"
msgid "Share to"
msgstr "Comparti a"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copia Ligamine"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligamine copiate a area de transferentia"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -515,50 +505,50 @@ msgstr "Remove ex chronologia"
msgid "Add to playlist"
msgstr "Adde al lista de reproduction"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Musica de stream (fluxo) ab YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021-2024 Communitate de KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mantenitor"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designator"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Giovanni Sora"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -569,16 +559,22 @@ msgstr "API non official per YouTube Music"
msgid "No description"
msgstr "Nulle description"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Necun titulo"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Necun album"
#~ msgid "Copy Link"
#~ msgstr "Copia Ligamine"
#~ msgid "Link copied to clipboard"
#~ msgstr "Ligamine copiate a area de transferentia"
#~ msgid "Remove Favorite"
#~ msgstr "Remove favorito"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2023-06-16 19:34+0700\n"
"Last-Translator: Linerly <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
@@ -289,7 +289,7 @@ msgstr "Daftar putar ini masih kosong"
msgid "Import Playlist"
msgstr "Daftar Putar"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -311,96 +311,96 @@ msgstr "Tutup Pemutar Termaksimalkan"
msgid "No media playing"
msgstr "Tidak ada media yang diputarkan"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove from Favorites"
msgstr "Hapus Favorit"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add Favourite"
msgid "Add to Favorites"
msgstr "Tambahkan Favorit"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, fuzzy, kde-format
#| msgid "Open in Browser"
msgid "Open Volume Drawer"
msgstr "Buka di Peramban"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Suarakan Audio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Bisukan Audio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Hide Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, fuzzy, kde-format
#| msgid "Lyrics"
msgid "Show Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Bagikan Lagu"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "Tambahkan ke Daftar Putar"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Hide Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Show Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "Hapus Favorit"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, fuzzy, kde-format
#| msgid "Queue"
msgid "Clear Queue"
msgstr "Antrean"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "Acak"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Lagu Berikutnya"
@@ -491,16 +491,6 @@ msgstr "Tidak ada pencarian sebelumnya yang cocok"
msgid "Share to"
msgstr "Bagikan ke"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Salin Tautan"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Tautan disalin ke papan klip"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -541,52 +531,52 @@ msgstr "Hapus dari Riwayat"
msgid "Add to playlist"
msgstr "Tambahkan ke daftar putar"
#: main.cpp:90
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "API tidak resmi untuk YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunitas KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Pemelihara"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Perancang"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Linerly"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
@@ -599,16 +589,22 @@ msgstr "API tidak resmi untuk YouTube Music"
msgid "No description"
msgstr "Deskripsi Daftar Putar"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Tidak ada judul"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Tidak ada album"
#~ msgid "Copy Link"
#~ msgstr "Salin Tautan"
#~ msgid "Link copied to clipboard"
#~ msgstr "Tautan disalin ke papan klip"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+54 -69
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: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2026-01-19 15:38+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-03-10 17:28+0000\n"
"Last-Translator: Sveinn í Felli <[email protected]>\n"
"Language-Team: Icelandic\n"
"Language: is\n"
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "Deila"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Hljómplata • %1"
@@ -93,10 +92,7 @@ msgid "Artist"
msgstr "Flytjandi"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -127,7 +123,7 @@ msgstr "Myndskeið"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Fleiri valkostir"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -188,24 +184,23 @@ msgstr "Endurnefna spilunarlistann"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Kanna"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Úrvals"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Spila næst"
msgstr "Spila núna"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Heim"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -283,7 +278,7 @@ msgstr "Þessi spilunarlisti er tómur"
msgid "Import Playlist"
msgstr "Flytja inn spilunarlista"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -304,86 +299,84 @@ msgstr "Loka hámörkuðum spilara"
msgid "No media playing"
msgstr "Ekkert efni í spilun"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Fjarlægja úr eftirlætum"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Bæta í eftirlæti"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Opna hljóðstyrkssleða"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Kveikja á hljóði"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Þagga hljóð"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Fela lagatexta"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Birta lagatexta"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Deila lagi"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Bæta við staðværan spilunarlista"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Fela spilunarröð"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Sýna spilunarröð"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Fjarlægja eftirlæti"
msgstr "Fjarlægja lag"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Hreinsa spilunarröð"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Stokka biðröðina"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Væntanleg lög"
@@ -393,8 +386,8 @@ msgstr "Væntanleg lög"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 lag"
msgstr[1] "%1 lög"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -452,10 +445,7 @@ msgid "Unknown"
msgstr "Óþekkt"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -473,25 +463,15 @@ msgstr "Engin samsvörun við fyrri leitir"
msgid "Share to"
msgstr "Deila til"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Afrita tengil"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Tengill afritaður á klippispjald"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Heim"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Kanna"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -523,51 +503,50 @@ msgstr "Fjarlægja úr vinnsluferli"
msgid "Add to playlist"
msgstr "Bæta við spilunarlista"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Streymdu tónlist frá YouTube Music"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE-samfélagið"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Umsjónarmaður"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Hönnuður"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Sveinn í Felli"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -578,16 +557,22 @@ msgstr "Óopinbert API-viðmót fyrir YouTube Music"
msgid "No description"
msgstr "Engin lýsing"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Enginn titill"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Engin hljómplata"
#~ msgid "Copy Link"
#~ msgstr "Afrita tengil"
#~ msgid "Link copied to clipboard"
#~ msgstr "Tengill afritaður á klippispjald"
#~ msgid "Remove Favorite"
#~ msgstr "Fjarlægja eftirlæti"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-21 08:38+0100\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
@@ -279,7 +279,7 @@ msgstr "Questa scaletta è ancora vuota"
msgid "Import Playlist"
msgstr "Importa scaletta"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "Chiudi il lettore massimizzato"
msgid "No media playing"
msgstr "Nessun supporto in riproduzione"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Rimuovi dai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Apri il cassetto del volume"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Rimuovi il silenzio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silenzia l'audio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Nascondi i testi"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostra i testi"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Condividi brano"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Aggiungi a una scaletta locale"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Nascondi la coda"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostra la coda"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Rimuovi brano"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Cancella la coda"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Mescola la coda"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Prossimi brani"
@@ -465,16 +465,6 @@ msgstr "Nessuna ricerca precedente corrispondente"
msgid "Share to"
msgstr "Condividi con"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copia collegamento"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Collegamento copiato negli appunti"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -515,50 +505,50 @@ msgstr "Rimuovi dalla cronologia"
msgid "Add to playlist"
msgstr "Aggiungi alla scaletta"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Riproduci musica da YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunità KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Responsabile"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Progettista"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vincenzo Reale"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -569,16 +559,22 @@ msgstr "API non ufficiale per YouTube Music"
msgid "No description"
msgstr "Nessuna descrizione"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nessun titolo"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nessun album"
#~ msgid "Copy Link"
#~ msgstr "Copia collegamento"
#~ msgid "Link copied to clipboard"
#~ msgstr "Collegamento copiato negli appunti"
#~ msgid "Remove Favorite"
#~ msgstr "Rimuovi preferito"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2023-11-24 09:45+0900\n"
"Last-Translator: maboroshin <pc.genkaku.in>\n"
"Language-Team: Japanese <[email protected]>\n"
@@ -284,7 +284,7 @@ msgstr "この再生リストはまだ曲が未登録"
msgid "Import Playlist"
msgstr "再生リストのインポート"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr ""
@@ -305,87 +305,87 @@ msgstr "最大化したプレーヤーを閉じる"
msgid "No media playing"
msgstr "再生中のメディアなし"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "お気に入りから削除"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "お気に入りに追加"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "音声のミュート解除"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "音声をミュート"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "歌詞を隠す"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "歌詞を表示"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "曲を共有"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "端末内の再生リストに曲を追加"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "再生キューを隠す"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "再生キューを表示"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "お気に入りから除去"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "キューを消去"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "キューをシャッフル"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "次の曲"
@@ -473,16 +473,6 @@ msgstr "以前の検索との一致なし"
msgid "Share to"
msgstr "共有"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "リンクをコピー"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "リンクをクリップボードにコピーしました"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -523,50 +513,50 @@ msgstr "履歴から除去"
msgid "Add to playlist"
msgstr "再生リストに追加"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Music から音楽を配信"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "保守管理者"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "デザイナー"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "maboroshin"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "pc.genkaku.in"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -577,16 +567,22 @@ msgstr "YouTube Music 用の非公式 API"
msgid "No description"
msgstr "説明なし"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "タイトルなし"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "アルバムなし"
#~ msgid "Copy Link"
#~ msgstr "リンクをコピー"
#~ msgid "Link copied to clipboard"
#~ msgstr "リンクをクリップボードにコピーしました"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 06:32+0100\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
@@ -279,7 +279,7 @@ msgstr "ეს დასაკრავი სია ჯერ კიდევ
msgid "Import Playlist"
msgstr "დასაკრავი სიის შემოტანა"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "მთელ ეკრანზე გაშლილი დამკვ
msgid "No media playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "რჩეულებიდან წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "რჩეულებში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "ხმის დახატვის გახსნა"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "ხმის ჩართვა"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "ხმის დადუმება"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "ლირიკის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "ლირიკის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "სიმღერის გაზიარება"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "ლოკალურ დასაკრავ სიაში ჩამატება"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "რიგის დამალვა"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "რიგის ჩვენება"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "სიმღერის წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "რიგის გასუფთავება"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "შემთხვევით"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "მომავალი სიმღერები"
@@ -464,16 +464,6 @@ msgstr "წინა ძებნებს არ ემთხვევა"
msgid "Share to"
msgstr "გაზიარება"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "ბმულის კოპირება"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "ბმული დაკოპირებულია"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -514,50 +504,50 @@ msgstr "ისტორიიდან წაშლა"
msgid "Add to playlist"
msgstr "დასაკრავ სიაში დამატება"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "დასტრიმეთ მუსიკა YouTube Music-დან"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "წამყვანი პროგრამისტი"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "დიზაინერი"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Temuri Doghonadze"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -568,16 +558,22 @@ msgstr "YouTube Music-ის არაოფიციალური API"
msgid "No description"
msgstr "აღწერის გარეშე"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "სათაურის გარეშე"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "ალბომის გარეშე"
#~ msgid "Copy Link"
#~ msgstr "ბმულის კოპირება"
#~ msgid "Link copied to clipboard"
#~ msgstr "ბმული დაკოპირებულია"
#~ msgid "Remove Favorite"
#~ msgstr "რჩეულის წაშლა"
+56 -71
View File
@@ -1,13 +1,13 @@
# Copyright (C) 2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Shinjo Park <[email protected]>
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025, 2026 Shinjo Park <[email protected]>
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-10-09 00:07+0200\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-05-25 18:35+0200\n"
"Last-Translator: Shinjo Park <[email protected]>\n"
"Language-Team: Korean <[email protected]>\n"
"Language: ko\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 24.12.3\n"
"X-Generator: Lokalize 25.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "공유"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "앨범 • %1"
@@ -93,10 +92,7 @@ msgid "Artist"
msgstr "아티스트"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -126,7 +122,7 @@ msgstr "비디오"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "옵션 더 보기"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -187,24 +183,23 @@ msgstr "재생 목록 이름 바꾸기"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "탐색"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "추천 픽"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "다음 재생"
msgstr "지금 재생"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "홈"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -282,7 +277,7 @@ msgstr "재생 목록이 비어 있습니다"
msgid "Import Playlist"
msgstr "재생 목록 가져오기"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -303,86 +298,84 @@ msgstr "최대화된 재생기 닫기"
msgid "No media playing"
msgstr "재생 중인 미디어 없음"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "책갈피에서 삭제"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "책갈피에 추가"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "음량 서랍 열기"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "오디오 음소거 해제"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "오디오 음소거"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "가사 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "가사 표시"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "노래 공유"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "로컬 재생 목록에 추가"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "대기열 숨기기"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "대기열 표시"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "책갈피 삭제"
msgstr "곡 삭제"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "대기열 비우기"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "대기열 무순서 재생"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "다음에 재생될 곡"
@@ -392,7 +385,7 @@ msgstr "다음에 재생될 곡"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[0] "%1곡"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -450,10 +443,7 @@ msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -470,25 +460,15 @@ msgstr "일치하는 이전 검색 없음"
msgid "Share to"
msgstr "다음으로 공유"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "링크 복사"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "클립보드에 링크 복사됨"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "홈"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "탐색"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -520,51 +500,50 @@ msgstr "과거 기록에서 삭제"
msgid "Add to playlist"
msgstr "재생 목록에 추가"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Music에서 음악 스트리밍"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "관리자"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "디자이너"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "박신조"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -575,16 +554,22 @@ msgstr "YouTube Music 비공식 API"
msgid "No description"
msgstr "설명 없음"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "제목 없음"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "앨범 없음"
#~ msgid "Copy Link"
#~ msgstr "링크 복사"
#~ msgid "Link copied to clipboard"
#~ msgstr "클립보드에 링크 복사됨"
#~ msgid "Remove Favorite"
#~ msgstr "책갈피 삭제"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-21 00:26+0200\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -281,7 +281,7 @@ msgstr "Šis grojaraštis yra vis dar tuščias"
msgid "Import Playlist"
msgstr "Importuoti grojaraštį"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -302,84 +302,84 @@ msgstr "Užverti išskleistą grotuvą"
msgid "No media playing"
msgstr "Neatkuriama jokia medija"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Šalinti iš mėgstamų"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Pridėti į mėgstamas"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Atverti garsumo stalčių"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Įjungti garso įrašo garsą"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Nutildyti garso įrašą"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Slėpti dainos žodžius"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Rodyti dainos žodžius"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Bendrinti dainą"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Pridėti į vietinį grojaraštį"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Slėpti eilę"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Rodyti eilę"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Šalinti dainą"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Išvalyti eilę"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Maišyti eilę"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Artėjančios dainos"
@@ -469,16 +469,6 @@ msgstr "Nėra atitinkančių ankstesnių paieškų"
msgid "Share to"
msgstr "Bendrinti į"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopijuoti nuorodą"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Nuoroda nukopijuota į iškarpinę"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -519,50 +509,50 @@ msgstr "Šalinti iš istorijos"
msgid "Add to playlist"
msgstr "Pridėti į grojaraštį"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Transliuoti muziką iš „YouTube Music“"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE bendruomenė"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Prižiūrėtojas"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Dizaineris"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Moo"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "<>"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -573,16 +563,22 @@ msgstr "Neoficialus API, skirtas „YouTube Music“"
msgid "No description"
msgstr "Nėra aprašo"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nėra pavadinimo"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nėra albumo"
#~ msgid "Copy Link"
#~ msgstr "Kopijuoti nuorodą"
#~ msgid "Link copied to clipboard"
#~ msgstr "Nuoroda nukopijuota į iškarpinę"
#~ msgid "Remove Favorite"
#~ msgstr "Šalinti mėgstamą"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-03-04 14:41+0200\n"
"Last-Translator: Toms Trasūns <[email protected]>\n"
"Language-Team: Latvian <[email protected]>\n"
@@ -280,7 +280,7 @@ msgstr "Šis repertuārs joprojām ir tukšs"
msgid "Import Playlist"
msgstr "Importēt repertuāru"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -301,84 +301,84 @@ msgstr "Aizvērt maksimizēto atskaņotāju"
msgid "No media playing"
msgstr "Multividi neatskaņo"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Noņemt no izlases"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Pievienot izlasei"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Atvērt skaļuma atvilktni"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Atjaunot skaņu"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Apklusināt"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Slēpt vārdus"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Rādīt vārdus"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Kopīgot dziesmu"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Pievienot lokālajam repertuāram"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Slēpt rindu"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Rādīt rindu"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Noņemt dziesmu"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Notīrīt rindu"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Jaukt rindu"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Nākamās dziesmas"
@@ -467,16 +467,6 @@ msgstr "Nav atbilstošu iepriekšējo meklēšanu"
msgid "Share to"
msgstr "Kopīgot uz"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopēt saiti"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Saite nokopēta starpliktuvē"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -517,50 +507,50 @@ msgstr "Noņemt no vēstures"
msgid "Add to playlist"
msgstr "Pievienot repertuāram"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Straumējiet mūziku no „YouTube Music“"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021—2024 Jonah Brüchert, 2021—2024 KDE kopiena"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Uzturētājs"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Dizaineris"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Toms Trasūns"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -571,16 +561,22 @@ msgstr "Neoficiāls „YouTube Music“ API"
msgid "No description"
msgstr "Nav apraksta"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nav nosaukuma"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nav albuma"
#~ msgid "Copy Link"
#~ msgstr "Kopēt saiti"
#~ msgid "Link copied to clipboard"
#~ msgstr "Saite nokopēta starpliktuvē"
#~ msgid "Remove Favorite"
#~ msgstr "Noņemt no izlases"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 13:39+0100\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
@@ -279,7 +279,7 @@ msgstr "Deze afspeellijst is nog leeg"
msgid "Import Playlist"
msgstr "Afspeellijst importeren"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "Gemaximaliseerde speler sluiten"
msgid "No media playing"
msgstr "Er speelt geen medium"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Uit Favorieten verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Aan Favorieten toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Volume lader openen"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Dempen van geluid opheffen"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Geluid dempen"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Liedteksten verbergen"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Liedteksten tonen"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Songs delen"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Aan een lokale afspeellijst toevoegen"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Wachtrij verbergen"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Wachtrij tonen"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Song verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Wachtrij wissen"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Wachtrij voor willekeurig afspelen"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Aankomende songs"
@@ -465,16 +465,6 @@ msgstr "Geen overeenkomende vorige zoekopdrachten"
msgid "Share to"
msgstr "Delen (share) naar"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Koppeling kopiëren"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Koppeling gekopieerd naar klembord"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -515,50 +505,50 @@ msgstr "Uit geschiedenis verwijderen"
msgid "Add to playlist"
msgstr "Aan afspeellijst toevoegen"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Muziek streamen van YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021–2024 KDE-gemeenschap"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Onderhouder"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Ontwerper"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Freek de Kruijf - 2021 t/m 2023"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -569,16 +559,22 @@ msgstr "Niet officiële API voor YouTube Music"
msgid "No description"
msgstr "Geen beschrijving"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Geen titel"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Geen album"
#~ msgid "Copy Link"
#~ msgstr "Koppeling kopiëren"
#~ msgid "Link copied to clipboard"
#~ msgstr "Koppeling gekopieerd naar klembord"
#~ msgid "Remove Favorite"
#~ msgstr "Favoriet verwijderen"
+54 -73
View File
@@ -1,20 +1,21 @@
# Translation of audiotube to Norwegian Nynorsk
#
# Karl Ove Hufthammer <[email protected]>, 2022, 2023, 2024, 2025, 2026.
# Øystein Steffensen-Alværvik <[email protected]>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-10-26 13:33+0100\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-04-21 18:29+0200\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
"Language-Team: Norwegian Nynorsk <l10n-no@nuug.no>\n"
"Language: nn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 25.08.2\n"
"X-Generator: Lokalize 25.12.3\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
@@ -25,7 +26,7 @@ msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Køyrer med utesta versejon av ytmusicapi %1. Opplever du feil, meld frå om "
"Køyrer med utesta versjon av ytmusicapi %1. Opplever du feil, meld frå om "
"desse til distribusjonen din."
#: contents/ui/AlbumPage.qml:69 contents/ui/LibraryPage.qml:39
@@ -71,8 +72,7 @@ msgid "Share"
msgstr "Del"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Album • %1"
@@ -95,10 +95,7 @@ msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -128,7 +125,7 @@ msgstr "Videoar"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Fleire val"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -189,24 +186,23 @@ msgstr "Endra namn på speleliste"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Utforsk"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Framheva"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Spel som neste"
msgstr "Spel no"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Heim"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -284,7 +280,7 @@ msgstr "Spelelista er framleis tom"
msgid "Import Playlist"
msgstr "Importer speleliste"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -305,86 +301,84 @@ msgstr "Lukk maksimert spelar"
msgid "No media playing"
msgstr "Inkje medium vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Fjern frå favorittar"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Legg til favorittar"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Opna lydstyrke-skuff"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Slå av lyddemping"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Demp lyd"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Gøym songtekst"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Vis songtekst"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Del song"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Legg til i lokal speleliste"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Gøym avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Vis avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Fjern frå favorittar"
msgstr "Fjern song"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Tøm avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Stokk om på avspelingskøen"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Framtidige songar"
@@ -394,8 +388,8 @@ msgstr "Framtidige songar"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 song"
msgstr[1] "%1 songar"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -453,15 +447,13 @@ msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
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»?"
msgstr ""
"Videoavspeling er ikkje støtta enno. Vil du spela av berre lyden til «%1»?"
#: contents/ui/SearchWithDropdown.qml:339
#, kde-format
@@ -473,25 +465,15 @@ msgstr "Ingen samsvarande tidlegare søk"
msgid "Share to"
msgstr "Del til"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopier lenkje"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Lenkje kopiert til utklippstavla"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Heim"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Utforsk"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -523,51 +505,50 @@ msgstr "Fjern frå loggen"
msgid "Add to playlist"
msgstr "Legg til i speleliste"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Straum musikk frå YouTube Music"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE-fellesskapet"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Vedlikehaldar"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designar"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected],[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -578,12 +559,12 @@ msgstr "Uoffisielt API for YouTube Music"
msgid "No description"
msgstr "Inga skildring"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Utan tittel"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Ingen album"
+30 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+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"
@@ -293,7 +293,7 @@ msgstr ""
msgid "Import Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "ਆਡੀਓ-ਟਿਊਬ"
@@ -315,90 +315,90 @@ msgstr ""
msgid "No media playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove from Favorites"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to Favorites"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, fuzzy, kde-format
#| msgid "Add to Playlist"
msgid "Add to a local playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Remove Song"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, fuzzy, kde-format
#| msgid "Clear"
msgid "Clear Queue"
msgstr "ਮਿਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, fuzzy, kde-format
#| msgid "Shuffle"
msgid "Shuffle Queue"
msgstr "ਰਲਵੇਂ"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
@@ -488,16 +488,6 @@ msgstr ""
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -539,51 +529,51 @@ msgstr ""
msgid "Add to playlist"
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
#: main.cpp:90
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "alam yellow @ gmail.com"
#: main.cpp:102
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
@@ -596,12 +586,12 @@ msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱ
msgid "No description"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
+64 -82
View File
@@ -1,22 +1,23 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Łukasz Wojniłowicz <[email protected]>
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2026 Łukasz Wojniłowicz <[email protected]>
# Ignacy Kajdan <[email protected]>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2024-04-13 18:52+0200\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-04-18 14:22+0200\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
"Language-Team: pl\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"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 25.08.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -70,8 +71,7 @@ msgid "Share"
msgstr "Udostępnij"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Album • %1"
@@ -94,10 +94,7 @@ msgid "Artist"
msgstr "Wykonawca"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -129,7 +126,7 @@ msgstr "Filmy"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Więcej ustawień"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -190,30 +187,28 @@ msgstr "Przemianuj listę odtwarzania"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Odkrywaj"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Zbiór wyróżnionych"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Odtwórz następny"
msgstr "Odtwórz teraz"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Strona domowa"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:155 contents/ui/Sidebar.qml:160
#, fuzzy, kde-format
#| msgid "Favourites"
#, kde-format
msgid "Favorites"
msgstr "Ulubione"
@@ -224,8 +219,7 @@ msgid "Show All"
msgstr "Pokaż wszystkie"
#: contents/ui/LibraryPage.qml:160
#, fuzzy, kde-format
#| msgid "No Favourites Yet"
#, kde-format
msgid "No Favorites Yet"
msgstr "Nie ma jeszcze żadnych ulubionych"
@@ -287,7 +281,7 @@ msgstr "Lista odtwarzania nadal jest pusta"
msgid "Import Playlist"
msgstr "Zaimportuj listę odtwarzania"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -308,88 +302,84 @@ msgstr "Zamknij zmaksymalizowany odtwarzacz"
msgid "No media playing"
msgstr "Nic nie jest odtwarzane"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Otwórz szufladę głośności"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Usuń wyciszenie dźwięku"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Wycisz dźwięk"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Ukryj słowa"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Pokaż słowa"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Udostępnij utwór"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj do miejscowej listy odtwarzania"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Ukryj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Pokaż kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favourite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Usuń z ulubionych"
msgstr "Usuń utwór"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Wyczyść kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Wymieszaj kolejkę"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Nadchodzące utwory"
@@ -399,9 +389,9 @@ msgstr "Nadchodzące utwory"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%1 utwór"
msgstr[1] "%1 utwory"
msgstr[2] "%1 utworów"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -459,10 +449,7 @@ msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -481,25 +468,15 @@ msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
msgid "Share to"
msgstr "Udostępnij"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Skopiuj odnośnik"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Skopiowano odnośnik do schowka"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Strona domowa"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Odkrywaj"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -531,51 +508,50 @@ msgstr "Usuń z historii"
msgid "Add to playlist"
msgstr "Dodaj do listy odtwarzania"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Strumieniuj muzykę z Muzyki YouTube"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 Społeczność KDE"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Społeczność KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Opiekun"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Projektant"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -586,16 +562,22 @@ msgstr "Nieoficjalne API do Muzyki YouTube"
msgid "No description"
msgstr "Brak opisu"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nienazwane"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nie ma żadnego albumu"
#~ msgid "Copy Link"
#~ msgstr "Skopiuj odnośnik"
#~ msgid "Link copied to clipboard"
#~ msgstr "Skopiowano odnośnik do schowka"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+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"
@@ -289,7 +289,7 @@ msgstr "Esta lista de reprodução continua vazia"
msgid "Import Playlist"
msgstr "Importar uma Lista de Reprodução"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -310,88 +310,88 @@ msgstr "Fechar o Leitor Maximizado"
msgid "No media playing"
msgstr "Nada em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "Remover dos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "Adicionar aos Favoritos"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir a Área do Volume"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Repor o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Silenciar o Áudio"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Esconder as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar as Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Partilhar a Música"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar a uma lista de reprodução local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Esconder a Fila"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostrar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "Remover o Favorito"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Limpar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Baralhar a Fila"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas Músicas"
@@ -482,16 +482,6 @@ msgstr "Sem pesquisas anteriores correspondentes"
msgid "Share to"
msgstr "Partilhar em"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copiar a Ligação"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ligação copiada para a área de transferência"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -532,52 +522,52 @@ msgstr "Remover do Histórico"
msgid "Add to playlist"
msgstr "Adicionar à lista de reprodução"
#: main.cpp:90
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "API não oficial do YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2023 de Jonah Brüchert, 2021-2023 da Comunidade do KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Manutenção"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Desenhador"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "José Nuno Pires"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, fuzzy, kde-format
#| msgid "Unofficial API for YouTube Music"
msgctxt "YouTube Music is a music streaming service by Google"
@@ -589,16 +579,22 @@ msgstr "API não oficial do YouTube Music"
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Sem título"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Sem álbum"
#~ msgid "Copy Link"
#~ msgstr "Copiar a Ligação"
#~ msgid "Link copied to clipboard"
#~ msgstr "Ligação copiada para a área de transferência"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 09:14-0300\n"
"Last-Translator: Marcus Gama <[email protected]>\n"
"Language-Team: Brazilian Portuguese <[email protected]>\n"
@@ -282,7 +282,7 @@ msgstr "Esta lista de música está vazia"
msgid "Import Playlist"
msgstr "Importar lista de músicas"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -303,84 +303,84 @@ msgstr "Fechar reprodutor maximizado"
msgid "No media playing"
msgstr "Nenhuma mídia em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Remover dos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Adicionar aos favoritos"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Abrir gaveta de volume"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Ativar som"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Desativar som"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Ocultar letras"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Mostrar letras"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Compartilhar música"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Adicionar à lista de músicas local"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Ocultar fila"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Mostrar fila"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Remover música"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Limpar fila"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Embaralhar fila"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Próximas músicas"
@@ -468,16 +468,6 @@ msgstr "Nenhuma pesquisa anterior correspondente"
msgid "Share to"
msgstr "Compartilhar para"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Copiar link"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Link copiado para a área de transferência"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -518,50 +508,50 @@ msgstr "Remover do histórico"
msgid "Add to playlist"
msgstr "Adicionar à lista de músicas"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Transmita música do YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunidade KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Mantenedor"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Luiz Fernando Ranghetti"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -572,16 +562,22 @@ msgstr "API não oficial do YouTube Music"
msgid "No description"
msgstr "Sem descrição"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Nenhuma música"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Nenhum álbum"
#~ msgid "Copy Link"
#~ msgstr "Copiar link"
#~ msgid "Link copied to clipboard"
#~ msgstr "Link copiado para a área de transferência"
#~ msgid "Remove Favorite"
#~ msgstr "Remover favorito"
+38 -42
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: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2026-02-21 14:11+0200\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-10-09 15:24+0200\n"
"Last-Translator: Alexander Yavorskiy <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
"Language: ru\n"
@@ -280,7 +280,7 @@ msgstr "Список воспроизведения всё ещё пуст"
msgid "Import Playlist"
msgstr "Импорт списка воспроизведения"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -301,84 +301,84 @@ msgstr "Закрыть развёрнутый проигрыватель"
msgid "No media playing"
msgstr "Ничего не воспроизводится"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Убрать из избранного"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Добавить в избранное"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Открыть выдвижную панель громкости"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Включить звук"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Отключить звук"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Скрыть текст"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Показать текст"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Опубликовать трек"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Добавить в локальный список воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Скрыть очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Показать очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Удалить песню"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Очистить очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Перемешать очередь воспроизведения"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Следующие треки"
@@ -446,7 +446,7 @@ msgstr "Лучшие результаты"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:24
#, kde-format
msgid "Unknown"
msgstr "Неизвестный тип"
msgstr "Неизвестно"
#: contents/ui/SearchPage.qml:74
#, kde-format
@@ -468,16 +468,6 @@ msgstr "Не найдено соответствующих предыдущих
msgid "Share to"
msgstr "Выбор способа публикации"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Копировать адрес ссылки"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Ссылка скопирована в буфер обмена"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -518,50 +508,50 @@ msgstr "Удалить из журнала"
msgid "Add to playlist"
msgstr "Добавить в список воспроизведения"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Потоковое прослушивание YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© Jonah Brüchert, 2021-2024, сообщество KDE, 2021-2024"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Сопровождающий"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Александр Яворский, Павел Чернышов, Мария Шикунова"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected], [email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -572,16 +562,22 @@ msgstr "Неофициальный API для YouTube Music"
msgid "No description"
msgstr "Описание отсутствует"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Название отсутствует"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Альбом отсутствует"
#~ msgid "Copy Link"
#~ msgstr "Копировать адрес ссылки"
#~ msgid "Link copied to clipboard"
#~ msgstr "Ссылка скопирована в буфер обмена"
#~ msgid "Remove Favorite"
#~ msgstr "Убрать из избранного"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2024-12-24 20:39+0530\n"
"Last-Translator: kali <[email protected]>\n"
"Language-Team: Sanskrit <[email protected]>\n"
@@ -287,7 +287,7 @@ msgstr "इयं प्लेलिस्ट् अद्यापि रिक
msgid "Import Playlist"
msgstr "प्लेलिस्ट आयात करें"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "ऑडियोट्यूब"
@@ -308,88 +308,88 @@ msgstr "अधिकतमं खिलाडी बन्दं कुर्व
msgid "No media playing"
msgstr "न मीडिया वाद्यते"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Remove from Favourites"
msgid "Remove from Favorites"
msgstr "प्रियतः निष्कासयन्तु"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Favourites"
msgid "Add to Favorites"
msgstr "प्रियं योजयतु"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "ओपन वॉल्यूम दराज"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "असन्तुष्टि श्रव्य"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "म्यूट ऑडियो"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, fuzzy, kde-format
#| msgid "%1%"
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1% "
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "गीतं गोपयतु"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "गीतं दर्शयतु"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "शेयर गीत"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "स्थानीयप्लेलिस्ट् मध्ये योजयन्तु"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "कतारं गोपयतु"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "कतारं दर्शयतु"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, fuzzy, kde-format
#| msgid "Remove Favourite"
msgid "Remove Song"
msgstr "प्रियं निष्कासयन्तु"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "कतारं स्वच्छं कुर्वन्तु"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "शफल कतार"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "आगामी गीत"
@@ -479,16 +479,6 @@ msgstr "पूर्वसन्धानस्य मेलनं नास्
msgid "Share to"
msgstr "Share to"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "प्रतिलिपि लिङ्क"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "लिङ्क् क्लिप्बोर्ड् प्रति प्रतिलिपितः"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -529,51 +519,51 @@ msgstr "इतिहासात् निष्कासयन्तु"
msgid "Add to playlist"
msgstr "प्लेलिस्ट् मध्ये योजयन्तु"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Music इत्यस्मात् संगीतं प्रवाहयन्तु"
#: main.cpp:92
#: main.cpp:56
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 जोनाह ब्रुचेर्ट, 2021-2024 केडीई समुदाय"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "जोनाह ब्रुचेर्ट"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "परिपालकः"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "माथिस ब्रुचेर्ट"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "डिजाइनर"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "श्रीकान्त् कलवार्"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -584,16 +574,22 @@ msgstr "YouTube Music कृते अनधिकृतः एपिआइ"
msgid "No description"
msgstr "न वर्णनम्"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "न उपाधिः"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "एल्बम् नास्ति"
#~ msgid "Copy Link"
#~ msgstr "प्रतिलिपि लिङ्क"
#~ msgid "Link copied to clipboard"
#~ msgstr "लिङ्क् क्लिप्बोर्ड् प्रति प्रतिलिपितः"
#, fuzzy
#~| msgid "Remove Favourite"
#~ msgid "Remove Favorite"
+149 -182
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+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"
@@ -12,8 +12,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 21.12.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Lokalize 21.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -21,6 +21,8 @@ msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
"Beh s netestovanou verziou ytmusicapi %1. Ak narazíte na chyby, nahláste ich "
"vašej distribúcii."
#: contents/ui/AlbumPage.qml:69 contents/ui/LibraryPage.qml:39
#: contents/ui/LibraryPage.qml:65 contents/ui/LibraryPage.qml:91
@@ -50,32 +52,32 @@ msgstr "Zamiešať"
#: contents/ui/PlaybackHistory.qml:117 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
msgstr "Pridať do fronty"
#: contents/ui/AlbumPage.qml:92 contents/ui/ArtistPage.qml:90
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
msgstr "Otvoriť v prehliadači"
#: contents/ui/AlbumPage.qml:98 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr ""
msgstr "Zdieľať"
#: contents/ui/AlbumPage.qml:109
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:166 contents/ui/ArtistPage.qml:200
#: contents/ui/LocalPlaylistPage.qml:167 contents/ui/PlaybackHistory.qml:198
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:149
#, kde-format
msgid "More"
msgstr ""
msgstr "Viac"
#: contents/ui/ArtistPage.qml:76
#, kde-format
@@ -83,10 +85,9 @@ msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:104
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Interpreti"
msgstr "Výtvarník"
#: contents/ui/ArtistPage.qml:128
#, kde-format
@@ -95,6 +96,7 @@ msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"“%1”?"
msgstr ""
"Prehrávanie videa zatiaľ nie je podporované. Chcete prehrať iba zvuk „%1“?"
#: contents/ui/ArtistPage.qml:147 contents/ui/SearchPage.qml:28
#, kde-format
@@ -109,7 +111,7 @@ msgstr "Samotné"
#: contents/ui/ArtistPage.qml:151 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr ""
msgstr "Skladby"
#: contents/ui/ArtistPage.qml:153 contents/ui/SearchPage.qml:36
#, kde-format
@@ -119,7 +121,7 @@ msgstr "Videá"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Viac možností"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -132,117 +134,106 @@ msgid "Cancel"
msgstr "Zrušiť"
#: contents/ui/dialogs/AddPlaylistDialog.qml:15
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add playlist"
msgstr "Pridať do zoznamu skladieb"
msgstr "Pridať playlist"
#: contents/ui/dialogs/AddPlaylistDialog.qml:21
#: contents/ui/dialogs/RenamePlaylistDialog.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Title"
msgstr "Zoznamy skladieb"
msgstr "Názov playlistu"
#: contents/ui/dialogs/AddPlaylistDialog.qml:26
#: contents/ui/dialogs/RenamePlaylistDialog.qml:28
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist Description"
msgstr "Zoznamy skladieb"
msgstr "Popis playlistu"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:15
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Import playlist"
msgstr "Pridať do zoznamu skladieb"
msgstr "Importovať playlist"
#: contents/ui/dialogs/ImportPlaylistDialog.qml:21
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr "Zoznamy skladieb"
msgstr "URL playlistu (Youtube)"
#: contents/ui/dialogs/PlaylistDialog.qml:15
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add Song to Playlist"
msgstr "Pridať do zoznamu skladieb"
msgstr "Pridať skladbu do playlistu"
#: contents/ui/dialogs/PlaylistDialog.qml:27
#: contents/ui/LocalPlaylistsPage.qml:105
#: contents/ui/LocalPlaylistsPage.qml:131
#: contents/ui/LocalPlaylistsPage.qml:149
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "New Playlist"
msgstr "Zoznamy skladieb"
msgstr "Nový playlist"
#: contents/ui/dialogs/RenamePlaylistDialog.qml:16
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Rename playlist"
msgstr "Zoznamy skladieb"
msgstr "Premenovať playlist"
#: contents/ui/ExplorePage.qml:21
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Preskúmať"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Odporúčaný výber"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play"
#, kde-format
msgid "Play Now"
msgstr "Prehrať"
msgstr "Play Now"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Domov"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:155 contents/ui/Sidebar.qml:160
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Favorites"
msgstr "Pridať do zoznamu skladieb"
msgstr "Obľúbené"
#: contents/ui/LibraryPage.qml:130 contents/ui/LibraryPage.qml:323
#: contents/ui/LibraryPage.qml:426
#, kde-format
msgid "Show All"
msgstr ""
msgstr "Zobraziť všetko"
#: contents/ui/LibraryPage.qml:160
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No Favorites Yet"
msgstr "Zoznamy skladieb"
msgstr "Zatiaľ žiadne obľúbené"
#: contents/ui/LibraryPage.qml:229
#, kde-format
msgid "Most played"
msgstr ""
msgstr "Najhranejšie"
#: contents/ui/LibraryPage.qml:328 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:192
#: contents/ui/Sidebar.qml:197
#, kde-format
msgid "Played Songs"
msgstr ""
msgstr "Prehrané skladby"
#: contents/ui/LibraryPage.qml:354
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
msgstr "Zatiaľ neboli prehrané žiadne skladby"
#: contents/ui/LibraryPage.qml:414 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:82 contents/ui/NavigationBar.qml:74
@@ -252,57 +243,53 @@ msgid "Playlists"
msgstr "Zoznamy skladieb"
#: contents/ui/LibraryPage.qml:453
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No Playlists Yet"
msgstr "Zoznamy skladieb"
msgstr "Zatiaľ žiadne playlisty"
#: contents/ui/LibraryPage.qml:476 contents/ui/LibraryPage.qml:498
#: contents/ui/LocalPlaylistsPage.qml:36 contents/ui/LocalPlaylistsPage.qml:58
#, kde-format
msgid "Rename"
msgstr ""
msgstr "Premenovať"
#: contents/ui/LibraryPage.qml:485 contents/ui/LibraryPage.qml:506
#: contents/ui/LocalPlaylistsPage.qml:45 contents/ui/LocalPlaylistsPage.qml:66
#, kde-format
msgid "Delete"
msgstr ""
msgstr "Vymazať zoznam"
#: contents/ui/LocalPlaylistPage.qml:22
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Remove from Playlist"
msgstr "Zoznamy skladieb"
msgstr "Odstrániť zo zoznamu skladieb"
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
msgstr "Tento playlist je stále prázdny"
#: contents/ui/LocalPlaylistsPage.qml:113
#: contents/ui/LocalPlaylistsPage.qml:136
#: contents/ui/LocalPlaylistsPage.qml:154 contents/ui/PlaylistPage.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Import Playlist"
msgstr "Zoznamy skladieb"
msgstr "Importovať playlist"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/Main.qml:311
#, fuzzy, kde-format
#| msgid "No media playing"
#, kde-format
msgid "No song playing"
msgstr "Neprehráva sa žiadne médium"
msgstr "Nenahráva sa žiadna skladba"
#: contents/ui/MaximizedPlayerPage.qml:105
#, kde-format
msgid "Close Maximized Player"
msgstr ""
msgstr "Zavrieť maximalizovaný prehrávač"
#: contents/ui/MaximizedPlayerPage.qml:279
#: contents/ui/MinimizedPlayerControls.qml:112
@@ -310,107 +297,101 @@ msgstr ""
msgid "No media playing"
msgstr "Neprehráva sa žiadne médium"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Zoznamy skladieb"
msgstr "Odstrániť z obľúbených"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Pridať do zoznamu skladieb"
msgstr "Pridať do obľúbených"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
msgstr "Otvoriť ovládač hlasitosti"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
msgstr "Zapnúť zvuk"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
msgstr "Stlmiť zvuk"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
msgstr "Skryť text piesne"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
msgstr "Zobraziť text piesne"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
msgstr "Zdieľať skladbu"
#: contents/ui/MaximizedPlayerPage.qml:800
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Pridať do zoznamu skladieb"
msgstr "Pridať do lokálneho playlistu"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
msgstr "Skryť frontu"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
msgstr "Zobraziť frontu"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Playlists"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Zoznamy skladieb"
msgstr "Odstrániť skladbu"
#: contents/ui/MaximizedPlayerPage.qml:1104
#, fuzzy, kde-format
#| msgid "Clear"
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Vyčistiť"
msgstr "Vyčistiť frontu"
#: contents/ui/MaximizedPlayerPage.qml:1129
#, fuzzy, kde-format
#| msgid "Shuffle"
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Zamiešať"
msgstr "Zamiešať frontu"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
msgstr "Nasledujúce skladby"
#: contents/ui/MoodPage.qml:54
#, kde-format
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%1 skladba"
msgstr[1] "%1 skladby"
msgstr[2] "%1 skladieb"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
msgid "Library"
msgstr ""
msgstr "Knižnica"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:136
#, kde-format
@@ -420,33 +401,32 @@ msgstr "Hľadať"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
msgid "Unknown list of songs"
msgstr ""
msgstr "Neznámy zoznam skladieb"
#: contents/ui/PlaybackHistory.qml:138
#, kde-format
msgid "No songs here yet"
msgstr ""
msgstr "Zatiaľ tu nie sú žiadne skladby"
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
msgstr "Playlist bol úspešne importovaný"
#: contents/ui/PlaylistPage.qml:128
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Zoznamy skladieb"
msgstr "Zoznam skladieb"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:393
#, kde-format
msgid "remove from search history"
msgstr ""
msgstr "odstrániť z histórie hľadania"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
msgstr "Predchádzajúce hľadania:"
#: contents/ui/SearchPage.qml:30
#, kde-format
@@ -456,7 +436,7 @@ msgstr "Interpreti"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
msgstr "Najlepšie výsledky"
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:24
#, kde-format
@@ -470,171 +450,158 @@ msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
"Prehrávanie videa zatiaľ nie je podporované. Chcete prehrávať iba zvuk z "
"„%1\"?"
#: contents/ui/SearchWithDropdown.qml:339
#, kde-format
msgid "No matching previous searches"
msgstr ""
msgstr "Žiadne zodpovedajúce predchádzajúce hľadania"
#: contents/ui/ShareMenu.qml:41
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr ""
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr ""
msgstr "Zdieľať do"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Domov"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Preskúmať"
#: contents/ui/Sidebar.qml:233
#, kde-format
msgid "About"
msgstr ""
msgstr "O aplikácii"
#: contents/ui/Sidebar.qml:247
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
msgstr "Zbaliť bočný panel"
#: contents/ui/SongMenu.qml:88
#, fuzzy, kde-format
#| msgid "Play"
#, kde-format
msgid "Play Next"
msgstr "Prehrať"
msgstr "Play Next"
#: contents/ui/SongMenu.qml:97
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "Pridať do fronty"
#: contents/ui/SongMenu.qml:120
#, kde-format
msgid "Remove from History"
msgstr ""
msgstr "Odstrániť z histórie"
#: contents/ui/SongMenu.qml:130
#, fuzzy, kde-format
#| msgid "Add to Playlist"
#, kde-format
msgid "Add to playlist"
msgstr "Pridať do zoznamu skladieb"
msgstr "Pridať do playlistu"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
msgstr "Streamovanie hudby zo služby YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE komunita"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr ""
msgstr "Správca"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
msgstr "Návrhár"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Roman Paholík"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
msgstr "Neoficiálne API pre YouTube Music"
#: playlistimporter.cpp:24
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "No description"
msgstr "Zoznamy skladieb"
msgstr "Žiadny popis"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr ""
msgstr "Žiadny názov"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
msgstr "Bez albumu"
#~ msgid "Copy Link"
#~ msgstr "Kopírovať odkaz"
#~ msgid "Link copied to clipboard"
#~ msgstr "Odkaz bol skopírovaný do schránky"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Remove Favorite"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Add to Playlist"
#~ msgid "Add Favorite"
#~ msgstr "Pridať do zoznamu skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from Url"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlist from File"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Export Playlist"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Import Playlists"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "Playlists"
#~ msgid "Clear Playlist"
#~ msgstr "Zoznamy skladieb"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "Neprehráva sa žiadne médium"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 07:39+0100\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
@@ -278,7 +278,7 @@ msgstr "Ta seznam predvajanja je še prazen"
msgid "Import Playlist"
msgstr "Uvozi seznam predvajanja"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -299,84 +299,84 @@ msgstr "Zapri maksimiziran predvajalnik"
msgid "No media playing"
msgstr "Nič se ne predvaja"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Odpri predal glasnosti"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Povrni zvok"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Utišaj"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Skrij besedila"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Prikazuj besedila"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Deli pesem"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Dodaj v lokalni seznam predvajanja"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Skrij čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Prikazuj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Odstrani pesem"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Počisti čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Premešaj čakalno vrsto"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Prihajajoče pesmi"
@@ -464,16 +464,6 @@ msgstr "Ni zadetkov iz prejšnjih iskanj"
msgid "Share to"
msgstr "Deli z"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopiraj povezavo"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Povezava skopirana na odložišče"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -514,50 +504,50 @@ msgstr "Odstrani iz zgodovine"
msgid "Add to playlist"
msgstr "Dodaj v seznam predvajanja"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Pretočna glasba iz storitve YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 Skupnost KDE"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Vzdrževalec"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Oblikovalec"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Matjaž Jeran"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -568,16 +558,22 @@ msgstr "Neuradni API za Youtube Music"
msgid "No description"
msgstr "Ni opisa"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Ni naslova"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Ni albuma"
#~ msgid "Copy Link"
#~ msgstr "Kopiraj povezavo"
#~ msgid "Link copied to clipboard"
#~ msgstr "Povezava skopirana na odložišče"
#~ msgid "Remove Favorite"
#~ msgstr "Odstrani priljubljeno"
+58 -73
View File
@@ -1,13 +1,13 @@
# Copyright (C) 2024 This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Stefan Asserhäll <[email protected]>
# SPDX-FileCopyrightText: 2021-2026 Stefan Asserhäll <[email protected]>
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2025-10-06 20:51+0200\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-07-05 17:17+0200\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
"Language: sv\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 25.08.1\n"
"X-Generator: Lokalize 26.04.2\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -69,8 +69,7 @@ msgid "Share"
msgstr "Dela"
#: contents/ui/AlbumPage.qml:109
#, fuzzy, kde-format
#| msgid "Album • %1"
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr "Album • %1"
@@ -93,15 +92,12 @@ msgid "Artist"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:128
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
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\"?"
msgstr "Videouppspelning stöds inte ännu. Vill du bara spela ljudet på “%1”?"
#: contents/ui/ArtistPage.qml:147 contents/ui/SearchPage.qml:28
#, kde-format
@@ -126,7 +122,7 @@ msgstr "Videor"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr ""
msgstr "Fler alternativ"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
@@ -187,24 +183,23 @@ msgstr "Byt namn på spellista"
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
msgstr "Utforska"
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
msgstr "Presenterad"
#: contents/ui/HeroCard.qml:167
#, fuzzy, kde-format
#| msgid "Play Next"
#, kde-format
msgid "Play Now"
msgstr "Spela nästa"
msgstr "Spela nu"
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr ""
msgstr "Hem"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
@@ -282,7 +277,7 @@ msgstr "Spellistan är fortfarande tom"
msgid "Import Playlist"
msgstr "Importera spellista"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -303,86 +298,84 @@ msgstr "Stäng maximerad spelare"
msgid "No media playing"
msgstr "Inga media spelar"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Ta bort från favoriter"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Lägg till i favoriter"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Öppna volymlåda"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Ljud på"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Tysta ljud"
#: contents/ui/MaximizedPlayerPage.qml:709
#, fuzzy, kde-format
#| msgid "%1%"
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Dölj Sångtext"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Visa sångtext"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Dela låt"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Lägg till i lokal spellista"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Dölj kö"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Visa kö"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#, fuzzy, kde-format
#| msgid "Remove Favorite"
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Ta bort favorit"
msgstr "Ta bort låt"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Rensa kö"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Blanda kö"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Kommande låtar"
@@ -392,8 +385,8 @@ msgstr "Kommande låtar"
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%1 låt"
msgstr[1] "%1 låtar"
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
@@ -451,10 +444,7 @@ msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchPage.qml:74
#, fuzzy, kde-format
#| msgid ""
#| "Video playback is not supported yet. Do you want to play only the audio "
#| "of \"%1\"?"
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -471,25 +461,15 @@ msgstr "Inga matchande tidigare sökningar"
msgid "Share to"
msgstr "Dela med"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Kopiera länk"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Länk kopierad till klippbordet"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr ""
msgstr "Hem"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
msgstr "Utforska"
#: contents/ui/Sidebar.qml:233
#, kde-format
@@ -521,51 +501,50 @@ msgstr "Ta bort från historik"
msgid "Add to playlist"
msgstr "Lägg till i spellista"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Strömma musik från YouTube musik"
#: main.cpp:92
#, fuzzy, kde-format
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE-gemenskapen"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE-gemenskapen"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Underhåll"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Stefan Asserhäll"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -576,16 +555,22 @@ msgstr "Inofficiellt programmeringsgränssnitt för YouTube musik"
msgid "No description"
msgstr "Ingen beskrivning"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Namnlös"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Inget album"
#~ msgid "Copy Link"
#~ msgstr "Kopiera länk"
#~ msgid "Link copied to clipboard"
#~ msgstr "Länk kopierad till klippbordet"
#~ msgid "Remove Favorite"
#~ msgstr "Ta bort favorit"
+39 -43
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: 2026-02-20 00:44+0000\n"
"PO-Revision-Date: 2026-02-20 15:25+0300\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-05-02 19:10+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 25.12.2\n"
"X-Generator: Lokalize 25.12.3\n"
#: asyncytmusic.cpp:65
#, kde-format
@@ -279,7 +279,7 @@ msgstr "Bu çalma listesi hâlâ boş"
msgid "Import Playlist"
msgstr "Çalma Listesi İçe Aktar"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "Büyütülmüş Çaları Kapat"
msgid "No media playing"
msgstr "Ortam çalmıyor"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Favorilerden Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Favorilere Ekle"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Ses Düzeyi Çekmecesini Aç"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Sesi Aç"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Sesi Kapat"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%​%1"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Şarkı Sözlerini Gizle"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Şarkı Sözlerini Göster"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Şarkıyı Paylaş"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Yerel bir çalma listesine ekle"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Kuyruğu Gizle"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Kuyruğu Göster"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Şarkıyı Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Kuyruğu Temizle"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Kuyruğu Karıştır"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Sıradaki Şarkılar"
@@ -465,16 +465,6 @@ msgstr "Daha önceden yapılmış eşleşen arama yok"
msgid "Share to"
msgstr "Paylaşılacak konum"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Bağlantıyı Kopyala"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Bağlantı panoya kopyalandı"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -515,70 +505,76 @@ msgstr "Geçmişten Kaldır"
msgid "Add to playlist"
msgstr "Çalma listesine ekle"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "YouTube Müzik’ten müzik çal"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2026 KDE Topluluğu"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Bakımcı"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Tasarımcı"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Emir SARI"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Müzik için resmi olmayan API"
msgstr "YouTube Müzik için resmî olmayan API"
#: playlistimporter.cpp:24
#, kde-format
msgid "No description"
msgstr "Açıklama yok"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Başlık yok"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Albüm yok"
#~ msgid "Copy Link"
#~ msgstr "Bağlantıyı Kopyala"
#~ msgid "Link copied to clipboard"
#~ msgstr "Bağlantı panoya kopyalandı"
#~ msgid "Remove Favorite"
#~ msgstr "Favoriyi Kaldır"
+567
View File
@@ -0,0 +1,567 @@
# Uyghur translation for audiotube.
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Abduqadir Abliz <[email protected]>, 2026., YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-09-23 06:56+0900\n"
"Last-Translator: Abduqadir Abliz <[email protected]>\n"
"Language-Team: Uyghur <[email protected]>\n"
"Language: ug\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.9\n"
#: asyncytmusic.cpp:65
#, kde-format
msgid ""
"Running with untested version of ytmusicapi %1. If you experience errors, "
"please report them to your distribution."
msgstr ""
#: contents/ui/AlbumPage.qml:69 contents/ui/LibraryPage.qml:39
#: contents/ui/LibraryPage.qml:65 contents/ui/LibraryPage.qml:91
#: contents/ui/LibraryPage.qml:236 contents/ui/LibraryPage.qml:262
#: contents/ui/LibraryPage.qml:286 contents/ui/LocalPlaylistPage.qml:71
#: contents/ui/LocalPlaylistPage.qml:92 contents/ui/PlaybackHistory.qml:65
#: contents/ui/PlaybackHistory.qml:92 contents/ui/PlaylistPage.qml:66
#: contents/ui/PlaylistPage.qml:87
#, kde-format
msgid "Play"
msgstr "ياڭرات"
#: contents/ui/AlbumPage.qml:77 contents/ui/ArtistPage.qml:82
#: contents/ui/LibraryPage.qml:46 contents/ui/LibraryPage.qml:71
#: contents/ui/LibraryPage.qml:101 contents/ui/LibraryPage.qml:243
#: contents/ui/LibraryPage.qml:268 contents/ui/LibraryPage.qml:295
#: contents/ui/LocalPlaylistPage.qml:66 contents/ui/LocalPlaylistPage.qml:98
#: contents/ui/PlaybackHistory.qml:53 contents/ui/PlaybackHistory.qml:105
#: contents/ui/PlaylistPage.qml:59 contents/ui/PlaylistPage.qml:94
#, kde-format
msgid "Shuffle"
msgstr "تەرتىپسىز"
#: contents/ui/AlbumPage.qml:86 contents/ui/LibraryPage.qml:76
#: contents/ui/LibraryPage.qml:111 contents/ui/LibraryPage.qml:273
#: contents/ui/LibraryPage.qml:303 contents/ui/LocalPlaylistPage.qml:103
#: contents/ui/PlaybackHistory.qml:117 contents/ui/PlaylistPage.qml:102
#, kde-format
msgid "Append to queue"
msgstr ""
#: contents/ui/AlbumPage.qml:92 contents/ui/ArtistPage.qml:90
#: contents/ui/PlaylistPage.qml:112
#, kde-format
msgid "Open in Browser"
msgstr ""
#: contents/ui/AlbumPage.qml:98 contents/ui/ArtistPage.qml:95
#: contents/ui/PlaylistPage.qml:117
#, kde-format
msgid "Share"
msgstr "ھەمبەھىر"
#: contents/ui/AlbumPage.qml:109
#, kde-format
msgctxt "%1 is the artist(s) featured in the album"
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:166 contents/ui/ArtistPage.qml:200
#: contents/ui/LocalPlaylistPage.qml:167 contents/ui/PlaybackHistory.qml:198
#: contents/ui/PlaylistPage.qml:189 contents/ui/SearchPage.qml:149
#, kde-format
msgid "More"
msgstr "تېخىمۇ كۆپ"
#: contents/ui/ArtistPage.qml:76
#, kde-format
msgid "Radio"
msgstr "رادىيو"
#: contents/ui/ArtistPage.qml:104
#, kde-format
msgid "Artist"
msgstr "ئورۇنلىغۇچى"
#: contents/ui/ArtistPage.qml:128
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"“%1”?"
msgstr ""
#: contents/ui/ArtistPage.qml:147 contents/ui/SearchPage.qml:28
#, kde-format
msgid "Albums"
msgstr "سۈرەتدان"
#: contents/ui/ArtistPage.qml:149
#, kde-format
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:151 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:153 contents/ui/SearchPage.qml:36
#, kde-format
msgid "Videos"
msgstr "سىن"
#: contents/ui/BentoCard.qml:158
#, kde-format
msgid "More options"
msgstr "تېخىمۇ كۆپ تاللانما"
#: contents/ui/ConfirmationMessage.qml:16
#, kde-format
msgid "OK"
msgstr "جەزملە"
#: contents/ui/ConfirmationMessage.qml:21
#, kde-format
msgid "Cancel"
msgstr "ۋاز كەچ"
#: contents/ui/dialogs/AddPlaylistDialog.qml:15
#, kde-format
msgid "Add playlist"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:21
#: contents/ui/dialogs/RenamePlaylistDialog.qml:22
#, kde-format
msgid "Playlist Title"
msgstr ""
#: contents/ui/dialogs/AddPlaylistDialog.qml:26
#: contents/ui/dialogs/RenamePlaylistDialog.qml:28
#, kde-format
msgid "Playlist Description"
msgstr ""
#: contents/ui/dialogs/ImportPlaylistDialog.qml:15
#, kde-format
msgid "Import playlist"
msgstr ""
#: contents/ui/dialogs/ImportPlaylistDialog.qml:21
#, kde-format
msgid "Playlist URL (Youtube)"
msgstr ""
#: contents/ui/dialogs/PlaylistDialog.qml:15
#, kde-format
msgid "Add Song to Playlist"
msgstr ""
#: contents/ui/dialogs/PlaylistDialog.qml:27
#: contents/ui/LocalPlaylistsPage.qml:105
#: contents/ui/LocalPlaylistsPage.qml:131
#: contents/ui/LocalPlaylistsPage.qml:149
#, kde-format
msgid "New Playlist"
msgstr ""
#: contents/ui/dialogs/RenamePlaylistDialog.qml:16
#, kde-format
msgid "Rename playlist"
msgstr ""
#: contents/ui/ExplorePage.qml:21
#, kde-format
msgctxt "@title:window"
msgid "Explore"
msgstr ""
#: contents/ui/HeroCard.qml:128
#, kde-format
msgid "Featured Pick"
msgstr ""
#: contents/ui/HeroCard.qml:167
#, kde-format
msgid "Play Now"
msgstr ""
#: contents/ui/HomePage.qml:18
#, kde-format
msgctxt "@title:window"
msgid "Home"
msgstr "باش بەت"
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
#: contents/ui/Sidebar.qml:155 contents/ui/Sidebar.qml:160
#, kde-format
msgid "Favorites"
msgstr "يىغقۇچ"
#: contents/ui/LibraryPage.qml:130 contents/ui/LibraryPage.qml:323
#: contents/ui/LibraryPage.qml:426
#, kde-format
msgid "Show All"
msgstr "ھەممىنى كۆرسەت"
#: contents/ui/LibraryPage.qml:160
#, kde-format
msgid "No Favorites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:229
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:328 contents/ui/NavigationBar.qml:60
#: contents/ui/NavigationBar.qml:66 contents/ui/Sidebar.qml:192
#: contents/ui/Sidebar.qml:197
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/LibraryPage.qml:354
#, kde-format
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:414 contents/ui/LocalPlaylistsPage.qml:18
#: contents/ui/LocalPlaylistsPage.qml:82 contents/ui/NavigationBar.qml:74
#: contents/ui/SearchPage.qml:32 contents/ui/Sidebar.qml:212
#, kde-format
msgid "Playlists"
msgstr "قويۇش تىزىمى"
#: contents/ui/LibraryPage.qml:453
#, kde-format
msgid "No Playlists Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:476 contents/ui/LibraryPage.qml:498
#: contents/ui/LocalPlaylistsPage.qml:36 contents/ui/LocalPlaylistsPage.qml:58
#, kde-format
msgid "Rename"
msgstr "ئات ئۆزگەرت"
#: contents/ui/LibraryPage.qml:485 contents/ui/LibraryPage.qml:506
#: contents/ui/LocalPlaylistsPage.qml:45 contents/ui/LocalPlaylistsPage.qml:66
#, kde-format
msgid "Delete"
msgstr "ئۆچۈر"
#: contents/ui/LocalPlaylistPage.qml:22
#, kde-format
msgid "Remove from Playlist"
msgstr ""
#: contents/ui/LocalPlaylistPage.qml:79
#, kde-format
msgid "This playlist is still empty"
msgstr ""
#: contents/ui/LocalPlaylistsPage.qml:113
#: contents/ui/LocalPlaylistsPage.qml:136
#: contents/ui/LocalPlaylistsPage.qml:154 contents/ui/PlaylistPage.qml:107
#, kde-format
msgid "Import Playlist"
msgstr ""
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/Main.qml:311
#, kde-format
msgid "No song playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:105
#, kde-format
msgid "Close Maximized Player"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:279
#: contents/ui/MinimizedPlayerControls.qml:112
#, kde-format
msgid "No media playing"
msgstr "ھېچقانداق ۋاسىتە ياڭرىمايۋاتىدۇ"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "يىغقۇچتىن چىقىرىۋەت"
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "يىغقۇچقا قوش"
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "قاتارىنى تازىلاش"
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr ""
#: contents/ui/MoodPage.qml:54
#, kde-format
msgctxt "song count"
msgid "%1 song"
msgid_plural "%1 songs"
msgstr[0] ""
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:136
#, kde-format
msgid "Search"
msgstr "ئىزدە"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
msgid "Unknown list of songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:138
#, kde-format
msgid "No songs here yet"
msgstr ""
#: contents/ui/PlaylistPage.qml:76
#, kde-format
msgid "Playlist successfully imported"
msgstr ""
#: contents/ui/PlaylistPage.qml:128
#, kde-format
msgid "Playlist"
msgstr "قويۇش تىزىمى"
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:393
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Artists"
msgstr "سەنئەتكار"
#: contents/ui/SearchPage.qml:38
#, kde-format
msgid "Top Results"
msgstr ""
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:24
#, kde-format
msgid "Unknown"
msgstr "يوچۇن"
#: contents/ui/SearchPage.qml:74
#, kde-format
msgctxt "%1 is a video title"
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/SearchWithDropdown.qml:339
#, kde-format
msgid "No matching previous searches"
msgstr ""
#: contents/ui/ShareMenu.qml:41
#, kde-format
msgid "Share to"
msgstr ""
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
msgstr "باش بەت"
#: contents/ui/Sidebar.qml:176
#, kde-format
msgid "Explore"
msgstr ""
#: contents/ui/Sidebar.qml:233
#, kde-format
msgid "About"
msgstr "ھەققىدە"
#: contents/ui/Sidebar.qml:247
#, kde-format
msgid "Collapse Sidebar"
msgstr "يان بالداقنى يىغ"
#: contents/ui/SongMenu.qml:88
#, kde-format
msgid "Play Next"
msgstr ""
#: contents/ui/SongMenu.qml:97
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:120
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:130
#, kde-format
msgid "Add to playlist"
msgstr ""
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr ""
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr ""
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "ئاسرىغۇچى"
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ئابدۇقادىر ئابلىز، غەيرەت كەنجى"
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
msgstr ""
#: playlistimporter.cpp:24
#, kde-format
msgid "No description"
msgstr "چۈشەندۈرۈش يوق"
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "ماۋزۇ يوق"
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr ""
#~ msgid "Copy Link"
#~ msgstr "ئۇلانما كۆچۈر"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-02-20 08:44+0200\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
@@ -280,7 +280,7 @@ msgstr "Цей список відтворення все ще порожній"
msgid "Import Playlist"
msgstr "Імпортувати список відтворення"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -301,84 +301,84 @@ msgstr "Закрити максимізований програвач"
msgid "No media playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "Вилучити з улюблених"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "Додати до улюбленого"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "Відкрити висувну панель гучності"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "Увімкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "Вимкнути звук"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "Приховати текст"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "Показати текст"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "Оприлюднити композицію"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "Додати до локального списку відтворення"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "Приховати чергу"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "Показати чергу"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "Вилучити композицію"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "Спорожнити чергу"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "Перемішати чергу"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "Майбутні композиції"
@@ -468,16 +468,6 @@ msgstr "Немає відповідних попередніх пошуків"
msgid "Share to"
msgstr "Оприлюднити"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "Копіювати посилання"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "Посилання скопійовано до буфера обміну"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -518,50 +508,50 @@ msgstr "Вилучити із журналу"
msgid "Add to playlist"
msgstr "Додати до списку відтворення"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "Трансляція музики з YouTube Music"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© Jonah Brüchert, 2021–2024; KDE Community,2021–2024"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "Супровідник"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Юрій Чорноіван"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -572,16 +562,22 @@ msgstr "Неофіційний програмний інтерфейс до YouT
msgid "No description"
msgstr "Без опису"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "Без заголовка"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "Без альбому"
#~ msgid "Copy Link"
#~ msgstr "Копіювати посилання"
#~ msgid "Link copied to clipboard"
#~ msgstr "Посилання скопійовано до буфера обміну"
#~ msgid "Remove Favorite"
#~ msgstr "Вилучити з улюблених"
+36 -40
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2024-04-22 15:58\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -276,7 +276,7 @@ msgstr "此播放列表未包含歌曲"
msgid "Import Playlist"
msgstr "导入播放列表"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -297,84 +297,84 @@ msgstr "关闭最大化播放器"
msgid "No media playing"
msgstr "没有正在播放的媒体"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "从收藏夹中移除"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "添加到收藏夹"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "打开音量控制器"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "取消静音"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "静音"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "隐藏歌词"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "显示歌词"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "分享歌曲"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "添加到本地播放列表"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "隐藏队列"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "显示队列"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "移除歌曲"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "清空队列"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "随机队列"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "即将播放的歌曲"
@@ -459,16 +459,6 @@ msgstr "没有匹配的历史搜索"
msgid "Share to"
msgstr "分享到"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "复制链接"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "链接已复制到剪贴板"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -509,50 +499,50 @@ msgstr "从历史记录中删除"
msgid "Add to playlist"
msgstr "添加到播放列表"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "从 YouTube Music 串流播放音乐"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "维护人员"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "设计师"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Qi Binye, Tyson Tan"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -563,12 +553,18 @@ msgstr "YouTube Music 的非官方 API"
msgid "No description"
msgstr "无描述"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "无标题"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "无专辑"
#~ msgid "Copy Link"
#~ msgstr "复制链接"
#~ msgid "Link copied to clipboard"
#~ msgstr "链接已复制到剪贴板"
+36 -40
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: 2026-02-20 00:44+0000\n"
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
"PO-Revision-Date: 2026-03-02 04:56+0900\n"
"Last-Translator: Kisaragi Hiu <[email protected]>\n"
"Language-Team: Traditional Chinese <[email protected]>\n"
@@ -279,7 +279,7 @@ msgstr "尚未加入歌曲到此播放清單"
msgid "Import Playlist"
msgstr "匯入播放清單"
#: contents/ui/Main.qml:160 main.cpp:88
#: contents/ui/Main.qml:160 main.cpp:52
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
@@ -300,84 +300,84 @@ msgstr "關閉最大化播放器"
msgid "No media playing"
msgstr "沒有播放任何媒體"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Remove from Favorites"
msgstr "從最愛中移除"
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
#, kde-format
msgid "Add to Favorites"
msgstr "加入最愛"
#: contents/ui/MaximizedPlayerPage.qml:563
#: contents/ui/MaximizedPlayerPage.qml:578
#, kde-format
msgid "Open Volume Drawer"
msgstr "開啟音量側邊欄"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Unmute Audio"
msgstr "取消靜音"
#: contents/ui/MaximizedPlayerPage.qml:670
#: contents/ui/MaximizedPlayerPage.qml:685
#, kde-format
msgid "Mute Audio"
msgstr "靜音"
#: contents/ui/MaximizedPlayerPage.qml:709
#: contents/ui/MaximizedPlayerPage.qml:724
#, kde-format
msgctxt "%1 is the audio volume in percent"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Hide Lyrics"
msgstr "隱藏歌詞"
#: contents/ui/MaximizedPlayerPage.qml:739
#: contents/ui/MaximizedPlayerPage.qml:754
#, kde-format
msgid "Show Lyrics"
msgstr "顯示歌詞"
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
#, kde-format
msgid "Share Song"
msgstr "分享歌曲"
#: contents/ui/MaximizedPlayerPage.qml:800
#: contents/ui/MaximizedPlayerPage.qml:815
#, kde-format
msgid "Add to a local playlist"
msgstr "加入至本地播放清單"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Hide Queue"
msgstr "隱藏待播清單"
#: contents/ui/MaximizedPlayerPage.qml:837
#: contents/ui/MaximizedPlayerPage.qml:852
#, kde-format
msgid "Show Queue"
msgstr "顯示待播清單"
#: contents/ui/MaximizedPlayerPage.qml:1069
#: contents/ui/MaximizedPlayerPage.qml:1314
#: contents/ui/MaximizedPlayerPage.qml:1084
#: contents/ui/MaximizedPlayerPage.qml:1329
#, kde-format
msgid "Remove Song"
msgstr "移除歌曲"
#: contents/ui/MaximizedPlayerPage.qml:1104
#: contents/ui/MaximizedPlayerPage.qml:1119
#, kde-format
msgid "Clear Queue"
msgstr "清除待播清單"
#: contents/ui/MaximizedPlayerPage.qml:1129
#: contents/ui/MaximizedPlayerPage.qml:1144
#, kde-format
msgid "Shuffle Queue"
msgstr "隨機排序待播清單"
#: contents/ui/MaximizedPlayerPage.qml:1162
#: contents/ui/MaximizedPlayerPage.qml:1177
#, kde-format
msgid "Upcoming Songs"
msgstr "接下來的歌曲"
@@ -462,16 +462,6 @@ msgstr "沒有符合的先前的搜尋"
msgid "Share to"
msgstr "分享至"
#: contents/ui/ShareMenu.qml:49 contents/ui/ShareMenu.qml:103
#, kde-format
msgid "Copy Link"
msgstr "複製連結"
#: contents/ui/ShareMenu.qml:54 contents/ui/ShareMenu.qml:108
#, kde-format
msgid "Link copied to clipboard"
msgstr "連結已複製到剪貼簿"
#: contents/ui/Sidebar.qml:108
#, kde-format
msgid "Home"
@@ -512,50 +502,50 @@ msgstr "從履歷中移除"
msgid "Add to playlist"
msgstr "加入至播放清單"
#: main.cpp:90
#: main.cpp:54
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Stream music from YouTube Music"
msgstr "從 YouTube Music 串流播放音樂"
#: main.cpp:92
#: main.cpp:56
#, kde-format
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE 社群"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:93
#: main.cpp:57
#, kde-format
msgid "Maintainer"
msgstr "維護者"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:94
#: main.cpp:58
#, kde-format
msgid "Designer"
msgstr "設計師"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Kisaragi Hiu"
#: main.cpp:95
#: main.cpp:59
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:102
#: main.cpp:66
#, kde-format
msgctxt "YouTube Music is a music streaming service by Google"
msgid "Unofficial API for YouTube Music"
@@ -566,16 +556,22 @@ msgstr "YouTube Music 非官方 API"
msgid "No description"
msgstr "無描述"
#: playlistimporter.cpp:62
#: playlistimporter.cpp:68
#, kde-format
msgid "No title"
msgstr "無標題"
#: playlistimporter.cpp:64
#: playlistimporter.cpp:71
#, kde-format
msgid "No album"
msgstr "無專輯"
#~ msgid "Copy Link"
#~ msgstr "複製連結"
#~ msgid "Link copied to clipboard"
#~ msgstr "連結已複製到剪貼簿"
#~ msgid "Remove Favorite"
#~ 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.11.4
ytmusicapi==1.12.3
yt-dlp
+16
View File
@@ -39,6 +39,10 @@ add_executable(audiotube
clipboard.cpp
lyricsmodel.cpp
foreigntypes.h
trayicon.cpp
cast/castconnection.cpp
cast/castdiscovery.cpp
cast/castmanager.cpp
)
kconfig_target_kcfg_file(audiotube
@@ -88,14 +92,18 @@ ecm_add_qml_module(audiotube URI org.kde.audiotube
contents/ui/MoodPage.qml
contents/ui/components/ActionButton.qml
contents/ui/components/DoubleActionButton.qml
contents/ui/CastButton.qml
RESOURCES
migrations/2022-05-20-194850_init/down.sql
migrations/2022-05-20-194850_init/up.sql
migrations/2022-05-25-212054_playlists/down.sql
migrations/2022-05-25-212054_playlists/up.sql
migrations/2026-09-22-211215-0000_ids//up.sql
resources/favourites_placeholder.svg
resources/played_placeholder.svg
resources/playlist_placeholder.svg
resources/cast-symbolic.svg
resources/org.kde.audiotube-symbolic.svg
)
target_link_libraries(audiotube PRIVATE
@@ -108,18 +116,26 @@ target_link_libraries(audiotube PRIVATE
Qt::Widgets
Qt::Concurrent
Qt::Multimedia
Qt::Network
Qt::DBus
KF6::I18n
KF6::I18nQml
KF6::ConfigGui
KF6::CoreAddons
KF6::Crash
KF6::WindowSystem
KF6::IconThemes
KF6::StatusNotifierItem
FutureSQL6::FutureSQL
QCoro6::Core
qt-mpris
ytm
KirigamiApp
)
# The QML type registration includes headers by file name
target_include_directories(audiotube PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/cast)
target_compile_definitions(audiotube PRIVATE
-DAUDIOTUBE_VERSION_STRING="${RELEASE_SERVICE_VERSION}"
-DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
+276
View File
@@ -0,0 +1,276 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "castconnection.h"
#include <QJsonDocument>
#include <QtEndian>
using namespace Qt::StringLiterals;
namespace
{
constexpr int HEARTBEAT_INTERVAL_MS = 5000;
constexpr int WATCHDOG_TIMEOUT_MS = 20000;
constexpr quint32 MAX_FRAME_SIZE = 1024 * 1024;
const QString NS_CONNECTION = u"urn:x-cast:com.google.cast.tp.connection"_s;
const QString NS_HEARTBEAT = u"urn:x-cast:com.google.cast.tp.heartbeat"_s;
// Hand rolled encoding of the tiny subset of cast_channel.proto (CastMessage) that we need.
void appendVarint(QByteArray &out, quint64 value)
{
while (value >= 0x80) {
out.append(char((value & 0x7f) | 0x80));
value >>= 7;
}
out.append(char(value));
}
void appendBytes(QByteArray &out, int field, const QByteArray &bytes)
{
appendVarint(out, (field << 3) | 2);
appendVarint(out, bytes.size());
out.append(bytes);
}
bool readVarint(const QByteArray &data, int &pos, quint64 &value)
{
value = 0;
for (int shift = 0; shift < 64 && pos < data.size(); shift += 7) {
const auto byte = quint8(data.at(pos++));
value |= quint64(byte & 0x7f) << shift;
if (!(byte & 0x80)) {
return true;
}
}
return false;
}
struct DecodedMessage {
QString source;
QString destination;
QString ns;
QByteArray payload;
bool isString = false;
};
std::optional<DecodedMessage> decode(const QByteArray &data)
{
DecodedMessage message;
int pos = 0;
while (pos < data.size()) {
quint64 tag;
if (!readVarint(data, pos, tag)) {
return std::nullopt;
}
const int field = int(tag >> 3);
const int wire = int(tag & 7);
switch (wire) {
case 0: {
quint64 value;
if (!readVarint(data, pos, value)) {
return std::nullopt;
}
break;
}
case 1:
pos += 8;
break;
case 5:
pos += 4;
break;
case 2: {
quint64 length;
if (!readVarint(data, pos, length) || length > quint64(data.size() - pos)) {
return std::nullopt;
}
const auto bytes = data.mid(pos, int(length));
pos += int(length);
switch (field) {
case 2:
message.source = QString::fromUtf8(bytes);
break;
case 3:
message.destination = QString::fromUtf8(bytes);
break;
case 4:
message.ns = QString::fromUtf8(bytes);
break;
case 6:
message.payload = bytes;
message.isString = true;
break;
default:
break;
}
break;
}
default:
return std::nullopt;
}
}
return message;
}
}
CastConnection::CastConnection(QObject *parent)
: QObject(parent)
{
// Cast devices present a self-signed certificate; like every other sender implementation we don't verify it.
m_socket.setPeerVerifyMode(QSslSocket::VerifyNone);
m_heartbeat.setInterval(HEARTBEAT_INTERVAL_MS);
m_watchdog.setInterval(WATCHDOG_TIMEOUT_MS);
m_watchdog.setSingleShot(true);
connect(&m_socket, &QSslSocket::encrypted, this, [this] {
m_open = true;
m_watchdog.start();
m_heartbeat.start();
send(NS_CONNECTION, QString::fromLatin1(PLATFORM_RECEIVER), QJsonObject{{u"type"_s, u"CONNECT"_s}});
Q_EMIT opened();
});
connect(&m_socket, &QSslSocket::sslErrors, this, [this](const QList<QSslError> &) {
m_socket.ignoreSslErrors();
});
connect(&m_socket, &QSslSocket::readyRead, this, &CastConnection::readData);
connect(&m_socket, &QSslSocket::errorOccurred, this, [this] {
shutdown(m_socket.errorString());
});
connect(&m_socket, &QSslSocket::disconnected, this, [this] {
shutdown(tr("Connection lost"));
});
connect(&m_heartbeat, &QTimer::timeout, this, [this] {
send(NS_HEARTBEAT, QString::fromLatin1(PLATFORM_RECEIVER), QJsonObject{{u"type"_s, u"PING"_s}});
});
connect(&m_watchdog, &QTimer::timeout, this, [this] {
shutdown(tr("The device stopped responding"));
});
}
void CastConnection::open(const QHostAddress &address, quint16 port)
{
if (!QSslSocket::supportsSsl()) {
// Deliver asynchronously so that callers can connect to the signal after calling open().
QTimer::singleShot(0, this, [this] {
Q_EMIT closed(tr("TLS support is not available"));
});
return;
}
m_buffer.clear();
m_socket.connectToHostEncrypted(address.toString(), port);
m_watchdog.start(); // also covers a hanging connection attempt
}
void CastConnection::close()
{
if (m_socket.state() == QAbstractSocket::UnconnectedState && !m_open) {
return;
}
shutdown(QString());
}
bool CastConnection::isOpen() const
{
return m_open;
}
void CastConnection::send(const QString &ns, const QString &destination, const QJsonObject &payload)
{
sendRaw(ns, QString::fromLatin1(PLATFORM_SENDER), destination, QJsonDocument(payload).toJson(QJsonDocument::Compact));
}
void CastConnection::sendRaw(const QString &ns, const QString &source, const QString &destination, const QByteArray &json)
{
if (m_socket.state() != QAbstractSocket::ConnectedState) {
return;
}
QByteArray message;
appendVarint(message, (1 << 3) | 0); // protocol_version = CASTV2_1_0
appendVarint(message, 0);
appendBytes(message, 2, source.toUtf8());
appendBytes(message, 3, destination.toUtf8());
appendBytes(message, 4, ns.toUtf8());
appendVarint(message, (5 << 3) | 0); // payload_type = STRING
appendVarint(message, 0);
appendBytes(message, 6, json);
QByteArray frame(4, '\0');
qToBigEndian<quint32>(quint32(message.size()), frame.data());
frame.append(message);
m_socket.write(frame);
}
void CastConnection::readData()
{
m_buffer.append(m_socket.readAll());
while (m_buffer.size() >= 4) {
const auto length = qFromBigEndian<quint32>(m_buffer.constData());
if (length > MAX_FRAME_SIZE) {
shutdown(tr("Received an invalid message from the device"));
return;
}
if (quint32(m_buffer.size()) < 4 + length) {
return;
}
const auto frame = m_buffer.mid(4, int(length));
m_buffer.remove(0, int(4 + length));
handleFrame(frame);
if (!m_open) {
return;
}
}
}
void CastConnection::handleFrame(const QByteArray &frame)
{
m_watchdog.start();
const auto message = decode(frame);
if (!message || !message->isString) {
return;
}
QJsonParseError error;
const auto doc = QJsonDocument::fromJson(message->payload, &error);
if (error.error != QJsonParseError::NoError || !doc.isObject()) {
return;
}
const auto payload = doc.object();
if (message->ns == NS_HEARTBEAT) {
if (payload.value(u"type"_s).toString() == "PING"_L1) {
send(NS_HEARTBEAT, message->source, QJsonObject{{u"type"_s, u"PONG"_s}});
}
return;
}
Q_EMIT messageReceived(message->ns, message->source, payload);
}
void CastConnection::shutdown(const QString &reason)
{
const bool wasActive = m_open || m_socket.state() != QAbstractSocket::UnconnectedState;
m_heartbeat.stop();
m_watchdog.stop();
m_open = false;
// Avoid re-entering through the socket's own signals.
m_socket.blockSignals(true);
if (m_socket.state() == QAbstractSocket::ConnectedState) {
send(NS_CONNECTION, QString::fromLatin1(PLATFORM_RECEIVER), QJsonObject{{u"type"_s, u"CLOSE"_s}});
m_socket.flush();
}
m_socket.abort();
m_socket.blockSignals(false);
m_buffer.clear();
if (wasActive) {
Q_EMIT closed(reason);
}
}
+50
View File
@@ -0,0 +1,50 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QHostAddress>
#include <QJsonObject>
#include <QObject>
#include <QSslSocket>
#include <QTimer>
/**
* A CASTV2 channel to one Google Cast device: TLS socket, length-prefixed protobuf framing,
* virtual connection handshake and heartbeat.
*/
class CastConnection : public QObject
{
Q_OBJECT
public:
static constexpr auto PLATFORM_SENDER = "sender-0";
static constexpr auto PLATFORM_RECEIVER = "receiver-0";
explicit CastConnection(QObject *parent = nullptr);
void open(const QHostAddress &address, quint16 port);
void close();
bool isOpen() const;
void send(const QString &ns, const QString &destination, const QJsonObject &payload);
/// Emitted once the TLS handshake and the platform virtual connection are established.
Q_SIGNAL void opened();
/// Emitted when the connection is lost, with a human readable reason (empty when closed by us).
Q_SIGNAL void closed(const QString &reason);
Q_SIGNAL void messageReceived(const QString &ns, const QString &source, const QJsonObject &payload);
private:
void sendRaw(const QString &ns, const QString &source, const QString &destination, const QByteArray &json);
void readData();
void handleFrame(const QByteArray &frame);
void shutdown(const QString &reason);
QSslSocket m_socket;
QByteArray m_buffer;
QTimer m_heartbeat;
QTimer m_watchdog;
bool m_open = false;
};
+331
View File
@@ -0,0 +1,331 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "castdiscovery.h"
#include <QNetworkDatagram>
#include <QNetworkInterface>
#include <QtEndian>
using namespace Qt::StringLiterals;
namespace
{
constexpr quint16 TYPE_A = 1;
constexpr quint16 TYPE_PTR = 12;
constexpr quint16 TYPE_TXT = 16;
constexpr quint16 TYPE_SRV = 33;
constexpr int QUERY_INTERVAL_MS = 4000;
constexpr int DEVICE_TTL_SECS = 20;
const QString SERVICE_NAME = u"_googlecast._tcp.local"_s;
void appendU16(QByteArray &out, quint16 value)
{
out.append(char(value >> 8));
out.append(char(value & 0xff));
}
struct Reader {
const QByteArray &data;
bool u8(int pos, quint8 &out) const
{
if (pos < 0 || pos >= data.size()) {
return false;
}
out = quint8(data.at(pos));
return true;
}
bool u16(int pos, quint16 &out) const
{
if (pos < 0 || pos + 2 > data.size()) {
return false;
}
out = qFromBigEndian<quint16>(data.constData() + pos);
return true;
}
// Reads a (possibly compressed) DNS name starting at `pos`, advances `pos` past the name.
bool name(int &pos, QString &out) const
{
QStringList labels;
int cursor = pos;
int end = -1;
int jumps = 0;
while (true) {
quint8 len;
if (!u8(cursor, len)) {
return false;
}
if (len == 0) {
cursor++;
break;
}
if ((len & 0xc0) == 0xc0) {
quint8 low;
if (!u8(cursor + 1, low) || ++jumps > 16) {
return false;
}
if (end < 0) {
end = cursor + 2;
}
cursor = ((len & 0x3f) << 8) | low;
continue;
}
if ((len & 0xc0) != 0 || cursor + 1 + len > data.size()) {
return false;
}
labels.append(QString::fromUtf8(data.mid(cursor + 1, len)));
cursor += 1 + len;
}
pos = end >= 0 ? end : cursor;
out = labels.join(u'.');
return true;
}
};
}
CastDiscovery::CastDiscovery(QObject *parent)
: QObject(parent)
{
m_timer.setInterval(QUERY_INTERVAL_MS);
connect(&m_timer, &QTimer::timeout, this, [this] {
prune();
sendQuery();
});
connect(&m_socket, &QUdpSocket::readyRead, this, &CastDiscovery::readPending);
}
void CastDiscovery::start()
{
if (m_active) {
return;
}
if (m_socket.state() != QAbstractSocket::BoundState
&& !m_socket.bind(QHostAddress::AnyIPv4, 0, QAbstractSocket::DontShareAddress)) {
qWarning() << "Cast discovery: cannot bind UDP socket:" << m_socket.errorString();
return;
}
m_socket.setSocketOption(QAbstractSocket::MulticastLoopbackOption, 0);
m_active = true;
Q_EMIT activeChanged();
sendQuery();
m_timer.start();
}
void CastDiscovery::stop()
{
if (!m_active) {
return;
}
m_timer.stop();
m_active = false;
Q_EMIT activeChanged();
}
bool CastDiscovery::isActive() const
{
return m_active;
}
QList<CastDevice> CastDiscovery::devices() const
{
auto list = m_devices.values();
std::sort(list.begin(), list.end(), [](const CastDevice &a, const CastDevice &b) {
return a.name.localeAwareCompare(b.name) < 0;
});
return list;
}
std::optional<CastDevice> CastDiscovery::device(const QString &id) const
{
const auto it = m_devices.constFind(id);
if (it == m_devices.cend()) {
return std::nullopt;
}
return *it;
}
void CastDiscovery::sendQuery()
{
QByteArray packet;
appendU16(packet, 0); // id
appendU16(packet, 0); // flags
appendU16(packet, 1); // questions
appendU16(packet, 0);
appendU16(packet, 0);
appendU16(packet, 0);
for (const auto &label : SERVICE_NAME.split(u'.')) {
const auto utf8 = label.toUtf8();
packet.append(char(utf8.size()));
packet.append(utf8);
}
packet.append('\0');
appendU16(packet, TYPE_PTR);
appendU16(packet, 0x8001); // IN, unicast response requested
const QHostAddress group(u"224.0.0.251"_s);
for (const auto &iface : QNetworkInterface::allInterfaces()) {
const auto flags = iface.flags();
if (!(flags & QNetworkInterface::IsUp) || !(flags & QNetworkInterface::IsRunning) || !(flags & QNetworkInterface::CanMulticast)
|| (flags & QNetworkInterface::IsLoopBack)) {
continue;
}
m_socket.setMulticastInterface(iface);
m_socket.writeDatagram(packet, group, 5353);
}
}
void CastDiscovery::readPending()
{
while (m_socket.hasPendingDatagrams()) {
const auto datagram = m_socket.receiveDatagram();
parsePacket(datagram.data(), datagram.senderAddress());
}
}
void CastDiscovery::parsePacket(const QByteArray &packet, const QHostAddress &sender)
{
const Reader r{packet};
quint16 flags, qd, an, ns, ar;
if (!r.u16(2, flags) || !r.u16(4, qd) || !r.u16(6, an) || !r.u16(8, ns) || !r.u16(10, ar)) {
return;
}
if (!(flags & 0x8000)) { // not a response
return;
}
int pos = 12;
for (int i = 0; i < qd; i++) {
QString name;
if (!r.name(pos, name)) {
return;
}
pos += 4;
}
QStringList instanceNames;
QHash<QString, Instance> instances;
QHash<QString, QHostAddress> addresses;
const int records = an + ns + ar;
for (int i = 0; i < records; i++) {
QString name;
quint16 type, rdLength;
if (!r.name(pos, name) || !r.u16(pos, type) || !r.u16(pos + 8, rdLength)) {
return;
}
const int rdata = pos + 10;
if (rdata + rdLength > packet.size()) {
return;
}
pos = rdata + rdLength;
switch (type) {
case TYPE_PTR: {
int p = rdata;
QString target;
if (name.compare(SERVICE_NAME, Qt::CaseInsensitive) == 0 && r.name(p, target)) {
instanceNames.append(target);
}
break;
}
case TYPE_SRV: {
int p = rdata + 6;
QString host;
quint16 port;
if (r.u16(rdata + 4, port) && r.name(p, host)) {
auto &instance = instances[name];
instance.host = host;
instance.port = port;
}
break;
}
case TYPE_TXT: {
auto &instance = instances[name];
int p = rdata;
while (p < rdata + rdLength) {
const int len = quint8(packet.at(p));
if (p + 1 + len > rdata + rdLength) {
break;
}
const auto entry = QString::fromUtf8(packet.mid(p + 1, len));
const int eq = entry.indexOf(u'=');
if (eq > 0) {
instance.txt.insert(entry.left(eq).toLower(), entry.mid(eq + 1));
}
p += 1 + len;
}
break;
}
case TYPE_A:
if (rdLength == 4) {
addresses.insert(name.toLower(), QHostAddress(qFromBigEndian<quint32>(packet.constData() + rdata)));
}
break;
default:
break;
}
}
bool changed = false;
for (const auto &instanceName : std::as_const(instanceNames)) {
const auto it = instances.constFind(instanceName);
if (it == instances.cend() || it->port == 0) {
continue;
}
CastDevice device;
device.address = addresses.value(it->host.toLower());
if (device.address.isNull()) {
bool ok = false;
const auto v4 = sender.toIPv4Address(&ok);
if (!ok) {
continue;
}
device.address = QHostAddress(v4);
}
device.port = it->port;
device.id = it->txt.value(u"id"_s, instanceName.section(u'.', 0, 0));
device.name = it->txt.value(u"fn"_s, instanceName.section(u'.', 0, 0));
device.model = it->txt.value(u"md"_s);
device.lastSeen = QDateTime::currentDateTimeUtc();
const auto existing = m_devices.constFind(device.id);
if (existing == m_devices.cend() || existing->name != device.name || existing->address != device.address || existing->port != device.port
|| existing->model != device.model) {
changed = true;
}
m_devices.insert(device.id, device);
}
if (changed) {
Q_EMIT devicesChanged();
}
}
void CastDiscovery::prune()
{
const auto cutoff = QDateTime::currentDateTimeUtc().addSecs(-DEVICE_TTL_SECS);
bool changed = false;
for (auto it = m_devices.begin(); it != m_devices.end();) {
if (it->lastSeen < cutoff) {
it = m_devices.erase(it);
changed = true;
} else {
++it;
}
}
if (changed) {
Q_EMIT devicesChanged();
}
}
+63
View File
@@ -0,0 +1,63 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QDateTime>
#include <QHash>
#include <QHostAddress>
#include <QList>
#include <QObject>
#include <QTimer>
#include <QUdpSocket>
struct CastDevice {
QString id;
QString name;
QString model;
QHostAddress address;
quint16 port = 8009;
QDateTime lastSeen;
};
/**
* Minimal mDNS browser for _googlecast._tcp.local.
*
* Queries are sent from an ephemeral port with the "unicast response" bit set, so no daemon
* (avahi) is needed and we don't have to share port 5353 with other mDNS stacks.
*/
class CastDiscovery : public QObject
{
Q_OBJECT
public:
explicit CastDiscovery(QObject *parent = nullptr);
void start();
void stop();
bool isActive() const;
QList<CastDevice> devices() const;
std::optional<CastDevice> device(const QString &id) const;
Q_SIGNAL void devicesChanged();
Q_SIGNAL void activeChanged();
private:
struct Instance {
QString host;
quint16 port = 0;
QHash<QString, QString> txt;
};
void sendQuery();
void readPending();
void parsePacket(const QByteArray &packet, const QHostAddress &sender);
void prune();
QUdpSocket m_socket;
QTimer m_timer;
bool m_active = false;
QHash<QString, CastDevice> m_devices;
};
+512
View File
@@ -0,0 +1,512 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "castmanager.h"
#include <QJsonArray>
#include <QUrlQuery>
#include <KLocalizedString>
using namespace Qt::StringLiterals;
namespace
{
// Google's "Default Media Receiver"
const QString DEFAULT_MEDIA_RECEIVER = u"CC1AD845"_s;
const QString NS_CONNECTION = u"urn:x-cast:com.google.cast.tp.connection"_s;
const QString NS_RECEIVER = u"urn:x-cast:com.google.cast.receiver"_s;
const QString NS_MEDIA = u"urn:x-cast:com.google.cast.media"_s;
constexpr int POSITION_INTERVAL_MS = 500;
constexpr int STATUS_INTERVAL_MS = 5000;
constexpr int SUPPORTS_SEEK = 2;
QString guessContentType(const QUrl &url)
{
// Streaming URLs from YouTube carry their mime type, e.g. ?mime=audio%2Fwebm
const auto mime = QUrlQuery(url).queryItemValue(u"mime"_s, QUrl::FullyDecoded);
if (!mime.isEmpty()) {
return mime;
}
return u"audio/mp4"_s;
}
}
CastManager::CastManager(QObject *parent)
: QObject(parent)
{
connect(&m_discovery, &CastDiscovery::devicesChanged, this, &CastManager::devicesChanged);
connect(&m_discovery, &CastDiscovery::activeChanged, this, &CastManager::scanningChanged);
connect(&m_connection, &CastConnection::messageReceived, this, &CastManager::handleMessage);
connect(&m_connection, &CastConnection::opened, this, [this] {
sendReceiverCommand(u"GET_STATUS"_s);
});
connect(&m_connection, &CastConnection::closed, this, [this](const QString &reason) {
if (m_state != State::Disconnected) {
endSession(reason.isEmpty() ? i18n("The connection to the device was lost") : reason);
}
});
m_positionTimer.setInterval(POSITION_INTERVAL_MS);
connect(&m_positionTimer, &QTimer::timeout, this, &CastManager::updatePosition);
m_statusTimer.setInterval(STATUS_INTERVAL_MS);
connect(&m_statusTimer, &QTimer::timeout, this, &CastManager::requestMediaStatus);
}
CastManager::~CastManager()
{
if (m_state != State::Disconnected) {
sendReceiverCommand(u"STOP"_s, {{u"sessionId"_s, m_sessionId}});
m_connection.close();
}
}
QVariantList CastManager::devices() const
{
QVariantList list;
const auto devices = m_discovery.devices();
for (const auto &device : devices) {
list.append(QVariantMap{
{u"id"_s, device.id},
{u"name"_s, device.name},
{u"model"_s, device.model},
});
}
return list;
}
bool CastManager::scanning() const
{
return m_discovery.isActive();
}
bool CastManager::casting() const
{
return m_state != State::Disconnected;
}
bool CastManager::connected() const
{
return m_state == State::Ready;
}
QString CastManager::deviceId() const
{
return casting() ? m_device.id : QString();
}
QString CastManager::deviceName() const
{
return casting() ? m_device.name : QString();
}
QString CastManager::errorString() const
{
return m_error;
}
CastManager::PlaybackState CastManager::playbackState() const
{
return m_playbackState;
}
bool CastManager::hasMedia() const
{
return m_hasMedia || m_pending.valid;
}
bool CastManager::buffering() const
{
return m_buffering || (m_pending.valid && !m_hasMedia);
}
bool CastManager::seekable() const
{
return m_seekable;
}
int CastManager::position() const
{
return m_position;
}
int CastManager::duration() const
{
return m_duration;
}
void CastManager::startDiscovery()
{
m_discovery.start();
}
void CastManager::stopDiscovery()
{
m_discovery.stop();
}
void CastManager::connectToDevice(const QString &deviceId)
{
if (casting() && m_device.id == deviceId) {
return;
}
const auto device = m_discovery.device(deviceId);
if (!device) {
return;
}
if (casting()) {
endSession({}, false);
}
m_device = *device;
m_error.clear();
m_state = State::Connecting;
m_launchSent = false;
m_loadSent = false;
m_hasMedia = false;
m_mediaSessionId = 0;
m_transportId.clear();
m_sessionId.clear();
Q_EMIT castingChanged();
m_connection.open(m_device.address, m_device.port);
}
void CastManager::disconnectFromDevice()
{
if (casting()) {
endSession({});
}
}
void CastManager::endSession(const QString &error, bool notify)
{
const bool wasPlaying = m_playbackState == Playing;
const int position = m_position;
if (m_state == State::Ready || m_state == State::Launching) {
sendReceiverCommand(u"STOP"_s, {{u"sessionId"_s, m_sessionId}});
}
m_state = State::Disconnected;
m_connection.close();
m_positionTimer.stop();
m_statusTimer.stop();
m_pending = {};
m_hasMedia = false;
m_loadSent = false;
m_mediaSessionId = 0;
m_transportId.clear();
m_sessionId.clear();
m_launchSent = false;
m_buffering = false;
m_playbackState = Stopped;
if (!error.isEmpty()) {
m_error = error;
Q_EMIT errorOccurred(error);
}
if (notify) {
// Before castingChanged, so that the local player knows where to resume when it takes over again.
Q_EMIT sessionEnded(position, wasPlaying);
}
Q_EMIT castingChanged();
Q_EMIT connectedChanged();
Q_EMIT playbackStateChanged();
}
void CastManager::loadMedia(const QUrl &url,
const QString &title,
const QString &artist,
const QString &album,
const QString &thumbnail,
int startPosition,
bool autoplay)
{
if (!casting() || url.isEmpty()) {
return;
}
m_pending = PendingLoad{url, title, artist, album, thumbnail, startPosition, autoplay, true};
m_loadSent = false;
m_finishedReported = false;
m_duration = 0;
setPosition(startPosition);
m_basePosition = startPosition;
Q_EMIT durationChanged();
Q_EMIT playbackStateChanged();
if (m_state == State::Ready) {
sendLoad();
}
}
void CastManager::sendLoad()
{
if (!m_pending.valid || m_state != State::Ready) {
return;
}
QJsonObject metadata{
{u"metadataType"_s, 3}, // MusicTrackMediaMetadata
{u"title"_s, m_pending.title},
{u"artist"_s, m_pending.artist},
{u"albumName"_s, m_pending.album},
};
if (!m_pending.thumbnail.isEmpty()) {
metadata.insert(u"images"_s, QJsonArray{QJsonObject{{u"url"_s, m_pending.thumbnail}}});
}
const QJsonObject media{
{u"contentId"_s, m_pending.url.toString(QUrl::FullyEncoded)},
{u"streamType"_s, u"BUFFERED"_s},
{u"contentType"_s, guessContentType(m_pending.url)},
{u"metadata"_s, metadata},
};
m_connection.send(NS_MEDIA,
m_transportId,
QJsonObject{
{u"type"_s, u"LOAD"_s},
{u"requestId"_s, currentRequestId()},
{u"sessionId"_s, m_sessionId},
{u"media"_s, media},
{u"autoplay"_s, m_pending.autoplay},
{u"currentTime"_s, m_pending.startPosition / 1000.0},
});
m_loadSent = true;
m_mediaSessionId = 0; // learn the new media session from the status that follows
}
void CastManager::play()
{
sendMediaCommand(u"PLAY"_s);
}
void CastManager::pause()
{
sendMediaCommand(u"PAUSE"_s);
}
void CastManager::stop()
{
sendMediaCommand(u"STOP"_s);
}
void CastManager::seek(int position)
{
position = qMax(0, position);
sendMediaCommand(u"SEEK"_s, {{u"currentTime"_s, position / 1000.0}});
m_basePosition = position;
m_positionClock.restart();
setPosition(position);
}
void CastManager::setVolume(qreal volume)
{
sendReceiverCommand(u"SET_VOLUME"_s, {{u"volume"_s, QJsonObject{{u"level"_s, qBound(0.0, volume, 1.0)}}}});
}
void CastManager::setMuted(bool muted)
{
sendReceiverCommand(u"SET_VOLUME"_s, {{u"volume"_s, QJsonObject{{u"muted"_s, muted}}}});
}
int CastManager::currentRequestId()
{
return ++m_requestId;
}
void CastManager::sendMediaCommand(const QString &type, const QJsonObject &extra)
{
if (m_state != State::Ready || m_mediaSessionId == 0) {
return;
}
QJsonObject payload = extra;
payload.insert(u"type"_s, type);
payload.insert(u"requestId"_s, currentRequestId());
payload.insert(u"mediaSessionId"_s, m_mediaSessionId);
m_connection.send(NS_MEDIA, m_transportId, payload);
}
void CastManager::sendReceiverCommand(const QString &type, const QJsonObject &extra)
{
QJsonObject payload = extra;
payload.insert(u"type"_s, type);
payload.insert(u"requestId"_s, currentRequestId());
m_connection.send(NS_RECEIVER, QString::fromLatin1(CastConnection::PLATFORM_RECEIVER), payload);
}
void CastManager::requestMediaStatus()
{
if (m_state != State::Ready || m_transportId.isEmpty()) {
return;
}
m_connection.send(NS_MEDIA, m_transportId, QJsonObject{{u"type"_s, u"GET_STATUS"_s}, {u"requestId"_s, currentRequestId()}});
}
void CastManager::handleMessage(const QString &ns, const QString &source, const QJsonObject &payload)
{
const auto type = payload.value(u"type"_s).toString();
if (ns == NS_CONNECTION) {
if (type == "CLOSE"_L1 && (source == m_transportId || source == QString::fromLatin1(CastConnection::PLATFORM_RECEIVER))) {
endSession(i18n("The device closed the connection"));
}
} else if (ns == NS_RECEIVER) {
if (type == "RECEIVER_STATUS"_L1) {
handleReceiverStatus(payload);
}
} else if (ns == NS_MEDIA) {
if (type == "MEDIA_STATUS"_L1) {
handleMediaStatus(payload);
} else if (type == "LOAD_FAILED"_L1 || type == "LOAD_CANCELLED"_L1 || type == "INVALID_REQUEST"_L1) {
if (type != "LOAD_CANCELLED"_L1) {
m_error = i18n("The device could not play this track");
Q_EMIT errorOccurred(m_error);
}
m_pending.valid = false;
setPlaybackState(Stopped);
}
}
}
void CastManager::handleReceiverStatus(const QJsonObject &payload)
{
const auto status = payload.value(u"status"_s).toObject();
QJsonObject app;
const auto apps = status.value(u"applications"_s).toArray();
for (const auto &entry : apps) {
if (entry.toObject().value(u"appId"_s).toString() == DEFAULT_MEDIA_RECEIVER) {
app = entry.toObject();
break;
}
}
if (app.isEmpty()) {
if (m_state == State::Connecting) {
if (!m_launchSent) {
m_launchSent = true;
m_state = State::Launching;
sendReceiverCommand(u"LAUNCH"_s, {{u"appId"_s, DEFAULT_MEDIA_RECEIVER}});
}
} else if (m_state == State::Ready) {
// Somebody else took over the device
endSession(i18n("Another app started playing on the device"));
}
return;
}
const auto transportId = app.value(u"transportId"_s).toString();
if (m_state == State::Ready || transportId.isEmpty()) {
return;
}
m_transportId = transportId;
m_sessionId = app.value(u"sessionId"_s).toString();
m_connection.send(NS_CONNECTION, m_transportId, QJsonObject{{u"type"_s, u"CONNECT"_s}});
m_state = State::Ready;
m_statusTimer.start();
Q_EMIT connectedChanged();
sendLoad();
}
void CastManager::handleMediaStatus(const QJsonObject &payload)
{
const auto statuses = payload.value(u"status"_s).toArray();
if (statuses.isEmpty()) {
return;
}
const auto status = statuses.first().toObject();
m_mediaSessionId = qint64(status.value(u"mediaSessionId"_s).toDouble());
m_pending.valid = false;
m_hasMedia = true;
const auto media = status.value(u"media"_s).toObject();
if (media.contains(u"duration"_s)) {
const int duration = qRound(media.value(u"duration"_s).toDouble() * 1000);
if (duration != m_duration) {
m_duration = duration;
Q_EMIT durationChanged();
}
}
if (status.contains(u"supportedMediaCommands"_s)) {
m_seekable = status.value(u"supportedMediaCommands"_s).toInt() & SUPPORTS_SEEK;
}
m_basePosition = qRound(status.value(u"currentTime"_s).toDouble() * 1000);
m_positionClock.restart();
setPosition(m_basePosition);
const auto playerState = status.value(u"playerState"_s).toString();
if (playerState == "PLAYING"_L1) {
m_finishedReported = false;
setPlaybackState(Playing);
} else if (playerState == "BUFFERING"_L1) {
m_finishedReported = false;
setPlaybackState(Playing, true);
} else if (playerState == "PAUSED"_L1) {
m_finishedReported = false;
setPlaybackState(Paused);
} else if (playerState == "IDLE"_L1) {
const auto reason = status.value(u"idleReason"_s).toString();
setPlaybackState(Stopped);
if (reason == "FINISHED"_L1 && !m_finishedReported) {
m_finishedReported = true;
Q_EMIT mediaFinished();
} else if (reason == "ERROR"_L1) {
m_error = i18n("The device could not play this track");
Q_EMIT errorOccurred(m_error);
}
}
}
void CastManager::setPlaybackState(PlaybackState state, bool buffering)
{
if (m_playbackState == state && m_buffering == buffering) {
return;
}
m_playbackState = state;
m_buffering = buffering;
// Chromecasts only report on state changes, so position is extrapolated while playing
if (state == Playing && !buffering) {
m_positionClock.restart();
m_positionTimer.start();
} else {
m_positionTimer.stop();
}
Q_EMIT playbackStateChanged();
}
void CastManager::updatePosition()
{
if (m_playbackState != Playing || m_buffering) {
return;
}
int position = m_basePosition + int(m_positionClock.elapsed());
if (m_duration > 0) {
position = qMin(position, m_duration);
}
setPosition(position);
}
void CastManager::setPosition(int position)
{
if (m_position == position) {
return;
}
m_position = position;
Q_EMIT positionChanged();
}
+165
View File
@@ -0,0 +1,165 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QElapsedTimer>
#include <QJsonObject>
#include <QObject>
#include <QTimer>
#include <QUrl>
#include <QVariantList>
#include <qqmlintegration.h>
#include "castconnection.h"
#include "castdiscovery.h"
/**
* Sender side of Google Cast: discovers devices, launches the Default Media Receiver on the selected
* device and remote controls it. Positions are in milliseconds, volume in the range 0..1.
*/
class CastManager : public QObject
{
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
Q_PROPERTY(QVariantList devices READ devices NOTIFY devicesChanged)
Q_PROPERTY(bool scanning READ scanning NOTIFY scanningChanged)
/// True while a session is being set up or is established.
Q_PROPERTY(bool casting READ casting NOTIFY castingChanged)
/// True once the receiver app is running and ready to take media.
Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
Q_PROPERTY(QString deviceId READ deviceId NOTIFY castingChanged)
Q_PROPERTY(QString deviceName READ deviceName NOTIFY castingChanged)
Q_PROPERTY(QString errorString READ errorString NOTIFY errorOccurred)
Q_PROPERTY(PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged)
Q_PROPERTY(bool hasMedia READ hasMedia NOTIFY playbackStateChanged)
Q_PROPERTY(bool buffering READ buffering NOTIFY playbackStateChanged)
Q_PROPERTY(bool seekable READ seekable NOTIFY playbackStateChanged)
Q_PROPERTY(int position READ position NOTIFY positionChanged)
Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
public:
/// Values match QMediaPlayer::PlaybackState, so QML can treat both interchangeably.
enum PlaybackState {
Stopped = 0,
Playing = 1,
Paused = 2,
};
Q_ENUM(PlaybackState)
explicit CastManager(QObject *parent = nullptr);
~CastManager() override;
QVariantList devices() const;
bool scanning() const;
bool casting() const;
bool connected() const;
QString deviceId() const;
QString deviceName() const;
QString errorString() const;
PlaybackState playbackState() const;
bool hasMedia() const;
bool buffering() const;
bool seekable() const;
int position() const;
int duration() const;
Q_INVOKABLE void startDiscovery();
Q_INVOKABLE void stopDiscovery();
Q_INVOKABLE void connectToDevice(const QString &deviceId);
/// Ends the cast session (closing the receiver app) and hands playback back to the local player.
Q_INVOKABLE void disconnectFromDevice();
Q_INVOKABLE void loadMedia(const QUrl &url,
const QString &title,
const QString &artist,
const QString &album,
const QString &thumbnail,
int startPosition,
bool autoplay);
Q_INVOKABLE void play();
Q_INVOKABLE void pause();
Q_INVOKABLE void stop();
Q_INVOKABLE void seek(int position);
Q_INVOKABLE void setVolume(qreal volume);
Q_INVOKABLE void setMuted(bool muted);
Q_SIGNAL void devicesChanged();
Q_SIGNAL void scanningChanged();
Q_SIGNAL void castingChanged();
Q_SIGNAL void connectedChanged();
Q_SIGNAL void playbackStateChanged();
Q_SIGNAL void positionChanged();
Q_SIGNAL void durationChanged();
Q_SIGNAL void errorOccurred(const QString &message);
/// The current media finished playing on the device.
Q_SIGNAL void mediaFinished();
/// The session is over; carries where local playback should pick up.
Q_SIGNAL void sessionEnded(int position, bool wasPlaying);
private:
enum class State {
Disconnected,
Connecting,
Launching,
Ready,
};
struct PendingLoad {
QUrl url;
QString title;
QString artist;
QString album;
QString thumbnail;
int startPosition = 0;
bool autoplay = true;
bool valid = false;
};
void handleMessage(const QString &ns, const QString &source, const QJsonObject &payload);
void handleReceiverStatus(const QJsonObject &payload);
void handleMediaStatus(const QJsonObject &payload);
void sendLoad();
void sendMediaCommand(const QString &type, const QJsonObject &extra = {});
void sendReceiverCommand(const QString &type, const QJsonObject &extra = {});
void requestMediaStatus();
void updatePosition();
void setPlaybackState(PlaybackState state, bool buffering = false);
void setPosition(int position);
void endSession(const QString &error, bool notify = true);
int currentRequestId();
CastDiscovery m_discovery;
CastConnection m_connection;
QTimer m_positionTimer;
QTimer m_statusTimer;
State m_state = State::Disconnected;
CastDevice m_device;
QString m_error;
QString m_transportId;
QString m_sessionId;
qint64 m_mediaSessionId = 0;
bool m_launchSent = false;
int m_requestId = 0;
PendingLoad m_pending;
bool m_loadSent = false;
PlaybackState m_playbackState = Stopped;
bool m_buffering = false;
bool m_hasMedia = false;
bool m_seekable = true;
bool m_finishedReported = false;
int m_basePosition = 0;
int m_position = 0;
int m_duration = 0;
QElapsedTimer m_positionClock;
};
+130
View File
@@ -0,0 +1,130 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick
import QtQuick.Controls as Controls
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.kde.audiotube
/**
* Player control for Google Cast: opens a list of the devices found on the network and
* starts or stops casting to them.
*/
Controls.ToolButton {
id: root
// The playback object of the player footer, which knows how to hand playback over to a Cast device
required property QtObject player
implicitWidth: 40
implicitHeight: 40
icon.source: "qrc:/qt/qml/org/kde/audiotube/resources/cast-symbolic.svg"
icon.color: CastManager.casting ? Kirigami.Theme.highlightColor : "white"
icon.width: Kirigami.Units.gridUnit
icon.height: Kirigami.Units.gridUnit
display: Controls.AbstractButton.IconOnly
text: CastManager.casting ? i18nc("%1 is the name of a device", "Casting to %1", CastManager.deviceName) : i18n("Cast to Device")
checked: popup.visible
Controls.ToolTip.text: text
Controls.ToolTip.delay: Kirigami.Units.toolTipDelay
Controls.ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
onClicked: popup.visible ? popup.close() : popup.open()
Controls.Popup {
id: popup
// Open above the button, since the player controls sit at the bottom of the window
x: Math.min(0, root.width - width)
y: -height - Kirigami.Units.smallSpacing
width: Kirigami.Units.gridUnit * 16
padding: Kirigami.Units.smallSpacing
modal: false
closePolicy: Controls.Popup.CloseOnEscape | Controls.Popup.CloseOnPressOutsideParent
onOpened: CastManager.startDiscovery()
onClosed: CastManager.stopDiscovery()
contentItem: ColumnLayout {
spacing: Kirigami.Units.smallSpacing
RowLayout {
Layout.fillWidth: true
Layout.margins: Kirigami.Units.smallSpacing
Kirigami.Heading {
level: 4
text: i18n("Cast to")
Layout.fillWidth: true
}
Controls.BusyIndicator {
running: CastManager.scanning && !CastManager.casting
visible: running
implicitWidth: Kirigami.Units.iconSizes.smallMedium
implicitHeight: Kirigami.Units.iconSizes.smallMedium
}
}
Controls.ItemDelegate {
Layout.fillWidth: true
text: i18n("This Computer")
icon.name: "computer"
highlighted: !CastManager.casting
onClicked: {
root.player.stopCasting()
popup.close()
}
}
Repeater {
model: CastManager.devices
delegate: Controls.ItemDelegate {
required property var modelData
Layout.fillWidth: true
text: modelData.name
icon.source: "qrc:/qt/qml/org/kde/audiotube/resources/cast-symbolic.svg"
highlighted: CastManager.casting && CastManager.deviceId === modelData.id
Controls.ToolTip.text: modelData.model
Controls.ToolTip.visible: hovered && modelData.model !== ""
Controls.ToolTip.delay: Kirigami.Units.toolTipDelay
onClicked: {
root.player.castTo(modelData.id)
popup.close()
}
}
}
Controls.Label {
Layout.fillWidth: true
Layout.margins: Kirigami.Units.smallSpacing
visible: CastManager.devices.length === 0
wrapMode: Text.Wrap
opacity: 0.7
text: CastManager.scanning ? i18n("Looking for devices on your network…") : i18n("No devices found")
}
Controls.Label {
Layout.fillWidth: true
Layout.margins: Kirigami.Units.smallSpacing
visible: CastManager.errorString !== "" && !CastManager.casting
wrapMode: Text.Wrap
color: Kirigami.Theme.negativeTextColor
text: CastManager.errorString
}
}
}
}
+17
View File
@@ -303,6 +303,23 @@ Kirigami.ApplicationWindow {
z: (contentY === 0) ? -1 : 999
}
TrayIcon {
id: trayIcon
window: root
playing: playerFooter.audioPlayer.playbackState === MediaPlayer.PlayingState
trackTitle: playerFooter.videoInfoExtractor.title
trackArtist: playerFooter.videoInfoExtractor.artist ? playerFooter.videoInfoExtractor.artist : playerFooter.videoInfoExtractor.channel
canGoNext: UserPlaylistModel.canSkip
canGoPrevious: UserPlaylistModel.canSkipBack
onPlayPauseRequested: playerFooter.audioPlayer.playbackState === MediaPlayer.PlayingState
? playerFooter.audioPlayer.pause()
: playerFooter.audioPlayer.play()
onNextRequested: UserPlaylistModel.next()
onPreviousRequested: UserPlaylistModel.previous()
}
MprisPlayer {
id: mprisPlayer
serviceName: "AudioTube"
+27 -5
View File
@@ -17,7 +17,7 @@ Item {
id: root
required property VideoInfoExtractor info
required property MediaPlayer audio
required property QtObject audio
required property LyricsModel syncedLyrics
required property string thumbnail
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 50
@@ -234,7 +234,7 @@ Item {
MouseArea {
anchors.fill: parent
onClicked: {
root.audio.position = lineLabel.start * 1000;
root.audio.seek(lineLabel.start * 1000);
}
}
}
@@ -335,6 +335,19 @@ Item {
horizontalAlignment: Text.AlignHCenter
elide: Text.ElideRight
maximumLineCount: 1
MouseArea {
anchors.fill: parent
onClicked: {
let index = UserPlaylistModel.index(UserPlaylistModel.currentIndex, 0)
let artistId = UserPlaylistModel.data(index, UserPlaylistModel.ArtistId)
pageStack.push("qrc:/qt/qml/org/kde/audiotube/contents/ui/ArtistPage.qml", {
"channelId": artistId
})
root.requestClose()
}
}
// Hardcoded because the footerbar blur always makes a dark-ish
// background, so we don't want to use a color scheme color that
// might also be dark
@@ -482,7 +495,7 @@ Item {
enabled: root.audio.seekable
onMoved: {
console.log("Value:", value);
audio.position = Math.floor(value);
audio.seek(Math.floor(value));
}
Behavior on value {
@@ -530,8 +543,10 @@ Item {
let videoId = UserPlaylistModel.data(index, UserPlaylistModel.VideoId)
let title = UserPlaylistModel.data(index, UserPlaylistModel.Title)
let artist = UserPlaylistModel.data(index, UserPlaylistModel.Artists)
let artistId = UserPlaylistModel.data(index, UserPlaylistModel.ArtistId)
let album = UserPlaylistModel.data(index, UserPlaylistModel.Album)
Library.addFavourite(videoId, title, artist, album)
let albumId = UserPlaylistModel.data(index, UserPlaylistModel.AlbumId)
Library.addFavourite(videoId, title, artist, artistId, album, albumId)
}
}
}
@@ -597,7 +612,7 @@ Item {
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
onClicked: {
if (root.audio.muted) {
if (root.audio.audioOutput.muted) {
muteButton.unmuteAudio()
} else {
muteButton.muteAudio()
@@ -771,6 +786,13 @@ Item {
Kirigami.Theme.inherit: false
}
CastButton {
Layout.preferredHeight: Kirigami.Units.gridUnit * 2.5
Layout.maximumWidth: height
Layout.preferredWidth: height
player: root.audio
}
PlaylistDialog {
id: playlistsDialog
}
+7 -2
View File
@@ -19,7 +19,7 @@ Item {
required property int minimizedPlayerContentHeight
required property VideoInfoExtractor info
required property MediaPlayer audio
required property QtObject audio
required property string thumbnail
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 50
@@ -255,7 +255,6 @@ Item {
implicitHeight: 40
implicitWidth: 40
Layout.fillHeight: !isWidescreen
Layout.rightMargin: isWidescreen ? 0 : 10
Layout.alignment: !Qt.AlignVCenter
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
@@ -301,5 +300,11 @@ Item {
text: PlayerUtils.formatTimestamp(audio.duration)
Layout.leftMargin: 20
}
CastButton {
Layout.alignment: Qt.AlignVCenter
Layout.rightMargin: isWidescreen ? 0 : 10
player: root.audio
}
}
}
+127 -5
View File
@@ -107,7 +107,9 @@ Flickable {
let videoId = UserPlaylistModel.data(index, UserPlaylistModel.VideoId)
let title = UserPlaylistModel.data(index, UserPlaylistModel.Title)
let artist = UserPlaylistModel.data(index, UserPlaylistModel.Artists)
let artistId = UserPlaylistModel.data(index, UserPlaylistModel.ArtistId)
let album = UserPlaylistModel.data(index, UserPlaylistModel.Album)
let albumId = UserPlaylistModel.data(index, UserPlaylistModel.AlbumId)
let duration = UserPlaylistModel.data(index, UserPlaylistModel.Duration)
syncedLyrics.song = title
@@ -116,7 +118,7 @@ Flickable {
syncedLyrics.duration = duration
syncedLyrics.fetchLyrics()
Library.addPlaybackHistoryItem(videoId, title, artist, album)
Library.addPlaybackHistoryItem(videoId, title, artist, artistId, album, albumId)
}
}
@@ -125,8 +127,111 @@ Flickable {
videoId: UserPlaylistModel.currentVideoId
}
property MediaPlayer audioPlayer: audioLoader.item
property AudioOutput audioOutput: audioLoader.item.audioOutput
// What the controls talk to: the local MediaPlayer, or the Cast device while casting.
property QtObject audioPlayer: playbackProxy
property QtObject audioOutput: playbackProxy.audioOutput
QtObject {
id: playbackProxy
readonly property MediaPlayer local: audioLoader.item
readonly property bool casting: CastManager.casting
readonly property int position: casting ? CastManager.position : (local ? local.position : 0)
readonly property int duration: casting ? CastManager.duration : (local ? local.duration : 0)
readonly property bool seekable: casting ? CastManager.seekable : (local ? local.seekable : false)
readonly property int playbackState: casting ? CastManager.playbackState : (local ? local.playbackState : MediaPlayer.StoppedState)
readonly property int status: casting ? (CastManager.hasMedia ? MediaPlayer.LoadedMedia : MediaPlayer.NoMedia)
: (local ? local.mediaStatus : MediaPlayer.NoMedia)
// Source of truth for volume and mute, applied to whichever output is active
readonly property QtObject audioOutput: QtObject {
property real volume: 1.0
property bool muted: false
onVolumeChanged: if (playbackProxy.casting) CastManager.setVolume(volume)
onMutedChanged: if (playbackProxy.casting) CastManager.setMuted(muted)
}
function play() {
if (casting) {
CastManager.play()
} else if (local) {
local.play()
}
}
function pause() {
if (casting) {
CastManager.pause()
} else if (local) {
local.pause()
}
}
function stop() {
if (casting) {
CastManager.stop()
} else if (local) {
local.stop()
}
}
// milliseconds
function seek(position: int) {
if (casting) {
CastManager.seek(position)
} else if (local) {
local.position = position
}
}
function loadOnCastDevice(startPosition: int, autoplay: bool) {
const url = info.audioUrl
if (url.toString() === "") {
return
}
CastManager.loadMedia(url, info.title, info.artist ? info.artist : info.channel, info.album, info.thumbnail, startPosition, autoplay)
}
function castTo(deviceId: string) {
const startPosition = position
const autoplay = playbackState === MediaPlayer.PlayingState
CastManager.connectToDevice(deviceId)
loadOnCastDevice(startPosition, autoplay)
}
function stopCasting() {
CastManager.disconnectFromDevice()
}
}
Connections {
target: info
// A new track was extracted: keep the Cast device in step
function onSongChanged() {
if (CastManager.casting) {
playbackProxy.loadOnCastDevice(0, true)
}
}
}
Connections {
target: CastManager
function onMediaFinished() {
UserPlaylistModel.next()
}
function onSessionEnded(position: int, wasPlaying: bool) {
// The local player takes over again at the position the device reached
if (audioLoader.item && info.videoId !== "") {
audioLoader.item.resumePosition = position
audioLoader.item.resumePlaying = wasPlaying
}
}
}
Loader {
id: audioLoader
@@ -136,8 +241,17 @@ Flickable {
id: audio
property int prevPlaybackState: MediaPlayer.StoppedState
source: info.audioUrl
onSourceChanged: play()
// Set when playback is handed back from a Cast device; -1 when there is nothing to restore
property int resumePosition: -1
property bool resumePlaying: true
// Silent while casting, the device plays instead
source: CastManager.casting ? "" : info.audioUrl
onSourceChanged: {
if (source.toString() !== "") {
play()
}
}
onPlaybackStateChanged : {
if (mediaStatus == MediaPlayer.BufferingMedia && playbackState == MediaPlayer.StoppedState && prevPlaybackState == MediaPlayer.PlayingState) {
@@ -153,11 +267,19 @@ Flickable {
if (mediaStatus === MediaPlayer.EndOfMedia) {
console.log("Song ended");
UserPlaylistModel.next();
} else if ((mediaStatus === MediaPlayer.LoadedMedia || mediaStatus === MediaPlayer.BufferedMedia) && resumePosition >= 0) {
position = resumePosition
if (!resumePlaying) {
pause()
}
resumePosition = -1
}
}
audioOutput: AudioOutput {
id: audioOutput
volume: playbackProxy.audioOutput.volume
muted: playbackProxy.audioOutput.muted
}
}
}
+1 -1
View File
@@ -44,7 +44,7 @@ Item {
}
}
Keys.onPressed: {
Keys.onPressed: (event) => {
if(completionList.count > 0) {
if (event.key === Qt.Key_Down) {
if(completionList.selectedDelegate === -1 || completionList.selectedDelegate === completionList.count - 1) {
+50 -79
View File
@@ -41,52 +41,38 @@ Item{
title: i18n("Share to")
preferredWidth: Kirigami.Units.gridUnit * 16
standardButtons: Kirigami.Dialog.NoButton
ColumnLayout {
spacing:0
KirigamiDelegates.SubtitleDelegate {
Layout.fillWidth: true
icon.name: "edit-copy"
text: i18n("Copy Link")
visible: view.depth === 1
onClicked: {
Clipboard.text = root.url
inputSheet.close()
applicationWindow().showPassiveNotification(i18n("Link copied to clipboard"))
}
}
Purpose.AlternativesView {
Layout.fillHeight: true
Layout.fillWidth: true
id: view
pluginType: "ShareUrl"
clip: true
Purpose.AlternativesView {
Layout.fillHeight: true
Layout.fillWidth: true
id: view
pluginType: "ShareUrl"
clip: true
delegate: Controls.ItemDelegate {
id: shareDelegate
delegate: Controls.ItemDelegate {
id: shareDelegate
required property string iconName
required property int index
required property string actionDisplay
required property string iconName
required property int index
required property string actionDisplay
onClicked: view.createJob(shareDelegate.index)
width: parent.width
onClicked: view.createJob(shareDelegate.index)
width: parent.width
contentItem: KirigamiDelegates.IconTitleSubtitle {
title: shareDelegate.actionDisplay
Keys.onReturnPressed: view.createJob (shareDelegate.index)
Keys.onEnterPressed: view.createJob (shareDelegate.index)
icon.name: shareDelegate.iconName
contentItem: KirigamiDelegates.IconTitleSubtitle {
title: shareDelegate.actionDisplay
Keys.onReturnPressed: view.createJob (shareDelegate.index)
Keys.onEnterPressed: view.createJob (shareDelegate.index)
icon.name: shareDelegate.iconName
Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
}
onFinished: inputSheet.close()
}
onFinished: inputSheet.close()
}
}
@@ -95,55 +81,40 @@ Item{
parent: applicationWindow().overlay
drawerContentItem: ColumnLayout {
spacing:0
KirigamiDelegates.SubtitleDelegate {
Layout.fillWidth: true
icon.name: "edit-copy"
text: i18n("Copy Link")
visible: drawerView.depth === 1
onClicked: {
Clipboard.text = root.url
inputDrawer.close()
applicationWindow().showPassiveNotification(i18n("Link copied to clipboard"))
}
}
Purpose.AlternativesView {
id: drawerView
pluginType: "ShareUrl"
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
delegate: Controls.ItemDelegate {
id: shareDrawerDelegate
drawerContentItem: Purpose.AlternativesView {
id: drawerView
pluginType: "ShareUrl"
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
delegate: Controls.ItemDelegate {
id: shareDrawerDelegate
required property string iconName
required property int index
required property string actionDisplay
required property string iconName
required property int index
required property string actionDisplay
onClicked: view.createJob(shareDelegate.index)
width: parent.width
onClicked: view.createJob(shareDelegate.index)
width: parent.width
contentItem: KirigamiDelegates.IconTitleSubtitle {
title: shareDrawerDelegate.actionDisplay
Keys.onReturnPressed: view.createJob (shareDrawerDelegate.index)
Keys.onEnterPressed: view.createJob (shareDrawerDelegate.index)
icon.name: shareDrawerDelegate.iconName
contentItem: KirigamiDelegates.IconTitleSubtitle {
title: shareDrawerDelegate.actionDisplay
Keys.onReturnPressed: view.createJob (shareDrawerDelegate.index)
Keys.onEnterPressed: view.createJob (shareDrawerDelegate.index)
icon.name: shareDrawerDelegate.iconName
Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
}
onFinished: inputDrawer.close()
}
Item{
Layout.fillHeight: true
}
onFinished: inputDrawer.close()
}
Item{
Layout.fillHeight: true
}
}
}
+1 -1
View File
@@ -110,7 +110,7 @@ Components.ConvergentContextMenu {
if (favouriteWatcher.isFavourite) {
Library.removeFavourite(root.videoId)
} else {
Library.addFavourite(root.videoId, root.songTitle, root.artistsDisplayString, "")
Library.addFavourite(root.videoId, root.songTitle, root.artistsDisplayString, null, null, null)
}
root.close()
}
+23 -6
View File
@@ -47,9 +47,14 @@ FavouritesModel *Library::favourites()
return m_favourites;
}
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
void Library::addFavourite(const QString &videoId,
const QString &title,
const QString &artistName,
const QString &artistId,
const QString &album,
const QString &albumId)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(addSong(videoId, title, artistName, artistId, album, albumId), this, [=, this] {
QCoro::connect(m_database->execute(u"insert or ignore into favourites (video_id) values (?)"_s, videoId),
this, &Library::refreshFavourites);
});
@@ -124,9 +129,14 @@ void Library::refreshFavourites()
Q_EMIT favouritesChanged();
}
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
void Library::addPlaybackHistoryItem(const QString &videoId,
const QString &title,
const QString &artistName,
const QString &artistId,
const QString &album,
const QString &albumId)
{
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(addSong(videoId, title, artistName, artistId, album, albumId), this, [=, this] {
QCoro::connect(m_database->execute(u"insert or ignore into played_songs (video_id, plays) values (?, ?)"_s, videoId, 0), this, [=, this] {
QCoro::connect(m_database->execute(u"update played_songs set plays = plays + 1 where video_id = ? "_s, videoId),
this, &Library::refreshPlaybackHistory);
@@ -160,10 +170,17 @@ QNetworkAccessManager &Library::nam()
return m_networkImageCacher;
}
QFuture<void> Library::addSong(const QString &videoId, const QString &title, const QString &artist, const QString &album)
QFuture<void>
Library::addSong(const QString &videoId, const QString &title, const QString &artistName, const QString &artistId, const QString &album, const QString &albumId)
{
// replace is used here to update songs from times when we didn't store artist and album
return m_database->execute(u"insert or replace into songs (video_id, title, artist, album) values (?, ?, ?, ?)"_s, videoId, title, artist, album);
return m_database->execute(u"insert or replace into songs (video_id, title, artist, album, artist_id, album_id) values (?, ?, ?, ?, ?, ?)"_s,
videoId,
title,
artistName,
album,
artistId,
albumId);
}
PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent)
+14 -3
View File
@@ -161,7 +161,12 @@ public:
FavouritesModel *favourites();
Q_SIGNAL void favouritesChanged();
void refreshFavourites();
Q_INVOKABLE void addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addFavourite(const QString &videoId,
const QString &title,
const QString &artistName,
const QString &artistId,
const QString &album,
const QString &albumId);
Q_INVOKABLE void removeFavourite(const QString &videoId);
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
@@ -176,7 +181,12 @@ public:
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
void refreshPlaybackHistory();
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId,
const QString &title,
const QString &artistName,
const QString &artistId,
const QString &album,
const QString &albumId);
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
@@ -188,7 +198,8 @@ public:
ThreadedDatabase &database() {
return *m_database;
}
QFuture<void> addSong(const QString &videoId, const QString &title, const QString &artist, const QString &album);
QFuture<void>
addSong(const QString &videoId, const QString &title, const QString &artistName, const QString &artistId, const QString &album, const QString &albumId);
private:
explicit Library(QObject *parent = nullptr);
+8 -2
View File
@@ -84,9 +84,15 @@ void LocalPlaylistsModel::addPlaylist(const QString &title, const QString &descr
QCoro::connect(Library::instance().database().execute(u"insert into playlists (title, description) values (?, ?)"_s, title, description), &Library::instance(), &Library::playlistsChanged);
}
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId,
const QString &videoId,
const QString &title,
const QString &artist,
const QString &artistId,
const QString &album,
const QString &albumId)
{
importer->addPlaylistEntry(playlistId, videoId, title, artist, album);
importer->addPlaylistEntry(playlistId, videoId, title, artist, artistId, album, albumId);
}
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const playlist::Track &track)
+7 -1
View File
@@ -48,7 +48,13 @@ public:
QVariant data(const QModelIndex &index, int role) const override;
Q_INVOKABLE void addPlaylist(const QString &title, const QString &description);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId,
const QString &videoId,
const QString &title,
const QString &artist,
const QString &artistId,
const QString &album,
const QString &albumId);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const playlist::Track &track);
Q_INVOKABLE void importPlaylist(const QString &url);
Q_SIGNAL void importFinished();
+26 -36
View File
@@ -3,6 +3,10 @@
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include <QApplication>
#include <QDir>
#include <QFile>
#include <QLibraryInfo>
#include <QStandardPaths>
#include <QQmlApplicationEngine>
#include <QtQml>
#include <QSortFilterProxyModel>
@@ -15,8 +19,9 @@
#include <KAboutData>
#include <KCrash>
#include <KIconTheme>
#include <KLocalizedContext>
#include <KLocalizedQmlContext>
#include <KLocalizedString>
#include <KirigamiAddons/App/KirigamiAppDefaults>
#include <ThreadedDatabase>
@@ -24,47 +29,34 @@
using namespace Qt::StringLiterals;
class StyleFallback
// Sessions outside of Plasma often export a GTK platform theme (or none), which leaves Qt applications
// with a default light palette even though the system's Qt theme, configured through qt6ct, is dark.
// Use qt6ct when it is configured and installed, unless the session already selected a Qt-specific theme.
static void useConfiguredQtPlatformTheme()
{
public:
StyleFallback()
{
if (QGuiApplication::instance()) {
qFatal("StyleFallback must be created before Q(Gui)Application");
}
KIconTheme::initTheme();
m_initialQuickControlsStyle = QQuickStyle::name();
if (QString::fromLocal8Bit(qgetenv("XDG_CURRENT_DESKTOP")).contains(u"KDE"_s, Qt::CaseInsensitive)) {
return; // plasma-integration takes care of this
}
void setup(QGuiApplication *app)
{
Q_ASSERT(app); // Force people to run this at the right time
// Check if the platformtheme or user set up a style for us
if (m_initialQuickControlsStyle != QQuickStyle::name()
|| !qEnvironmentVariableIsEmpty("QT_QUICK_CONTROLS_STYLE")) {
return;
}
qWarning() << "Detected that the platform did not set up a style, using defaults";
// platformtheme did not handle QtQuick styling, set everything to fallback values
QQuickStyle::setStyle(QStringLiteral("org.kde.desktop"));
QApplication::setStyle(QStyleFactory::create(QStringLiteral("Breeze")));
QIcon::setThemeName(QStringLiteral("breeze"));
const auto current = qEnvironmentVariable("QT_QPA_PLATFORMTHEME");
if (!current.isEmpty() && !current.startsWith(u"gtk"_s)) {
return;
}
private:
QString m_initialQuickControlsStyle;
};
const bool configured = !QStandardPaths::locate(QStandardPaths::GenericConfigLocation, u"qt6ct/qt6ct.conf"_s).isEmpty();
const bool installed = QFile::exists(QLibraryInfo::path(QLibraryInfo::PluginsPath) + u"/platformthemes/libqt6ct.so"_s);
if (configured && installed) {
qputenv("QT_QPA_PLATFORMTHEME", "qt6ct");
qputenv("QT_QPA_PLATFORMTHEME_QT6", "qt6ct");
}
}
Q_DECL_EXPORT int main(int argc, char *argv[])
{
StyleFallback fallback;
useConfiguredQtPlatformTheme();
QApplication app(argc, argv);
fallback.setup(&app);
KirigamiAppDefaults::apply(&app);
// WORKAROUND: Force QtMultimedia gstreamer backend
/*
@@ -106,11 +98,9 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("org.kde.audiotube")));
KCrash::initialize();
QQmlApplicationEngine engine;
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
KLocalization::setupLocalizedContext(&engine);
engine.loadFromModule("org.kde.audiotube", "Main");
if (engine.rootObjects().isEmpty()) {
@@ -0,0 +1,6 @@
-- SPDX-FileCopyrightText: 2026 Jonah Brüchert <[email protected]>
--
-- SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
alter table songs drop column artist_id;
alter table songs drop column album_id;
@@ -0,0 +1,6 @@
-- SPDX-FileCopyrightText: 2026 Jonah Brüchert <[email protected]>
--
-- SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
alter table songs add column artist_id Text;
alter table songs add column album_id Text;
+12 -4
View File
@@ -47,9 +47,15 @@ void PlaylistImporter::importPlaylist(const QString &url)
});
}
void PlaylistImporter::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
void PlaylistImporter::addPlaylistEntry(qint64 playlistId,
const QString &videoId,
const QString &title,
const QString &artist,
const QString &artistId,
const QString &album,
const QString &albumId)
{
QCoro::connect(Library::instance().addSong(videoId, title, artist, album), this, [=, this] {
QCoro::connect(Library::instance().addSong(videoId, title, artist, artistId, album, albumId), this, [=, this] {
QCoro::connect(Library::instance().database().execute(u"insert into playlist_entries (playlist_id, video_id) values (?, ?)"_s, playlistId, videoId), this, [=, this] {
Q_EMIT playlistEntriesChanged(playlistId);
});
@@ -61,8 +67,10 @@ void PlaylistImporter::addPlaylistEntry(qint64 playlistId, const playlist::Track
const QString videoId = QString::fromStdString(track.video_id.value());
const QString title = (!track.title.empty()) ? QString::fromStdString(track.title) : i18n("No title");
const QString artists = PlaylistUtils::artistsToString(track.artists);
const QString album = track.album ? QString::fromStdString(track.album->name) : i18n("No album");
this->addPlaylistEntry(playlistId, videoId, title, artists, album);
const QString artistId = track.artists.empty() ? QString() : QString::fromStdString(track.artists.front().id.value_or(std::string()));
const QString album = track.album ? QString::fromStdString(track.album->name) : i18n("No album");
const QString albumId = track.album ? QString::fromStdString(track.album->id.value_or(std::string())) : QString();
this->addPlaylistEntry(playlistId, videoId, title, artists, artistId, album, albumId);
}
void PlaylistImporter::renamePlaylist(qint64 playlistId, const QString &name, const QString &description)
+7 -1
View File
@@ -19,7 +19,13 @@ public:
Q_INVOKABLE void importPlaylist(const QString &url);
Q_SIGNAL void importFinished();
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId,
const QString &videoId,
const QString &title,
const QString &artist,
const QString &artistId,
const QString &album,
const QString &albumId);
Q_INVOKABLE void addPlaylistEntry(qint64 playlistId, const playlist::Track &track);
Q_INVOKABLE void renamePlaylist(qint64 playlistId, const QString &name, const QString &description);
+8
View File
@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
<g fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M3 8V6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"/>
<path d="M3 12a9 9 0 0 1 9 9"/>
<path d="M3 16a5 5 0 0 1 5 5"/>
</g>
<circle cx="4" cy="20" r="1.5" fill="#ffffff"/>
</svg>

After

Width:  |  Height:  |  Size: 393 B

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22" width="22" height="22">
<style id="current-color-scheme" type="text/css">
.ColorScheme-Text { color: #232629; }
</style>
<path class="ColorScheme-Text" fill="currentColor" d="M11 3C6.6 3 3 6.6 3 11v6a2 2 0 0 0 2 2h1.5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H5v-1c0-3.3 2.7-6 6-6s6 2.7 6 6v1h-1.5a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1H17a2 2 0 0 0 2-2v-6c0-4.4-3.6-8-8-8z"/>
</svg>

After

Width:  |  Height:  |  Size: 434 B

+333
View File
@@ -0,0 +1,333 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "trayicon.h"
#include <QCoreApplication>
#include <QDBusConnection>
#include <QDBusConnectionInterface>
#include <QDBusMessage>
#include <QDBusVariant>
#include <QEvent>
#include <QFile>
#include <QGuiApplication>
#include <QIcon>
#include <QPainter>
#include <QPixmap>
#include <QStyleHints>
#include <QSvgRenderer>
#include <KLocalizedString>
#include <KStatusNotifierItem>
#include <KWindowSystem>
using namespace Qt::StringLiterals;
namespace
{
const QString ICON_NAME = u"org.kde.audiotube-symbolic"_s;
const QString ICON_RESOURCE = u":/qt/qml/org/kde/audiotube/resources/org.kde.audiotube-symbolic.svg"_s;
// Colour used for the foreground in the bundled symbolic icon
const QString ICON_PLACEHOLDER_COLOR = u"#232629"_s;
// Breeze text colours for light and dark backgrounds
const QString ICON_COLOR_ON_LIGHT = u"#232629"_s;
const QString ICON_COLOR_ON_DARK = u"#fcfcfc"_s;
const QString PORTAL_SERVICE = u"org.freedesktop.portal.Desktop"_s;
const QString PORTAL_PATH = u"/org/freedesktop/portal/desktop"_s;
const QString PORTAL_SETTINGS = u"org.freedesktop.portal.Settings"_s;
/// Whether the desktop asks for a dark appearance. The shell hosting the tray follows this setting, which is not
/// necessarily the palette this application ended up with (e.g. with a GTK platform theme), so ask the settings portal.
bool systemPrefersDark()
{
auto call = QDBusMessage::createMethodCall(PORTAL_SERVICE, PORTAL_PATH, PORTAL_SETTINGS, u"Read"_s);
call << u"org.freedesktop.appearance"_s << u"color-scheme"_s;
const auto reply = QDBusConnection::sessionBus().call(call, QDBus::Block, 500);
if (reply.type() == QDBusMessage::ReplyMessage && !reply.arguments().isEmpty()) {
// The portal wraps the value in a variant, and the method's return value in another one
auto value = reply.arguments().first().value<QDBusVariant>().variant();
if (value.canConvert<QDBusVariant>()) {
value = value.value<QDBusVariant>().variant();
}
switch (value.toUInt()) {
case 1:
return true;
case 2:
return false;
default:
break;
}
}
const auto palette = QGuiApplication::palette();
return palette.color(QPalette::WindowText).lightness() > palette.color(QPalette::Window).lightness();
}
/// Renders the bundled monochrome icon for a light or dark tray background.
QIcon renderMonochromeIcon()
{
QFile file(ICON_RESOURCE);
if (!file.open(QIODevice::ReadOnly)) {
return {};
}
auto svg = QString::fromUtf8(file.readAll());
svg.replace(ICON_PLACEHOLDER_COLOR, systemPrefersDark() ? ICON_COLOR_ON_DARK : ICON_COLOR_ON_LIGHT, Qt::CaseInsensitive);
QSvgRenderer renderer(svg.toUtf8());
QIcon icon;
for (const int size : {16, 22, 24, 32, 48, 64}) {
const qreal dpr = qApp->devicePixelRatio();
QPixmap pixmap(QSize(size, size) * dpr);
pixmap.setDevicePixelRatio(dpr);
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
renderer.render(&painter, QRectF(0, 0, size, size));
painter.end();
icon.addPixmap(pixmap);
}
return icon;
}
}
TrayIcon::TrayIcon(QObject *parent)
: QObject(parent)
{
// The window is hidden, not closed, when the user dismisses it; quitting happens through the tray menu.
QGuiApplication::setQuitOnLastWindowClosed(false);
qApp->installEventFilter(this);
m_menu = new QMenu;
m_toggleAction = m_menu->addAction(i18n("Show AudioTube"));
connect(m_toggleAction, &QAction::triggered, this, &TrayIcon::toggleWindow);
m_menu->addSeparator();
m_previousAction = m_menu->addAction(QIcon::fromTheme(u"media-skip-backward"_s), i18n("Previous Track"));
connect(m_previousAction, &QAction::triggered, this, &TrayIcon::previousRequested);
m_playPauseAction = m_menu->addAction(QIcon::fromTheme(u"media-playback-start"_s), i18n("Play"));
connect(m_playPauseAction, &QAction::triggered, this, &TrayIcon::playPauseRequested);
m_nextAction = m_menu->addAction(QIcon::fromTheme(u"media-skip-forward"_s), i18n("Next Track"));
connect(m_nextAction, &QAction::triggered, this, &TrayIcon::nextRequested);
m_menu->addSeparator();
m_quitAction = m_menu->addAction(QIcon::fromTheme(u"application-exit"_s), i18n("Quit"));
connect(m_quitAction, &QAction::triggered, this, &TrayIcon::quit);
m_item = new KStatusNotifierItem(u"org.kde.audiotube"_s, this);
m_item->setCategory(KStatusNotifierItem::ApplicationStatus);
m_item->setStatus(KStatusNotifierItem::Active);
m_item->setTitle(i18n("AudioTube"));
m_item->setStandardActionsEnabled(false);
m_item->setContextMenu(m_menu); // takes ownership
connect(m_item, &KStatusNotifierItem::activateRequested, this, [this] {
toggleWindow();
});
connect(m_item, &KStatusNotifierItem::secondaryActivateRequested, this, &TrayIcon::playPauseRequested);
// Follow light/dark switches, for hosts that don't recolour symbolic icons themselves
connect(QGuiApplication::styleHints(), &QStyleHints::colorSchemeChanged, this, &TrayIcon::updateIcon);
QDBusConnection::sessionBus().connect(PORTAL_SERVICE, PORTAL_PATH, PORTAL_SETTINGS, u"SettingChanged"_s, this, SLOT(onPortalSettingChanged(QString, QString, QDBusVariant)));
updateIcon();
updateActions();
}
TrayIcon::~TrayIcon() = default;
QWindow *TrayIcon::window() const
{
return m_window;
}
void TrayIcon::setWindow(QWindow *window)
{
if (m_window == window) {
return;
}
if (m_window) {
m_window->removeEventFilter(this);
}
m_window = window;
if (m_window) {
m_window->installEventFilter(this);
connect(m_window, &QWindow::visibleChanged, this, &TrayIcon::updateActions);
}
updateActions();
Q_EMIT windowChanged();
}
bool TrayIcon::playing() const
{
return m_playing;
}
void TrayIcon::setPlaying(bool playing)
{
if (m_playing == playing) {
return;
}
m_playing = playing;
updateActions();
Q_EMIT playingChanged();
}
QString TrayIcon::trackTitle() const
{
return m_trackTitle;
}
void TrayIcon::setTrackTitle(const QString &title)
{
if (m_trackTitle == title) {
return;
}
m_trackTitle = title;
updateActions();
Q_EMIT trackTitleChanged();
}
QString TrayIcon::trackArtist() const
{
return m_trackArtist;
}
void TrayIcon::setTrackArtist(const QString &artist)
{
if (m_trackArtist == artist) {
return;
}
m_trackArtist = artist;
updateActions();
Q_EMIT trackArtistChanged();
}
bool TrayIcon::canGoNext() const
{
return m_canGoNext;
}
void TrayIcon::setCanGoNext(bool can)
{
if (m_canGoNext == can) {
return;
}
m_canGoNext = can;
updateActions();
Q_EMIT canGoNextChanged();
}
bool TrayIcon::canGoPrevious() const
{
return m_canGoPrevious;
}
void TrayIcon::setCanGoPrevious(bool can)
{
if (m_canGoPrevious == can) {
return;
}
m_canGoPrevious = can;
updateActions();
Q_EMIT canGoPreviousChanged();
}
void TrayIcon::toggleWindow()
{
if (!m_window) {
return;
}
if (m_window->isVisible() && !(m_window->windowStates() & Qt::WindowMinimized)) {
m_window->hide();
} else {
showWindow();
}
}
void TrayIcon::showWindow()
{
if (!m_window) {
return;
}
m_window->setWindowStates(m_window->windowStates() & ~Qt::WindowMinimized);
m_window->show();
m_window->raise();
KWindowSystem::activateWindow(m_window);
m_window->requestActivate();
}
bool TrayIcon::trayAvailable() const
{
auto *bus = QDBusConnection::sessionBus().interface();
return bus && bus->isServiceRegistered(u"org.kde.StatusNotifierWatcher"_s);
}
bool TrayIcon::eventFilter(QObject *watched, QEvent *event)
{
if (watched == qApp) {
// quit() asks every window to close first; that must not be mistaken for the user dismissing the window
if (event->type() == QEvent::Quit) {
m_quitting = true;
} else if (event->type() == QEvent::ApplicationPaletteChange) {
updateIcon();
}
} else if (watched == m_window && event->type() == QEvent::Close && !m_quitting) {
if (trayAvailable()) {
event->ignore();
m_window->hide();
} else {
// Without a tray there would be no way back to a hidden window
QCoreApplication::quit();
}
return true;
}
return QObject::eventFilter(watched, event);
}
void TrayIcon::onPortalSettingChanged(const QString &ns, const QString &key, const QDBusVariant &)
{
if (ns == "org.freedesktop.appearance"_L1 && key == "color-scheme"_L1) {
updateIcon();
}
}
void TrayIcon::updateIcon()
{
// Plasma recolours symbolic named icons to match the panel. Other hosts show them as they are, so they get
// a pixmap that is rendered for the light or dark appearance of the desktop instead.
const bool onPlasma = qEnvironmentVariable("XDG_CURRENT_DESKTOP").contains(u"KDE"_s, Qt::CaseInsensitive);
if (onPlasma && QIcon::hasThemeIcon(ICON_NAME)) {
m_item->setIconByName(ICON_NAME);
return;
}
const auto monochrome = renderMonochromeIcon();
if (!monochrome.isNull()) {
m_item->setIconByPixmap(monochrome);
} else {
m_item->setIconByName(u"org.kde.audiotube"_s);
}
}
void TrayIcon::updateActions()
{
const bool visible = m_window && m_window->isVisible() && !(m_window->windowStates() & Qt::WindowMinimized);
m_toggleAction->setText(visible ? i18n("Hide to Tray") : i18n("Show AudioTube"));
m_playPauseAction->setText(m_playing ? i18n("Pause") : i18n("Play"));
m_playPauseAction->setIcon(QIcon::fromTheme(m_playing ? u"media-playback-pause"_s : u"media-playback-start"_s));
m_previousAction->setEnabled(m_canGoPrevious);
m_nextAction->setEnabled(m_canGoNext);
if (m_trackTitle.isEmpty()) {
m_item->setToolTip(ICON_NAME, i18n("AudioTube"), QString());
} else {
m_item->setToolTip(ICON_NAME, m_trackTitle, m_trackArtist);
}
}
void TrayIcon::quit()
{
m_quitting = true;
QCoreApplication::quit();
}
+93
View File
@@ -0,0 +1,93 @@
// SPDX-FileCopyrightText: 2026 AudioTube contributors
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QAction>
#include <QMenu>
#include <QObject>
#include <QPointer>
#include <QWindow>
#include <qqmlintegration.h>
class KStatusNotifierItem;
class QDBusVariant;
/**
* System tray icon. Closing the associated window hides it to the tray, so that playback keeps running;
* clicking the icon toggles the window.
*/
class TrayIcon : public QObject
{
Q_OBJECT
QML_ELEMENT
Q_PROPERTY(QWindow *window READ window WRITE setWindow NOTIFY windowChanged)
Q_PROPERTY(bool playing READ playing WRITE setPlaying NOTIFY playingChanged)
Q_PROPERTY(QString trackTitle READ trackTitle WRITE setTrackTitle NOTIFY trackTitleChanged)
Q_PROPERTY(QString trackArtist READ trackArtist WRITE setTrackArtist NOTIFY trackArtistChanged)
Q_PROPERTY(bool canGoNext READ canGoNext WRITE setCanGoNext NOTIFY canGoNextChanged)
Q_PROPERTY(bool canGoPrevious READ canGoPrevious WRITE setCanGoPrevious NOTIFY canGoPreviousChanged)
public:
explicit TrayIcon(QObject *parent = nullptr);
~TrayIcon() override;
QWindow *window() const;
void setWindow(QWindow *window);
Q_SIGNAL void windowChanged();
bool playing() const;
void setPlaying(bool playing);
Q_SIGNAL void playingChanged();
QString trackTitle() const;
void setTrackTitle(const QString &title);
Q_SIGNAL void trackTitleChanged();
QString trackArtist() const;
void setTrackArtist(const QString &artist);
Q_SIGNAL void trackArtistChanged();
bool canGoNext() const;
void setCanGoNext(bool can);
Q_SIGNAL void canGoNextChanged();
bool canGoPrevious() const;
void setCanGoPrevious(bool can);
Q_SIGNAL void canGoPreviousChanged();
Q_INVOKABLE void toggleWindow();
Q_INVOKABLE void showWindow();
Q_SIGNAL void playPauseRequested();
Q_SIGNAL void nextRequested();
Q_SIGNAL void previousRequested();
protected:
bool eventFilter(QObject *watched, QEvent *event) override;
private:
Q_SLOT void onPortalSettingChanged(const QString &ns, const QString &key, const QDBusVariant &value);
bool trayAvailable() const;
void updateIcon();
void updateActions();
void quit();
KStatusNotifierItem *m_item = nullptr;
QMenu *m_menu = nullptr; // owned by the status notifier item
QAction *m_toggleAction = nullptr;
QAction *m_playPauseAction = nullptr;
QAction *m_previousAction = nullptr;
QAction *m_nextAction = nullptr;
QAction *m_quitAction = nullptr;
QPointer<QWindow> m_window;
bool m_playing = false;
QString m_trackTitle;
QString m_trackArtist;
bool m_canGoNext = false;
bool m_canGoPrevious = false;
bool m_quitting = false;
};
+9
View File
@@ -87,6 +87,15 @@ QVariant UserPlaylistModel::data(const QModelIndex &index, int role) const
return QString::fromStdString(m_playlist.tracks[index.row()].video_id);
case Artists:
return PlaylistUtils::artistsToString(m_playlist.tracks[index.row()].artists);
case ArtistId:
if (!m_playlist.tracks[index.row()].artists.empty()) {
auto const &id = m_playlist.tracks[index.row()].artists.front().id;
if (id) {
return QString::fromStdString(*id);
}
}
return {};
case Album:
return QString::fromStdString(m_playlist.tracks[index.row()].album.value_or(meta::Album()).name);
case AlbumId:
+1
View File
@@ -39,6 +39,7 @@ public:
Title = Qt::UserRole + 1,
VideoId,
Artists,
ArtistId,
Album,
AlbumId,
IsCurrent,
+29 -5
View File
@@ -38,21 +38,45 @@ QUrl VideoInfoExtractor::audioUrl() const
std::vector<video_info::Format> audioFormats;
qWarning() << "available formats:";
for (const auto &f : m_videoInfo.formats) {
qWarning() << " " << "acodec" << f.acodec << "format_id" << f.format_id << "quality" << f.quality << "vcodec" << f.vcodec;
}
// filter audio only formats
std::copy_if(m_videoInfo.formats.begin(), m_videoInfo.formats.end(), std::back_inserter(audioFormats),
[](const video_info::Format &format) {
return (!format.acodec.has_value() || format.acodec != "none") && format.vcodec == "none";
});
const auto isOpus = [](const video_info::Format &format) {
return format.acodec == "opus";
};
std::stable_sort(audioFormats.begin(), audioFormats.end(), [&](const video_info::Format &a, const video_info::Format &b) {
if (a.quality != b.quality) {
return a.quality > b.quality;
}
return isOpus(a) && !isOpus(b);
});
if (audioFormats.empty()) {
qWarning() << "No audio track found, falling back to worst-quality video";
std::copy_if(m_videoInfo.formats.begin(), m_videoInfo.formats.end(), std::back_inserter(audioFormats), [](const video_info::Format &format) {
return format.acodec != "none";
});
std::sort(audioFormats.begin(), audioFormats.end(), [](const video_info::Format &a, const video_info::Format &b) {
return a.quality < b.quality;
});
}
if (audioFormats.empty()) {
qWarning() << "No audio track found";
return {};
}
std::sort(audioFormats.begin(), audioFormats.end(),
[](const video_info::Format &a, const video_info::Format &b) {
return a.quality > b.quality;
});
qWarning() << "chosen url:" << audioFormats.front().url;
return QUrl(QString::fromStdString(audioFormats.front().url));
}
+1 -1
View File
@@ -12,7 +12,7 @@
#include <vector>
#include <memory>
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.11.4";
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.12.3";
struct YTMusicPrivate;