Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
281db6c667 | ||
|
|
1ad3877323 | ||
|
|
451b90907b | ||
|
|
e56cebec51 |
No files matched your search
@@ -10,9 +10,3 @@ build/
|
||||
compile_commands.json
|
||||
.cache
|
||||
.qmlls.ini
|
||||
|
||||
# makepkg output
|
||||
/packaging/arch/src/
|
||||
/packaging/arch/pkg/
|
||||
/packaging/arch/audiotube/
|
||||
/packaging/arch/*.pkg.tar.*
|
||||
@@ -23,8 +23,3 @@ 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
|
||||
+6
-8
@@ -6,8 +6,8 @@ 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 "11")
|
||||
set(RELEASE_SERVICE_VERSION_MICRO "70")
|
||||
set(RELEASE_SERVICE_VERSION_MINOR "03")
|
||||
set(RELEASE_SERVICE_VERSION_MICRO "80")
|
||||
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
||||
|
||||
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
|
||||
@@ -40,14 +40,13 @@ 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 Network)
|
||||
find_package(KF6 REQUIRED COMPONENTS Kirigami I18n CoreAddons Crash WindowSystem IconThemes Config StatusNotifierItem)
|
||||
find_package(Python3 COMPONENTS Development.Embed REQUIRED)
|
||||
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)
|
||||
set(PYBIND11_FINDPYTHON ON)
|
||||
find_package(pybind11 REQUIRED)
|
||||
find_package(Ytdlp REQUIRED RUNTIME)
|
||||
find_package(YTMusicAPI 1.10.2 REQUIRED RUNTIME)
|
||||
find_package(KF6KirigamiAddons 1.12.0 REQUIRED)
|
||||
find_package(KF6KirigamiAddons 0.11.0 REQUIRED)
|
||||
find_package(FutureSQL6 REQUIRED)
|
||||
find_package(QCoro6 0.10.0 REQUIRED COMPONENTS Core)
|
||||
|
||||
@@ -62,6 +61,5 @@ 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 FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
+4
-4
@@ -7,8 +7,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/denoland/deno/releases/download/v2.9.5/deno-x86_64-unknown-linux-gnu.zip",
|
||||
"sha256": "8b010a3b1a4a0188a67cdb8a7a27348b2a501af78aec7fc74f2ace167368d530",
|
||||
"url": "https://github.com/denoland/deno/releases/download/v2.7.2/deno-x86_64-unknown-linux-gnu.zip",
|
||||
"sha256": "bc3af4d1bedd7893664b925c0f39fb08f7b12242e57ed4acdc0cf64540b4449c",
|
||||
"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.9.5/deno-aarch64-unknown-linux-gnu.zip",
|
||||
"sha256": "6b7cae3a8fc4385a59dea3146fcb8bad7fea4230e0ad36a8c692afacbc254be0",
|
||||
"url": "https://github.com/denoland/deno/releases/download/v2.7.2/deno-aarch64-unknown-linux-gnu.zip",
|
||||
"sha256": "c36c0b284d084dfe7045a106e60bd98d919183fd69d7902a42f3c7a244bf4386",
|
||||
"x-checker-data": {
|
||||
"type": "json",
|
||||
"url": "https://api.github.com/repos/denoland/deno/releases/latest",
|
||||
|
||||
@@ -7,33 +7,33 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl",
|
||||
"sha256": "62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775"
|
||||
"url": "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl",
|
||||
"sha256": "9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/cc/61/d01fc49b8dea277640b55a9e15960dbca9fdc8c9fde18e572d39c59f4019/charset_normalizer-3.5.1-py3-none-any.whl",
|
||||
"sha256": "6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6"
|
||||
"url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz",
|
||||
"sha256": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl",
|
||||
"sha256": "815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4"
|
||||
"url": "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl",
|
||||
"sha256": "771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl",
|
||||
"sha256": "2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0"
|
||||
"url": "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl",
|
||||
"sha256": "2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl",
|
||||
"sha256": "0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3"
|
||||
"url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl",
|
||||
"sha256": "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/29/ad/6d471ea9d81e1f59a4d01badda21e7f3f508b94ed171c677b6547b292f73/ytmusicapi-1.12.3-py3-none-any.whl",
|
||||
"sha256": "f65db840907a43ca23b29bd563951a1e390fbe2089d7aa4ddbe2043824b2acd9"
|
||||
"url": "https://files.pythonhosted.org/packages/30/1e/1e462a98c99923757166b7dd703b04b53bb6d7787d2dbdd69e46fda6899d/ytmusicapi-1.11.4-py3-none-any.whl",
|
||||
"sha256": "5c2c0ecce6a8c2350688922f014b220459a73568e06a0cff90416070a3268fd9"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -78,11 +78,9 @@ 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>
|
||||
@@ -94,13 +92,6 @@ 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"/>
|
||||
@@ -154,88 +145,61 @@ 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>
|
||||
@@ -248,60 +212,41 @@ 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 koderefaktorering 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>
|
||||
@@ -313,30 +258,21 @@ 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>
|
||||
@@ -379,7 +315,6 @@ 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>
|
||||
@@ -405,7 +340,6 @@ 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>
|
||||
|
||||
@@ -80,7 +80,6 @@ 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 用戶端
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "org.kde.audiotube",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "6.11",
|
||||
"runtime-version": "6.10",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "audiotube",
|
||||
"tags": [
|
||||
@@ -11,8 +11,6 @@
|
||||
"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",
|
||||
@@ -36,8 +34,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "https://files.pythonhosted.org/packages/69/b2/8cd1613f56eed7ceb64fbd4df3f1c01246bfb098e6f398228bafda22b80b/yt_dlp-2026.8.19-py3-none-any.whl",
|
||||
"sha256": "1d57897e94c6665a0a6f9bc54b34e584284e32c034ffab3a7df25d8f7b24eedf",
|
||||
"url": "https://files.pythonhosted.org/packages/7e/a4/8b5cd28ab87aef48ef15e74241befec3445496327db028f34147a9e0f14f/yt_dlp-2026.3.3-py3-none-any.whl",
|
||||
"sha256": "166c6e68c49ba526474bd400e0129f58aa522c2896204aa73be669c3d2f15e63",
|
||||
"x-checker-data": {
|
||||
"type": "pypi",
|
||||
"name": "yt-dlp",
|
||||
@@ -79,8 +77,8 @@
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v3.1.0.tar.gz",
|
||||
"sha256": "ef712655692a2e9bf7bb7874c022564a45f91d847ddee987e720cd9e28849665",
|
||||
"url": "https://github.com/pybind/pybind11/archive/refs/tags/v3.0.2.tar.gz",
|
||||
"sha256": "2f20a0af0b921815e0e169ea7fec63909869323581b89d7de1553468553f6a2d",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 13384,
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
# 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
|
||||
}
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "تيوب الصوتي"
|
||||
@@ -299,84 +299,84 @@ msgstr "أغلق المشغل المكبّر"
|
||||
msgid "No media playing"
|
||||
msgstr "لا يوجد وسائط تعمل"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "أزل من المفضلة"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "أضف للمفضلة"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "افتح درج الصوت"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "ألغ كتم الصوت"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "كتم الصوت"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1٪"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "أخف الكلمات"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "اعرض كلمات الأغاني"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "شارك الأغنية"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "أضف إلى قائمة التّشغيل المحلية"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "أخف قائمة الانتظار"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "أظهر قائمة الانتظار"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "أزِل أغنية"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "امحُ الطّابور"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "اخلط قائمة الانتظار"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "الأغاني القادمة"
|
||||
@@ -466,6 +466,16 @@ 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"
|
||||
@@ -506,50 +516,50 @@ msgstr "أزل من التّاريخ"
|
||||
msgid "Add to playlist"
|
||||
msgstr "أضف إلى قائمة التّشغيل"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "بث الموسيقى من YouTube Music"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 جونا بروشيرت، 2021-2024 مجتمع كيدي"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "جوناه بروكيرت"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "الصائن"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "ماتيس بروشيرت"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "المصمم"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "زايد السعيدي"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -560,22 +570,16 @@ msgstr "واجهة برمجة التطبيقات غير الرسمية لموس
|
||||
msgid "No description"
|
||||
msgstr "لا يوجد وصف"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "بلا عنوان"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "لا يوجد ألبوم"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "انسخ الرابط"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "نُسخ الرابط إلى الحافظة"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "أزل المفضلة"
|
||||
|
||||
|
||||
+40
-30
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr ""
|
||||
@@ -296,85 +296,85 @@ msgstr ""
|
||||
msgid "No media playing"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr ""
|
||||
@@ -460,6 +460,16 @@ 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"
|
||||
@@ -500,50 +510,50 @@ msgstr ""
|
||||
msgid "Add to playlist"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -554,12 +564,12 @@ msgstr ""
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr ""
|
||||
+40
-30
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourite Songs"
|
||||
msgid "Share Song"
|
||||
msgstr "Seçilmiş mahnılar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Mahnı siyahısına əlavə edin"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Hide Queue"
|
||||
msgstr "Növbə"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Show Queue"
|
||||
msgstr "Növbə"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Remove Song"
|
||||
msgstr "Süçilmişlər"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Clear Queue"
|
||||
msgstr "Növbə"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Shuffle"
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Qarışıq"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr ""
|
||||
@@ -496,6 +496,16 @@ 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"
|
||||
@@ -537,51 +547,51 @@ msgstr ""
|
||||
msgid "Add to playlist"
|
||||
msgstr "Mahnı siyahısına əlavə edin"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Xəyyam Qocayev"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Find music on YouTube Music"
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
@@ -594,12 +604,12 @@ msgstr "Musiqini YouTube Musiqi-də tapın"
|
||||
msgid "No description"
|
||||
msgstr "Mahnı siyahıları"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr ""
|
||||
|
||||
+41
-46
@@ -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-2026 Josep M. Ferrer <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025, 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-10-01 17:39+0000\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Elimina de les preferides"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Afegeix a les preferides"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Obre el calaix del volum"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Activa el so de l'àudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silencia l'àudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Oculta la lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostra la lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Comparteix una cançó"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Afegeix a una llista de reproducció local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Oculta la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostra la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Elimina la cançó"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Neteja la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Barreja la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Cançons següents"
|
||||
@@ -468,6 +468,16 @@ 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"
|
||||
@@ -508,50 +518,50 @@ msgstr "Elimina de l'historial"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Afegeix a la llista de reproducció"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mantenidor"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Dissenyador"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Antoni Bella"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,27 +572,12 @@ msgstr "API no oficial per a YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sense descripció"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Sense títol"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
#~ msgid "Add Favorite"
|
||||
#~ msgstr "Afegeix a les preferides"
|
||||
|
||||
#~ msgid "Remove Track"
|
||||
#~ msgstr "Elimina la pista"
|
||||
+42
-38
@@ -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-2026 Josep M. Ferrer <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025, 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-10-01 17:39+0000\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Elimina de les preferides"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Afig a les preferides"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Obri el calaix del volum"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Activa el so de l'àudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silencia l'àudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Oculta la lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostra la lletra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Compartix una cançó"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Afig a una llista de reproducció local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Oculta la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostra la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Elimina la cançó"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Neteja la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Barreja la cua"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Cançons següents"
|
||||
@@ -468,6 +468,16 @@ 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"
|
||||
@@ -508,50 +518,50 @@ msgstr "Elimina de l'historial"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Afig a la llista de reproducció"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 La comunitat KDE"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunitat KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mantenidor"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Dissenyador"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Antoni Bella"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,18 +572,12 @@ msgstr "API no oficial per a YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sense descripció"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Sense títol"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
+67
-53
@@ -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-2026 Vit Pelcak <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Vit Pelcak <[email protected]>
|
||||
#
|
||||
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-03-16 11:35+0100\n"
|
||||
"Last-Translator: Vít Pelčák <[email protected]>\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"
|
||||
"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 26.04.0\n"
|
||||
"X-Generator: Lokalize 25.08.3\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "Sdílet"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
@@ -92,7 +93,10 @@ msgid "Artist"
|
||||
msgstr "Umělec"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -185,12 +189,12 @@ msgstr "Přejmenovat seznam skladeb"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Objevovat"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Vybraný tip"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
@@ -201,7 +205,7 @@ msgstr "Přehrát nyní"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Domů"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -279,7 +283,7 @@ msgstr "Tento seznam skladeb je prázdný"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Importovat seznam skladeb"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -300,84 +304,86 @@ msgstr "Zavřít minimalizovaný přehrávač"
|
||||
msgid "No media playing"
|
||||
msgstr "Nepřehrává se žádné médium"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstranit z oblíbených"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Přidat do oblíbených"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Otevřít šuplík hlasitosti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Povolit zvuk"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Ztlumit zvuk"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Skrýt text písně"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Zobrazit text písně"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Sdílet píseň"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Přidat do místního seznamu stop"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Skrýt frontu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Zobrazit frontu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Odstranit skladbu"
|
||||
msgstr "Odstranit oblíbené"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Vymazat frontu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Zamíchat frontu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Nadcházející písně"
|
||||
@@ -387,9 +393,9 @@ msgstr "Nadcházející písně"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 skladba"
|
||||
msgstr[1] "%1 skladby"
|
||||
msgstr[2] "%1 skladeb"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -447,7 +453,10 @@ msgid "Unknown"
|
||||
msgstr "Neznámý"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -466,6 +475,16 @@ 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"
|
||||
@@ -506,50 +525,51 @@ msgstr "Odstranit z historie"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Přidat do seznamu stop"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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 Komunita KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Správce"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Návrhář"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Vít Pelčák"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -560,22 +580,16 @@ msgstr "Neoficiální API pro hudbu YouTube"
|
||||
msgid "No description"
|
||||
msgstr "Žádný popis"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Bez názvu"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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é"
|
||||
|
||||
|
||||
+55
-51
@@ -1,26 +1,25 @@
|
||||
# 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-2023 Frederik Schwarzer <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 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-10-01 17:39+0000\n"
|
||||
"PO-Revision-Date: 2026-04-12 10:07+0200\n"
|
||||
"Last-Translator: Alois Spitzbart <spitz234@hotmail.com>\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"
|
||||
"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 26.07.70\n"
|
||||
"X-Generator: Lokalize 25.12.2\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -129,7 +128,7 @@ msgstr "Videos"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Weitere Einstellungen"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -190,23 +189,24 @@ msgstr "Wiedergabeliste umbenennen"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Entdecken"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Empfohlene Auswahl"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Jetzt wiedergeben"
|
||||
msgstr "Als nächstes wiedergeben"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
msgstr ""
|
||||
|
||||
#: 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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Aus Favoriten entfernen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Zu Favoriten hinzufügen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Lautstärkenleiste öffnen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Audio-Stummschaltung aufheben"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Audio stumm schalten"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Liedtext ausblenden"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Liedtext anzeigen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Lied teilen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Zu einer lokalen Wiedergabeliste hinzufügen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Warteschlange ausblenden"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Warteschlange anzeigen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Lied entfernen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Warteschlange leeren"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Warteschlange durchmischen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, 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] "%1 Lied"
|
||||
msgstr[1] "%1 Lieder"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -470,15 +470,25 @@ 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 "Startseite"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Entdecken"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -510,50 +520,50 @@ msgstr "Aus Verlauf löschen"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Zur Wiedergabeliste hinzufügen"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE-Gemeinschaft"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Betreuer"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designer"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Deutsches KDE-Übersetzungsteam"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -564,22 +574,16 @@ msgstr "Inoffizielle API für YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Keine Beschreibung"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Kein Titel"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remove from Favourites"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Add to Favourites"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Open Volume Drawer"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Unmute Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Mute Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Hide Lyrics"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Show Lyrics"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Share Song"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Add to a local playlist"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Hide Queue"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Show Queue"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Remove Favourite"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Clear Queue"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Shuffle Queue"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Upcoming Songs"
|
||||
@@ -479,6 +479,16 @@ 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"
|
||||
@@ -519,51 +529,51 @@ msgstr "Remove from History"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Add to playlist"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Maintainer"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designer"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Steve Allewell"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -574,22 +584,16 @@ msgstr "Unofficial API for YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "No description"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "No title"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+40
-36
@@ -7,7 +7,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Forigi el Favoritoj"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Aldoni al Favoritoj"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Malfermi Laŭteckeston"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Malŝalti Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silentigi Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Kaŝi Kantotekstojn"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Montri kantotekstojn"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Kunhavigi Kanton"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Aldoni al loka ludlisto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Kaŝi Vicon"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Montri Vicon"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Forigi Favoriton"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Viŝi Vicon"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Miksi Vicon"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Venontaj Kantoj"
|
||||
@@ -480,6 +480,16 @@ 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"
|
||||
@@ -520,51 +530,51 @@ msgstr "Forigi el Historio"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Aldoni al ludlisto"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Prizorganto"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Dezajnisto"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Oliver Kellogg"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -575,22 +585,16 @@ msgstr "Neoficiala API por YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Neniu priskribo"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Neniu titolo"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+40
-36
@@ -8,7 +8,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Eliminar de favoritas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Añadir a favoritas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Abrir cajón del volumen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Reanudar el sonido"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silenciar el sonido"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Ocultar letra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostrar letra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Compartir canción"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Añadir a una lista de reproducción local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Ocultar cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostrar cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Eliminar canción"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Borrar cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Desordenar cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Próximas canciones"
|
||||
@@ -467,6 +467,16 @@ 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"
|
||||
@@ -507,50 +517,50 @@ msgstr "Eliminar del historial"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Añadir a la lista de reproducción"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Responsable"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Diseñador"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Eloy Cuadra"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -561,18 +571,12 @@ msgstr "API no oficial de YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sin descripción"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Sin título"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
+40
-36
@@ -9,7 +9,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Kendu gogokoetatik"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Gehitu gogokoetara"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Ireki bolumenaren tiradera"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Ozendu audioa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Isilarazi audioa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%%1"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Ezkutatu hitzak"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Erakutsi hitzak"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Partekatu abestia"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Gehitu bertako jotze-zerrenda batera."
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Ezkutatu ilara"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Erakutsi ilara"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Kendu gogokoa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Hustu ilara"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Nahastu ilara"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Hurrengo abestiak"
|
||||
@@ -478,6 +478,16 @@ 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"
|
||||
@@ -518,51 +528,51 @@ msgstr "Kendu historiatik"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Gehitu jotze-zerrendara"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Arduraduna"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Diseinatzailea"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Iñigo Salvador Azurmendi"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -573,22 +583,16 @@ msgstr "«YouTube Music»erako API ez-ofiziala"
|
||||
msgid "No description"
|
||||
msgstr "Deskribapenik ez"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Titulurik ez"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+70
-55
@@ -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, 2026 Tommi Nieminen <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Tommi Nieminen <[email protected]>
|
||||
#
|
||||
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-08-26 12:19+0300\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2025-10-13 20:42+0300\n"
|
||||
"Last-Translator: Tommi Nieminen <[email protected]>\n"
|
||||
"Language-Team: Finnish <[email protected]>\n"
|
||||
"Language: fi\n"
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "Jaa"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Albumi • %1"
|
||||
@@ -92,7 +93,10 @@ msgid "Artist"
|
||||
msgstr "Artisti"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -123,7 +127,7 @@ msgstr "Videot"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Enemmän valintoja"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -184,23 +188,24 @@ msgstr "Muuta soittolistan nimeä"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Tutki"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Esitelty poiminta"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Toista nyt"
|
||||
msgstr "Toista seuraava"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Koti"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -278,7 +283,7 @@ msgstr "Soittolista on yhä tyhjä"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Tuo soittolista"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -299,84 +304,86 @@ msgstr "Sulje suurennettu soitin"
|
||||
msgid "No media playing"
|
||||
msgstr "Mitään ei toisteta"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Poista suosikeista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lisää suosikkeihin"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Avaa äänenvoimakkuus"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Poista äänen vaimennus"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Vaimenna ääni"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Piilota sanat"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Näytä sanoitukset"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Jaa kappale"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Lisää paikalliseen soittolistaan"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Piilota jono"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Näytä jono"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Poista kappale"
|
||||
msgstr "Poista suosikki"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Tyhjennä jono"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Sekoita jono"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Tulossa olevat kappaleet"
|
||||
@@ -386,8 +393,8 @@ msgstr "Tulossa olevat kappaleet"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 kappale"
|
||||
msgstr[1] "%1 kappaletta"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -445,7 +452,10 @@ msgid "Unknown"
|
||||
msgstr "Tuntematon"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -463,15 +473,25 @@ 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 "Koti"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Tutki"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -503,50 +523,51 @@ msgstr "Poista historiasta"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Lisää soittolistaan"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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-yhteisö"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Ylläpitäjä"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Suunnittelija"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Tommi Nieminen"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -557,22 +578,16 @@ msgstr "Epävirallinen YouTube Music -API"
|
||||
msgid "No description"
|
||||
msgstr "Ei kuvausta"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Ei otsikkoa"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -4,7 +4,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Supprimer des signets"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Ajouter aux signets"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Ouvrir le réglage de volume"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Remettre le son"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Mettre le son en pause"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Masquer les paroles"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Afficher les paroles"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Partager une chanson"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Ajouter à la liste locale de lecture"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Masquer la file d'attente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Afficher la file d'attente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Supprimer une chanson"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Effacer la file d'attente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Re-distribuer la file d'attente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Prochaines chansons"
|
||||
@@ -464,6 +464,16 @@ 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"
|
||||
@@ -504,50 +514,50 @@ msgstr "Supprimer de l'historique"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Ajouter à la liste de lecture"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mainteneur"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Concepteur"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Xavier Besnard"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -558,22 +568,16 @@ msgstr "API non officiel pour le site « YouTube Musique »"
|
||||
msgid "No description"
|
||||
msgstr "Aucune description"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Aucun titre"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-30
@@ -7,7 +7,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr ""
|
||||
@@ -297,84 +297,84 @@ msgstr ""
|
||||
msgid "No media playing"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr ""
|
||||
@@ -463,6 +463,16 @@ 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"
|
||||
@@ -503,50 +513,50 @@ msgstr ""
|
||||
msgid "Add to playlist"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -557,12 +567,12 @@ msgstr ""
|
||||
msgid "No description"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr ""
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Retirar das favoritas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Engadir ás favoritas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Abrir o caixón do volume"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Activar o son"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silenciar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Agochar a letra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Amosar a letra"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Compartir a canción"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Engadir a unha lista de reprodución local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Agochar a cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Amosar a cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Retiras das favoritas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Borrar a cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Desordenar a cola"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Vindeiras cancións"
|
||||
@@ -475,6 +475,16 @@ 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"
|
||||
@@ -515,51 +525,51 @@ msgstr "Retirar do historial"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Engadir á lista de reprodución"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mantemento."
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Deseño."
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Adrian Chaves (Gallaecio)"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -570,22 +580,16 @@ msgstr "API non oficial de YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sen descrición"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Sen título"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -298,84 +298,84 @@ msgstr "סגירת נגן מוגדל"
|
||||
msgid "No media playing"
|
||||
msgstr "לא מתנגנת מדיה"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "הסרה מהמועדפים"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "הוספה למועדפים"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "פתיחת מגירת עוצמת שמע"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "ביטול השתקה"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "השתקת שמע"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "הסתרת מילות השיר"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "הצגת מילות השיר"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "שיתוף השיר"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "הוספה לרשימת הנגינה המקומית"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "הסתרת התור"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "הצגת התור"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "הסרת שיר"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "פינוי התור"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "ערבוב התור"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "השירים הבאים"
|
||||
@@ -463,6 +463,16 @@ 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"
|
||||
@@ -503,50 +513,50 @@ msgstr "הסרה מההיסטוריה"
|
||||
msgid "Add to playlist"
|
||||
msgstr "הוספה לרשימת הנגינה"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "הזרמת מוזיקה מ־YouTube Music"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021-2024 יונה ברכרט, 2021-2024 קהילת KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "יונה ברכרט"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "מתחזק"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "מתיס בריכרט"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "מעצב"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "צוות התרגום של KDE ישראל"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -557,22 +567,16 @@ msgstr "API בלתי רשמי ל־YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "אין תיאור"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "אין כותרת"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "אין אלבום"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "העתקת קישור"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "הקישור הועתק ללוח הגזירים"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "הסרה מהמועדפים"
|
||||
|
||||
|
||||
+40
-30
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "ओडियो-ट्यूब"
|
||||
@@ -316,90 +316,90 @@ msgstr ""
|
||||
msgid "No media playing"
|
||||
msgstr "कोई मीडिया नहीं बजा रहा है"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "गीत-सूची में जोड़ें"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "गीत-सूची में जोड़ें"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove Song"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Clear"
|
||||
msgid "Clear Queue"
|
||||
msgstr "साफ करें"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Shuffle"
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "फेंटें"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr ""
|
||||
@@ -490,6 +490,16 @@ 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"
|
||||
@@ -531,51 +541,51 @@ msgstr ""
|
||||
msgid "Add to playlist"
|
||||
msgstr "गीत-सूची में जोड़ें"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "राघवेंद्र कामत"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Find music on YouTube Music"
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
@@ -588,12 +598,12 @@ msgstr "यूट्यूब संगीत पर संगीत ढूं
|
||||
msgid "No description"
|
||||
msgstr "गीत-सूचीयाँ"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr ""
|
||||
|
||||
+73
-58
@@ -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-2026 Kristof Kiszel <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2024, 2025 Kristof Kiszel <[email protected]>
|
||||
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-06-25 22:18+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2025-11-06 20:59+0100\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 26.04.2\n"
|
||||
"X-Generator: Lokalize 25.08.2\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "Megosztás"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
@@ -92,7 +93,10 @@ msgid "Artist"
|
||||
msgstr "Előadó"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -124,7 +128,7 @@ msgstr "Videók"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "További beállítások"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -185,23 +189,24 @@ msgstr "Lejátszólista átnevezése"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Felfedezés"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Kiemelt választás"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Lejátszás most"
|
||||
msgstr "Következő lejátszása"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Kezdőlap"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -279,7 +284,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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -300,84 +305,86 @@ msgstr "Maximalizált lejátszó bezárása"
|
||||
msgid "No media playing"
|
||||
msgstr "Nincs médialejátszás"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Eltávolítás a kedvencekből"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Hozzáadás a kedvencekhez"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Hangerőcsúszka megnyitása"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Visszahangosítás"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Némítás"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Dalszöveg elrejtése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Dalszöveg megjelenítése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Dal megosztása"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Hozzáadás helyi lejátszólistához"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Sor elrejtése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Sor megjelenítése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Dal eltávolítása"
|
||||
msgstr "Kedvenc eltávolítása"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Sor kiürítése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Sor keverése"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Következő dalok"
|
||||
@@ -387,8 +394,8 @@ msgstr "Következő dalok"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 dal"
|
||||
msgstr[1] "%1 dal"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -446,7 +453,10 @@ msgid "Unknown"
|
||||
msgstr "Ismeretlen"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -465,15 +475,25 @@ 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 "Kezdőlap"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Felfedezés"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -505,52 +525,53 @@ 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:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
|
||||
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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Karbantartó"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Tervező"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Kiszel Kristóf"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -561,22 +582,16 @@ msgstr "Nem hivatalos API a YouTube Musichoz"
|
||||
msgid "No description"
|
||||
msgstr "Nincs leírás"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nincs cím"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remove ex favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Adde a favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Aperi designator de volumine"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Audio Non silente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Audio Silente"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Cela parolas de canto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Monstra parolas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Comparti canto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Adde a un lista de reproduction local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Cela cauda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Monstra cauda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Remove Canto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Netta cauda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Misce (shuffle) cauda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Cantos a venir"
|
||||
@@ -465,6 +465,16 @@ 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"
|
||||
@@ -505,50 +515,50 @@ msgstr "Remove ex chronologia"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Adde al lista de reproduction"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mantenitor"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designator"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Giovanni Sora"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -559,22 +569,16 @@ msgstr "API non official per YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Nulle description"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Necun titulo"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Hapus Favorit"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add Favourite"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Tambahkan Favorit"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Open in Browser"
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Buka di Peramban"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Suarakan Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Bisukan Audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Lyrics"
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Lirik"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Lyrics"
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Lirik"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Bagikan Lagu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Tambahkan ke Daftar Putar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Hide Queue"
|
||||
msgstr "Antrean"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Show Queue"
|
||||
msgstr "Antrean"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Hapus Favorit"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Queue"
|
||||
msgid "Clear Queue"
|
||||
msgstr "Antrean"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Shuffle"
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Acak"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Lagu Berikutnya"
|
||||
@@ -491,6 +491,16 @@ 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"
|
||||
@@ -531,52 +541,52 @@ msgstr "Hapus dari Riwayat"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Tambahkan ke daftar putar"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Pemelihara"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Perancang"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Linerly"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Unofficial API for YouTube Music"
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
@@ -589,22 +599,16 @@ msgstr "API tidak resmi untuk YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Deskripsi Daftar Putar"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Tidak ada judul"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+69
-54
@@ -6,8 +6,8 @@ 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-03-10 17:28+0000\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2026-01-19 15:38+0000\n"
|
||||
"Last-Translator: Sveinn í Felli <[email protected]>\n"
|
||||
"Language-Team: Icelandic\n"
|
||||
"Language: is\n"
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "Deila"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Hljómplata • %1"
|
||||
@@ -92,7 +93,10 @@ msgid "Artist"
|
||||
msgstr "Flytjandi"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -123,7 +127,7 @@ msgstr "Myndskeið"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Fleiri valkostir"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -184,23 +188,24 @@ msgstr "Endurnefna spilunarlistann"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Kanna"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Úrvals"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Spila núna"
|
||||
msgstr "Spila næst"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Heim"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -278,7 +283,7 @@ msgstr "Þessi spilunarlisti er tómur"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Flytja inn spilunarlista"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -299,84 +304,86 @@ msgstr "Loka hámörkuðum spilara"
|
||||
msgid "No media playing"
|
||||
msgstr "Ekkert efni í spilun"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjarlægja úr eftirlætum"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Bæta í eftirlæti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Opna hljóðstyrkssleða"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Kveikja á hljóði"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Þagga hljóð"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Fela lagatexta"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Birta lagatexta"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Deila lagi"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Bæta við staðværan spilunarlista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Fela spilunarröð"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Sýna spilunarröð"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Fjarlægja lag"
|
||||
msgstr "Fjarlægja eftirlæti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Hreinsa spilunarröð"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Stokka biðröðina"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Væntanleg lög"
|
||||
@@ -386,8 +393,8 @@ msgstr "Væntanleg lög"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 lag"
|
||||
msgstr[1] "%1 lög"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -445,7 +452,10 @@ msgid "Unknown"
|
||||
msgstr "Óþekkt"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -463,15 +473,25 @@ 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 "Heim"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Kanna"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -503,50 +523,51 @@ msgstr "Fjarlægja úr vinnsluferli"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Bæta við spilunarlista"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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-samfélagið"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Umsjónarmaður"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Hönnuður"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Sveinn í Felli"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -557,22 +578,16 @@ msgstr "Óopinbert API-viðmót fyrir YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Engin lýsing"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Enginn titill"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Rimuovi dai preferiti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Aggiungi ai preferiti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Apri il cassetto del volume"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Rimuovi il silenzio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silenzia l'audio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Nascondi i testi"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostra i testi"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Condividi brano"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Aggiungi a una scaletta locale"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Nascondi la coda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostra la coda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Rimuovi brano"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Cancella la coda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Mescola la coda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Prossimi brani"
|
||||
@@ -465,6 +465,16 @@ 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"
|
||||
@@ -505,50 +515,50 @@ msgstr "Rimuovi dalla cronologia"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Aggiungi alla scaletta"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunità KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Responsabile"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Progettista"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Vincenzo Reale"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -559,22 +569,16 @@ msgstr "API non ufficiale per YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Nessuna descrizione"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nessun titolo"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -4,7 +4,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr ""
|
||||
@@ -305,87 +305,87 @@ msgstr "最大化したプレーヤーを閉じる"
|
||||
msgid "No media playing"
|
||||
msgstr "再生中のメディアなし"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "お気に入りから削除"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "お気に入りに追加"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "音声のミュート解除"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "音声をミュート"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "歌詞を隠す"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "歌詞を表示"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "曲を共有"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "端末内の再生リストに曲を追加"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "再生キューを隠す"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "再生キューを表示"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "お気に入りから除去"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "キューを消去"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "キューをシャッフル"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "次の曲"
|
||||
@@ -473,6 +473,16 @@ 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 +523,50 @@ msgstr "履歴から除去"
|
||||
msgid "Add to playlist"
|
||||
msgstr "再生リストに追加"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "YouTube Music から音楽を配信"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "保守管理者"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "デザイナー"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "maboroshin"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "pc.genkaku.in"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -567,22 +577,16 @@ msgstr "YouTube Music 用の非公式 API"
|
||||
msgid "No description"
|
||||
msgstr "説明なし"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "タイトルなし"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "アルバムなし"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "リンクをコピー"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "リンクをクリップボードにコピーしました"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Remove Favourite"
|
||||
#~ msgid "Remove Favorite"
|
||||
|
||||
+40
-36
@@ -7,7 +7,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -300,84 +300,84 @@ msgstr "მთელ ეკრანზე გაშლილი დამკვ
|
||||
msgid "No media playing"
|
||||
msgstr "არაფერს ვუკრავ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "რჩეულებიდან წაშლა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "რჩეულებში ჩამატება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "ხმის დახატვის გახსნა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "ხმის ჩართვა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "ხმის დადუმება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "ლირიკის დამალვა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "ლირიკის ჩვენება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "სიმღერის გაზიარება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "ლოკალურ დასაკრავ სიაში ჩამატება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "რიგის დამალვა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "რიგის ჩვენება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "სიმღერის წაშლა"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "რიგის გასუფთავება"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "შემთხვევით"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "მომავალი სიმღერები"
|
||||
@@ -464,6 +464,16 @@ 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"
|
||||
@@ -504,50 +514,50 @@ msgstr "ისტორიიდან წაშლა"
|
||||
msgid "Add to playlist"
|
||||
msgstr "დასაკრავ სიაში დამატება"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "დასტრიმეთ მუსიკა YouTube Music-დან"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "წამყვანი პროგრამისტი"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "დიზაინერი"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Temuri Doghonadze"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -558,22 +568,16 @@ msgstr "YouTube Music-ის არაოფიციალური API"
|
||||
msgid "No description"
|
||||
msgstr "აღწერის გარეშე"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "სათაურის გარეშე"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "ალბომის გარეშე"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "ბმულის კოპირება"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "ბმული დაკოპირებულია"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "რჩეულის წაშლა"
|
||||
|
||||
|
||||
+71
-56
@@ -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, 2026 Shinjo Park <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 Shinjo Park <[email protected]>
|
||||
#
|
||||
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-05-25 18:35+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2025-10-09 00:07+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 25.12.3\n"
|
||||
"X-Generator: Lokalize 24.12.3\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "공유"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "앨범 • %1"
|
||||
@@ -92,7 +93,10 @@ msgid "Artist"
|
||||
msgstr "아티스트"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -122,7 +126,7 @@ msgstr "비디오"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "옵션 더 보기"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -183,23 +187,24 @@ 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
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
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
|
||||
@@ -277,7 +282,7 @@ msgstr "재생 목록이 비어 있습니다"
|
||||
msgid "Import Playlist"
|
||||
msgstr "재생 목록 가져오기"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -298,84 +303,86 @@ msgstr "최대화된 재생기 닫기"
|
||||
msgid "No media playing"
|
||||
msgstr "재생 중인 미디어 없음"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "책갈피에서 삭제"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "책갈피에 추가"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "음량 서랍 열기"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "오디오 음소거 해제"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "오디오 음소거"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "가사 숨기기"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "가사 표시"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "노래 공유"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "로컬 재생 목록에 추가"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "대기열 숨기기"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "대기열 표시"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "곡 삭제"
|
||||
msgstr "책갈피 삭제"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "대기열 비우기"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "대기열 무순서 재생"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "다음에 재생될 곡"
|
||||
@@ -385,7 +392,7 @@ msgstr "다음에 재생될 곡"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1곡"
|
||||
msgstr[0] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -443,7 +450,10 @@ msgid "Unknown"
|
||||
msgstr "알 수 없음"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -460,15 +470,25 @@ 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
|
||||
@@ -500,50 +520,51 @@ msgstr "과거 기록에서 삭제"
|
||||
msgid "Add to playlist"
|
||||
msgstr "재생 목록에 추가"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "YouTube Music에서 음악 스트리밍"
|
||||
|
||||
#: main.cpp:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE Community"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "관리자"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "디자이너"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "박신조"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -554,22 +575,16 @@ msgstr "YouTube Music 비공식 API"
|
||||
msgid "No description"
|
||||
msgstr "설명 없음"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "제목 없음"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "앨범 없음"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "링크 복사"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "클립보드에 링크 복사됨"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "책갈피 삭제"
|
||||
|
||||
|
||||
+40
-36
@@ -7,7 +7,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Šalinti iš mėgstamų"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridėti į mėgstamas"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Atverti garsumo stalčių"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Įjungti garso įrašo garsą"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Nutildyti garso įrašą"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Slėpti dainos žodžius"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Rodyti dainos žodžius"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Bendrinti dainą"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Pridėti į vietinį grojaraštį"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Slėpti eilę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Rodyti eilę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Šalinti dainą"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Išvalyti eilę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Maišyti eilę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Artėjančios dainos"
|
||||
@@ -469,6 +469,16 @@ 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"
|
||||
@@ -509,50 +519,50 @@ msgstr "Šalinti iš istorijos"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Pridėti į grojaraštį"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE bendruomenė"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Prižiūrėtojas"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Dizaineris"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Moo"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "<>"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -563,22 +573,16 @@ msgstr "Neoficialus API, skirtas „YouTube Music“"
|
||||
msgid "No description"
|
||||
msgstr "Nėra aprašo"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nėra pavadinimo"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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ą"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Noņemt no izlases"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pievienot izlasei"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Atvērt skaļuma atvilktni"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Atjaunot skaņu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Apklusināt"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Slēpt vārdus"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Rādīt vārdus"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Kopīgot dziesmu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Pievienot lokālajam repertuāram"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Slēpt rindu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Rādīt rindu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Noņemt dziesmu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Notīrīt rindu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Jaukt rindu"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Nākamās dziesmas"
|
||||
@@ -467,6 +467,16 @@ 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"
|
||||
@@ -507,50 +517,50 @@ msgstr "Noņemt no vēstures"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Pievienot repertuāram"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021—2024 Jonah Brüchert, 2021—2024 KDE kopiena"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Uzturētājs"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Dizaineris"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Toms Trasūns"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -561,22 +571,16 @@ msgstr "Neoficiāls „YouTube Music“ API"
|
||||
msgid "No description"
|
||||
msgstr "Nav apraksta"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nav nosaukuma"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Uit Favorieten verwijderen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Aan Favorieten toevoegen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Volume lader openen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Dempen van geluid opheffen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Geluid dempen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Liedteksten verbergen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Liedteksten tonen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Songs delen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Aan een lokale afspeellijst toevoegen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Wachtrij verbergen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Wachtrij tonen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Song verwijderen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Wachtrij wissen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Wachtrij voor willekeurig afspelen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Aankomende songs"
|
||||
@@ -465,6 +465,16 @@ 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"
|
||||
@@ -505,50 +515,50 @@ msgstr "Uit geschiedenis verwijderen"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Aan afspeellijst toevoegen"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021–2024 KDE-gemeenschap"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Onderhouder"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Ontwerper"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Freek de Kruijf - 2021 t/m 2023"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -559,22 +569,16 @@ msgstr "Niet officiële API voor YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Geen beschrijving"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Geen titel"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+73
-54
@@ -1,21 +1,20 @@
|
||||
# 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-10-01 17:39+0000\n"
|
||||
"PO-Revision-Date: 2026-04-21 18:29+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2025-10-26 13:33+0100\n"
|
||||
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
|
||||
"Language-Team: Norwegian Nynorsk <l10n-no@nuug.no>\n"
|
||||
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\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.12.3\n"
|
||||
"X-Generator: Lokalize 25.08.2\n"
|
||||
"X-Environment: kde\n"
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
@@ -26,7 +25,7 @@ msgid ""
|
||||
"Running with untested version of ytmusicapi %1. If you experience errors, "
|
||||
"please report them to your distribution."
|
||||
msgstr ""
|
||||
"Køyrer med utesta versjon av ytmusicapi %1. Opplever du feil, meld frå om "
|
||||
"Køyrer med utesta versejon av ytmusicapi %1. Opplever du feil, meld frå om "
|
||||
"desse til distribusjonen din."
|
||||
|
||||
#: contents/ui/AlbumPage.qml:69 contents/ui/LibraryPage.qml:39
|
||||
@@ -72,7 +71,8 @@ msgid "Share"
|
||||
msgstr "Del"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
@@ -95,7 +95,10 @@ msgid "Artist"
|
||||
msgstr "Artist"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -125,7 +128,7 @@ msgstr "Videoar"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Fleire val"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -186,23 +189,24 @@ msgstr "Endra namn på speleliste"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Utforsk"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Framheva"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Spel no"
|
||||
msgstr "Spel som neste"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Heim"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -280,7 +284,7 @@ msgstr "Spelelista er framleis tom"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Importer speleliste"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -301,84 +305,86 @@ msgstr "Lukk maksimert spelar"
|
||||
msgid "No media playing"
|
||||
msgstr "Inkje medium vert spela av"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern frå favorittar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Legg til favorittar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Opna lydstyrke-skuff"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Slå av lyddemping"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Demp lyd"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Gøym songtekst"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Vis songtekst"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Del song"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Legg til i lokal speleliste"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Gøym avspelingskøen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Vis avspelingskøen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Fjern song"
|
||||
msgstr "Fjern frå favorittar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Tøm avspelingskøen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Stokk om på avspelingskøen"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Framtidige songar"
|
||||
@@ -388,8 +394,8 @@ msgstr "Framtidige songar"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 song"
|
||||
msgstr[1] "%1 songar"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -447,13 +453,15 @@ msgid "Unknown"
|
||||
msgstr "Ukjend"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
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 ikkje støtta enno. Vil du spela av berre lyden til «%1»?"
|
||||
msgstr "Videoavspeling er endå ikkje støtta. Vil du spela av lyden til «%1»?"
|
||||
|
||||
#: contents/ui/SearchWithDropdown.qml:339
|
||||
#, kde-format
|
||||
@@ -465,15 +473,25 @@ 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 "Heim"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Utforsk"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -505,50 +523,51 @@ msgstr "Fjern frå loggen"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Legg til i speleliste"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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-fellesskapet"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Vedlikehaldar"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designar"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Øystein Steffensen-Alværvik,Karl Ove Hufthammer"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected],[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -559,12 +578,12 @@ msgstr "Uoffisielt API for YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Inga skildring"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Utan tittel"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Ingen album"
|
||||
+40
-30
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "ਆਡੀਓ-ਟਿਊਬ"
|
||||
@@ -315,90 +315,90 @@ msgstr ""
|
||||
msgid "No media playing"
|
||||
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove Song"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Clear"
|
||||
msgid "Clear Queue"
|
||||
msgstr "ਮਿਟਾਓ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Shuffle"
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "ਰਲਵੇਂ"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr ""
|
||||
@@ -488,6 +488,16 @@ 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"
|
||||
@@ -529,51 +539,51 @@ msgstr ""
|
||||
msgid "Add to playlist"
|
||||
msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "alam yellow @ gmail.com"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Find music on YouTube Music"
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
@@ -586,12 +596,12 @@ msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱ
|
||||
msgid "No description"
|
||||
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr ""
|
||||
|
||||
+82
-64
@@ -1,23 +1,22 @@
|
||||
# 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, 2026 Łukasz Wojniłowicz <[email protected]>
|
||||
# Ignacy Kajdan <[email protected]>, 2021.
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024 Ł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-10-01 17:39+0000\n"
|
||||
"PO-Revision-Date: 2026-04-18 14:22+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2024-04-13 18:52+0200\n"
|
||||
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
|
||||
"Language-Team: pl\n"
|
||||
"Language-Team: Polish <[email protected]>\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
|
||||
@@ -71,7 +70,8 @@ msgid "Share"
|
||||
msgstr "Udostępnij"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
@@ -94,7 +94,10 @@ msgid "Artist"
|
||||
msgstr "Wykonawca"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -126,7 +129,7 @@ msgstr "Filmy"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Więcej ustawień"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -187,28 +190,30 @@ msgstr "Przemianuj listę odtwarzania"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Odkrywaj"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Zbiór wyróżnionych"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Odtwórz teraz"
|
||||
msgstr "Odtwórz następny"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Strona domowa"
|
||||
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
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Favourites"
|
||||
msgid "Favorites"
|
||||
msgstr "Ulubione"
|
||||
|
||||
@@ -219,7 +224,8 @@ msgid "Show All"
|
||||
msgstr "Pokaż wszystkie"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:160
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "No Favourites Yet"
|
||||
msgid "No Favorites Yet"
|
||||
msgstr "Nie ma jeszcze żadnych ulubionych"
|
||||
|
||||
@@ -281,7 +287,7 @@ msgstr "Lista odtwarzania nadal jest pusta"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Zaimportuj listę odtwarzania"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -302,84 +308,88 @@ msgstr "Zamknij zmaksymalizowany odtwarzacz"
|
||||
msgid "No media playing"
|
||||
msgstr "Nic nie jest odtwarzane"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Usuń z ulubionych"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Dodaj do ulubionych"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Otwórz szufladę głośności"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Usuń wyciszenie dźwięku"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Wycisz dźwięk"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Ukryj słowa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Pokaż słowa"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Udostępnij utwór"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Dodaj do miejscowej listy odtwarzania"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Ukryj kolejkę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Pokaż kolejkę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Usuń utwór"
|
||||
msgstr "Usuń z ulubionych"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Wyczyść kolejkę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Wymieszaj kolejkę"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Nadchodzące utwory"
|
||||
@@ -389,9 +399,9 @@ msgstr "Nadchodzące utwory"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 utwór"
|
||||
msgstr[1] "%1 utwory"
|
||||
msgstr[2] "%1 utworów"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -449,7 +459,10 @@ msgid "Unknown"
|
||||
msgstr "Nieznany"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -468,15 +481,25 @@ 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 "Strona domowa"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Odkrywaj"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -508,50 +531,51 @@ msgstr "Usuń z historii"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Dodaj do listy odtwarzania"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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 Społeczność KDE"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 Społeczność KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Opiekun"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Projektant"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected], [email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,22 +586,16 @@ msgstr "Nieoficjalne API do Muzyki YouTube"
|
||||
msgid "No description"
|
||||
msgstr "Brak opisu"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nienazwane"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+40
-36
@@ -7,7 +7,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remover dos Favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Adicionar aos Favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Abrir a Área do Volume"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Repor o Áudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Silenciar o Áudio"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Esconder as Letras Musicais"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostrar as Letras Musicais"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Partilhar a Música"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Adicionar a uma lista de reprodução local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Esconder a Fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostrar a Fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Remover o Favorito"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Limpar a Fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Baralhar a Fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Próximas Músicas"
|
||||
@@ -482,6 +482,16 @@ 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"
|
||||
@@ -522,52 +532,52 @@ msgstr "Remover do Histórico"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Adicionar à lista de reprodução"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Manutenção"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Desenhador"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "José Nuno Pires"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Unofficial API for YouTube Music"
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
@@ -579,22 +589,16 @@ msgstr "API não oficial do YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sem descrição"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Sem título"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
+40
-36
@@ -9,7 +9,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remover dos favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Adicionar aos favoritos"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Abrir gaveta de volume"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Ativar som"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Desativar som"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Ocultar letras"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Mostrar letras"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Compartilhar música"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Adicionar à lista de músicas local"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Ocultar fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Mostrar fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Remover música"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Limpar fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Embaralhar fila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Próximas músicas"
|
||||
@@ -468,6 +468,16 @@ 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"
|
||||
@@ -508,50 +518,50 @@ msgstr "Remover do histórico"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Adicionar à lista de músicas"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 Comunidade KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Mantenedor"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designer"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Luiz Fernando Ranghetti"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,22 +572,16 @@ msgstr "API não oficial do YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Sem descrição"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Nenhuma música"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+42
-38
@@ -7,8 +7,8 @@ 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-10-09 15:24+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2026-02-21 14:11+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -301,84 +301,84 @@ msgstr "Закрыть развёрнутый проигрыватель"
|
||||
msgid "No media playing"
|
||||
msgstr "Ничего не воспроизводится"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Убрать из избранного"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Добавить в избранное"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Открыть выдвижную панель громкости"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Включить звук"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Отключить звук"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Скрыть текст"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Показать текст"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Опубликовать трек"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Добавить в локальный список воспроизведения"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Скрыть очередь воспроизведения"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Показать очередь воспроизведения"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Удалить песню"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Очистить очередь воспроизведения"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Перемешать очередь воспроизведения"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, 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,6 +468,16 @@ 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"
|
||||
@@ -508,50 +518,50 @@ msgstr "Удалить из журнала"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Добавить в список воспроизведения"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "Потоковое прослушивание YouTube Music"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© Jonah Brüchert, 2021-2024, сообщество KDE, 2021-2024"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Сопровождающий"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Дизайнер"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Александр Яворский, Павел Чернышов, Мария Шикунова"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected], [email protected], [email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,22 +572,16 @@ msgstr "Неофициальный API для YouTube Music"
|
||||
msgid "No description"
|
||||
msgstr "Описание отсутствует"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Название отсутствует"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Альбом отсутствует"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "Копировать адрес ссылки"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "Ссылка скопирована в буфер обмена"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "Убрать из избранного"
|
||||
|
||||
|
||||
+40
-36
@@ -8,7 +8,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "ऑडियोट्यूब"
|
||||
@@ -308,88 +308,88 @@ msgstr "अधिकतमं खिलाडी बन्दं कुर्व
|
||||
msgid "No media playing"
|
||||
msgstr "न मीडिया वाद्यते"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove from Favourites"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "प्रियतः निष्कासयन्तु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Favourites"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "प्रियं योजयतु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "ओपन वॉल्यूम दराज"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "असन्तुष्टि श्रव्य"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "म्यूट ऑडियो"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1% "
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "गीतं गोपयतु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "गीतं दर्शयतु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "शेयर गीत"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "स्थानीयप्लेलिस्ट् मध्ये योजयन्तु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "कतारं गोपयतु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "कतारं दर्शयतु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favourite"
|
||||
msgid "Remove Song"
|
||||
msgstr "प्रियं निष्कासयन्तु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "कतारं स्वच्छं कुर्वन्तु"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "शफल कतार"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "आगामी गीत"
|
||||
@@ -479,6 +479,16 @@ 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"
|
||||
@@ -519,51 +529,51 @@ msgstr "इतिहासात् निष्कासयन्तु"
|
||||
msgid "Add to playlist"
|
||||
msgstr "प्लेलिस्ट् मध्ये योजयन्तु"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "YouTube Music इत्यस्मात् संगीतं प्रवाहयन्तु"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "जोनाह ब्रुचेर्ट"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "परिपालकः"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "माथिस ब्रुचेर्ट"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "डिजाइनर"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "श्रीकान्त् कलवार्"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -574,22 +584,16 @@ msgstr "YouTube Music कृते अनधिकृतः एपिआइ"
|
||||
msgid "No description"
|
||||
msgstr "न वर्णनम्"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "न उपाधिः"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "एल्बम् नास्ति"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "प्रतिलिपि लिङ्क"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "लिङ्क् क्लिप्बोर्ड् प्रति प्रतिलिपितः"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Remove Favourite"
|
||||
#~ msgid "Remove Favorite"
|
||||
|
||||
+182
-149
@@ -4,7 +4,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Lokalize 21.12.3\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -21,8 +21,6 @@ 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
|
||||
@@ -52,32 +50,32 @@ msgstr "Zamiešať"
|
||||
#: contents/ui/PlaybackHistory.qml:117 contents/ui/PlaylistPage.qml:102
|
||||
#, kde-format
|
||||
msgid "Append to queue"
|
||||
msgstr "Pridať do fronty"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:92 contents/ui/ArtistPage.qml:90
|
||||
#: contents/ui/PlaylistPage.qml:112
|
||||
#, kde-format
|
||||
msgid "Open in Browser"
|
||||
msgstr "Otvoriť v prehliadači"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:98 contents/ui/ArtistPage.qml:95
|
||||
#: contents/ui/PlaylistPage.qml:117
|
||||
#, kde-format
|
||||
msgid "Share"
|
||||
msgstr "Zdieľať"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "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 "Viac"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:76
|
||||
#, kde-format
|
||||
@@ -85,9 +83,10 @@ msgid "Radio"
|
||||
msgstr "Rádio"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:104
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Artists"
|
||||
msgid "Artist"
|
||||
msgstr "Výtvarník"
|
||||
msgstr "Interpreti"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
@@ -96,7 +95,6 @@ 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
|
||||
@@ -111,7 +109,7 @@ msgstr "Samotné"
|
||||
#: contents/ui/ArtistPage.qml:151 contents/ui/SearchPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Songs"
|
||||
msgstr "Skladby"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ArtistPage.qml:153 contents/ui/SearchPage.qml:36
|
||||
#, kde-format
|
||||
@@ -121,7 +119,7 @@ msgstr "Videá"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Viac možností"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -134,106 +132,117 @@ msgid "Cancel"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
#: contents/ui/dialogs/AddPlaylistDialog.qml:15
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add playlist"
|
||||
msgstr "Pridať playlist"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/dialogs/AddPlaylistDialog.qml:21
|
||||
#: contents/ui/dialogs/RenamePlaylistDialog.qml:22
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Playlist Title"
|
||||
msgstr "Názov playlistu"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/dialogs/AddPlaylistDialog.qml:26
|
||||
#: contents/ui/dialogs/RenamePlaylistDialog.qml:28
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Playlist Description"
|
||||
msgstr "Popis playlistu"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/dialogs/ImportPlaylistDialog.qml:15
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Import playlist"
|
||||
msgstr "Importovať playlist"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/dialogs/ImportPlaylistDialog.qml:21
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Playlist URL (Youtube)"
|
||||
msgstr "URL playlistu (Youtube)"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/dialogs/PlaylistDialog.qml:15
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add Song to Playlist"
|
||||
msgstr "Pridať skladbu do playlistu"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/dialogs/PlaylistDialog.qml:27
|
||||
#: contents/ui/LocalPlaylistsPage.qml:105
|
||||
#: contents/ui/LocalPlaylistsPage.qml:131
|
||||
#: contents/ui/LocalPlaylistsPage.qml:149
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "New Playlist"
|
||||
msgstr "Nový playlist"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/dialogs/RenamePlaylistDialog.qml:16
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Rename playlist"
|
||||
msgstr "Premenovať playlist"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/ExplorePage.qml:21
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Preskúmať"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Odporúčaný výber"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play"
|
||||
msgid "Play Now"
|
||||
msgstr "Play Now"
|
||||
msgstr "Prehrať"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Domov"
|
||||
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
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Favorites"
|
||||
msgstr "Obľúbené"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:130 contents/ui/LibraryPage.qml:323
|
||||
#: contents/ui/LibraryPage.qml:426
|
||||
#, kde-format
|
||||
msgid "Show All"
|
||||
msgstr "Zobraziť všetko"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:160
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "No Favorites Yet"
|
||||
msgstr "Zatiaľ žiadne obľúbené"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:229
|
||||
#, kde-format
|
||||
msgid "Most played"
|
||||
msgstr "Najhranejšie"
|
||||
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 "Prehrané skladby"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:354
|
||||
#, kde-format
|
||||
msgid "No Songs Played Yet"
|
||||
msgstr "Zatiaľ neboli prehrané žiadne skladby"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:414 contents/ui/LocalPlaylistsPage.qml:18
|
||||
#: contents/ui/LocalPlaylistsPage.qml:82 contents/ui/NavigationBar.qml:74
|
||||
@@ -243,53 +252,57 @@ msgid "Playlists"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/LibraryPage.qml:453
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "No Playlists Yet"
|
||||
msgstr "Zatiaľ žiadne playlisty"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: 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 "Premenovať"
|
||||
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 "Vymazať zoznam"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LocalPlaylistPage.qml:22
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove from Playlist"
|
||||
msgstr "Odstrániť zo zoznamu skladieb"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/LocalPlaylistPage.qml:79
|
||||
#, kde-format
|
||||
msgid "This playlist is still empty"
|
||||
msgstr "Tento playlist je stále prázdny"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LocalPlaylistsPage.qml:113
|
||||
#: contents/ui/LocalPlaylistsPage.qml:136
|
||||
#: contents/ui/LocalPlaylistsPage.qml:154 contents/ui/PlaylistPage.qml:107
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Importovať playlist"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
|
||||
#: contents/ui/Main.qml:311
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "No media playing"
|
||||
msgid "No song playing"
|
||||
msgstr "Nenahráva sa žiadna skladba"
|
||||
msgstr "Neprehráva sa žiadne médium"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:105
|
||||
#, kde-format
|
||||
msgid "Close Maximized Player"
|
||||
msgstr "Zavrieť maximalizovaný prehrávač"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:279
|
||||
#: contents/ui/MinimizedPlayerControls.qml:112
|
||||
@@ -297,101 +310,107 @@ msgstr "Zavrieť maximalizovaný prehrávač"
|
||||
msgid "No media playing"
|
||||
msgstr "Neprehráva sa žiadne médium"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstrániť z obľúbených"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridať do obľúbených"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Otvoriť ovládač hlasitosti"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Zapnúť zvuk"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Stlmiť zvuk"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Skryť text piesne"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Zobraziť text piesne"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Zdieľať skladbu"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Pridať do lokálneho playlistu"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Skryť frontu"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Zobraziť frontu"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Remove Song"
|
||||
msgstr "Odstrániť skladbu"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Clear"
|
||||
msgid "Clear Queue"
|
||||
msgstr "Vyčistiť frontu"
|
||||
msgstr "Vyčistiť"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Shuffle"
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Zamiešať frontu"
|
||||
msgstr "Zamiešať"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Nasledujúce skladby"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/MoodPage.qml:54
|
||||
#, kde-format
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 skladba"
|
||||
msgstr[1] "%1 skladby"
|
||||
msgstr[2] "%1 skladieb"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
msgid "Library"
|
||||
msgstr "Knižnica"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:136
|
||||
#, kde-format
|
||||
@@ -401,32 +420,33 @@ msgstr "Hľadať"
|
||||
#: contents/ui/PlaybackHistory.qml:15
|
||||
#, kde-format
|
||||
msgid "Unknown list of songs"
|
||||
msgstr "Neznámy zoznam skladieb"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaybackHistory.qml:138
|
||||
#, kde-format
|
||||
msgid "No songs here yet"
|
||||
msgstr "Zatiaľ tu nie sú žiadne skladby"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:76
|
||||
#, kde-format
|
||||
msgid "Playlist successfully imported"
|
||||
msgstr "Playlist bol úspešne importovaný"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/PlaylistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "Playlist"
|
||||
msgstr "Zoznam skladieb"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: contents/ui/SearchHistoryPage.qml:82 contents/ui/SearchWithDropdown.qml:393
|
||||
#, kde-format
|
||||
msgid "remove from search history"
|
||||
msgstr "odstrániť z histórie hľadania"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:16
|
||||
#, kde-format
|
||||
msgid "Previous Searches:"
|
||||
msgstr "Predchádzajúce hľadania:"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:30
|
||||
#, kde-format
|
||||
@@ -436,7 +456,7 @@ msgstr "Interpreti"
|
||||
#: contents/ui/SearchPage.qml:38
|
||||
#, kde-format
|
||||
msgid "Top Results"
|
||||
msgstr "Najlepšie výsledky"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SearchPage.qml:41 playlistimporter.cpp:24
|
||||
#, kde-format
|
||||
@@ -450,158 +470,171 @@ 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 "Žiadne zodpovedajúce predchádzajúce hľadania"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ShareMenu.qml:41
|
||||
#, kde-format
|
||||
msgid "Share to"
|
||||
msgstr "Zdieľať do"
|
||||
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 "Domov"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Preskúmať"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
msgid "About"
|
||||
msgstr "O aplikácii"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:247
|
||||
#, kde-format
|
||||
msgid "Collapse Sidebar"
|
||||
msgstr "Zbaliť bočný panel"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:88
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play"
|
||||
msgid "Play Next"
|
||||
msgstr "Play Next"
|
||||
msgstr "Prehrať"
|
||||
|
||||
#: contents/ui/SongMenu.qml:97
|
||||
#, kde-format
|
||||
msgid "Add to queue"
|
||||
msgstr "Pridať do fronty"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:120
|
||||
#, kde-format
|
||||
msgid "Remove from History"
|
||||
msgstr "Odstrániť z histórie"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/SongMenu.qml:130
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Add to Playlist"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Pridať do playlistu"
|
||||
msgstr "Pridať do zoznamu skladieb"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "Streamovanie hudby zo služby YouTube Music"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE komunita"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Správca"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Návrhár"
|
||||
msgstr ""
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Roman Paholík"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
msgstr "Neoficiálne API pre YouTube Music"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:24
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Playlists"
|
||||
msgid "No description"
|
||||
msgstr "Žiadny popis"
|
||||
msgstr "Zoznamy skladieb"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Žiadny názov"
|
||||
msgstr ""
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Bez albumu"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "Kopírovať odkaz"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "Odkaz bol skopírovaný do schránky"
|
||||
msgstr ""
|
||||
|
||||
#, 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"
|
||||
|
||||
|
||||
+40
-36
@@ -6,7 +6,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstrani iz priljubljenih"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Dodaj med priljubljene"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Odpri predal glasnosti"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Povrni zvok"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Utišaj"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Skrij besedila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Prikazuj besedila"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Deli pesem"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Dodaj v lokalni seznam predvajanja"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Skrij čakalno vrsto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Prikazuj čakalno vrsto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Odstrani pesem"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Počisti čakalno vrsto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Premešaj čakalno vrsto"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Prihajajoče pesmi"
|
||||
@@ -464,6 +464,16 @@ 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"
|
||||
@@ -504,50 +514,50 @@ msgstr "Odstrani iz zgodovine"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Dodaj v seznam predvajanja"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 Skupnost KDE"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Vzdrževalec"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Oblikovalec"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Matjaž Jeran"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -558,22 +568,16 @@ msgstr "Neuradni API za Youtube Music"
|
||||
msgid "No description"
|
||||
msgstr "Ni opisa"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Ni naslova"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+73
-58
@@ -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-2026 Stefan Asserhäll <[email protected]>
|
||||
# SPDX-FileCopyrightText: 2021, 2022, 2023, 2024, 2025 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-10-01 17:39+0000\n"
|
||||
"PO-Revision-Date: 2026-07-05 17:17+0200\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2025-10-06 20:51+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 26.04.2\n"
|
||||
"X-Generator: Lokalize 25.08.1\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -69,7 +69,8 @@ msgid "Share"
|
||||
msgstr "Dela"
|
||||
|
||||
#: contents/ui/AlbumPage.qml:109
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Album • %1"
|
||||
msgctxt "%1 is the artist(s) featured in the album"
|
||||
msgid "Album • %1"
|
||||
msgstr "Album • %1"
|
||||
@@ -92,12 +93,15 @@ msgid "Artist"
|
||||
msgstr "Artist"
|
||||
|
||||
#: contents/ui/ArtistPage.qml:128
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
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
|
||||
@@ -122,7 +126,7 @@ msgstr "Videor"
|
||||
#: contents/ui/BentoCard.qml:158
|
||||
#, kde-format
|
||||
msgid "More options"
|
||||
msgstr "Fler alternativ"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/ConfirmationMessage.qml:16
|
||||
#, kde-format
|
||||
@@ -183,23 +187,24 @@ msgstr "Byt namn på spellista"
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Explore"
|
||||
msgstr "Utforska"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:128
|
||||
#, kde-format
|
||||
msgid "Featured Pick"
|
||||
msgstr "Presenterad"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/HeroCard.qml:167
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Play Next"
|
||||
msgid "Play Now"
|
||||
msgstr "Spela nu"
|
||||
msgstr "Spela nästa"
|
||||
|
||||
#: contents/ui/HomePage.qml:18
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Home"
|
||||
msgstr "Hem"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/LibraryPage.qml:32 contents/ui/LibraryPage.qml:135
|
||||
#: contents/ui/NavigationBar.qml:47 contents/ui/NavigationBar.qml:53
|
||||
@@ -277,7 +282,7 @@ msgstr "Spellistan är fortfarande tom"
|
||||
msgid "Import Playlist"
|
||||
msgstr "Importera spellista"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -298,84 +303,86 @@ msgstr "Stäng maximerad spelare"
|
||||
msgid "No media playing"
|
||||
msgstr "Inga media spelar"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Ta bort från favoriter"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lägg till i favoriter"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Öppna volymlåda"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Ljud på"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Tysta ljud"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "%1%"
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1 %"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Dölj Sångtext"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Visa sångtext"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Dela låt"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Lägg till i lokal spellista"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Dölj kö"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Visa kö"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#, kde-format
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Remove Favorite"
|
||||
msgid "Remove Song"
|
||||
msgstr "Ta bort låt"
|
||||
msgstr "Ta bort favorit"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Rensa kö"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Blanda kö"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Kommande låtar"
|
||||
@@ -385,8 +392,8 @@ msgstr "Kommande låtar"
|
||||
msgctxt "song count"
|
||||
msgid "%1 song"
|
||||
msgid_plural "%1 songs"
|
||||
msgstr[0] "%1 låt"
|
||||
msgstr[1] "%1 låtar"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: contents/ui/NavigationBar.qml:23 contents/ui/Sidebar.qml:124
|
||||
#, kde-format
|
||||
@@ -444,7 +451,10 @@ msgid "Unknown"
|
||||
msgstr "Okänd"
|
||||
|
||||
#: contents/ui/SearchPage.qml:74
|
||||
#, kde-format
|
||||
#, fuzzy, kde-format
|
||||
#| msgid ""
|
||||
#| "Video playback is not supported yet. Do you want to play only the audio "
|
||||
#| "of \"%1\"?"
|
||||
msgctxt "%1 is a video title"
|
||||
msgid ""
|
||||
"Video playback is not supported yet. Do you want to play only the audio of "
|
||||
@@ -461,15 +471,25 @@ 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 "Hem"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:176
|
||||
#, kde-format
|
||||
msgid "Explore"
|
||||
msgstr "Utforska"
|
||||
msgstr ""
|
||||
|
||||
#: contents/ui/Sidebar.qml:233
|
||||
#, kde-format
|
||||
@@ -501,50 +521,51 @@ msgstr "Ta bort från historik"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Lägg till i spellista"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#, kde-format
|
||||
#: main.cpp:92
|
||||
#, 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-gemenskapen"
|
||||
msgstr "© 2021-2024 Jonah Brüchert, 2021-2024 KDE-gemenskapen"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Underhåll"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Designer"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Stefan Asserhäll"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -555,22 +576,16 @@ msgstr "Inofficiellt programmeringsgränssnitt för YouTube musik"
|
||||
msgid "No description"
|
||||
msgstr "Ingen beskrivning"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Namnlös"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
+43
-39
@@ -6,8 +6,8 @@ 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-05-02 19:10+0300\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2026-02-20 15:25+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.3\n"
|
||||
"X-Generator: Lokalize 25.12.2\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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, 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:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Favorilerden Kaldır"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Favorilere Ekle"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Ses Düzeyi Çekmecesini Aç"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Sesi Aç"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Sesi Kapat"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%%1"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Şarkı Sözlerini Gizle"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Şarkı Sözlerini Göster"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Şarkıyı Paylaş"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Yerel bir çalma listesine ekle"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Kuyruğu Gizle"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Kuyruğu Göster"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Şarkıyı Kaldır"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Kuyruğu Temizle"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Kuyruğu Karıştır"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Sıradaki Şarkılar"
|
||||
@@ -465,6 +465,16 @@ 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"
|
||||
@@ -505,76 +515,70 @@ msgstr "Geçmişten Kaldır"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Çalma listesine ekle"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, 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:56
|
||||
#: main.cpp:92
|
||||
#, 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:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Bakımcı"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Tasarımcı"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Emir SARI"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
msgstr "YouTube Müzik için resmî olmayan API"
|
||||
msgstr "YouTube Müzik için resmi olmayan API"
|
||||
|
||||
#: playlistimporter.cpp:24
|
||||
#, kde-format
|
||||
msgid "No description"
|
||||
msgstr "Açıklama yok"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Başlık yok"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, 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"
|
||||
|
||||
|
||||
@@ -1,567 +0,0 @@
|
||||
# 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 "ئۇلانما كۆچۈر"
|
||||
+40
-36
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -301,84 +301,84 @@ msgstr "Закрити максимізований програвач"
|
||||
msgid "No media playing"
|
||||
msgstr "Відтворення не відбувається"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Вилучити з улюблених"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Додати до улюбленого"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "Відкрити висувну панель гучності"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "Увімкнути звук"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "Вимкнути звук"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "Приховати текст"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "Показати текст"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "Оприлюднити композицію"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "Додати до локального списку відтворення"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "Приховати чергу"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "Показати чергу"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "Вилучити композицію"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "Спорожнити чергу"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "Перемішати чергу"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "Майбутні композиції"
|
||||
@@ -468,6 +468,16 @@ 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"
|
||||
@@ -508,50 +518,50 @@ msgstr "Вилучити із журналу"
|
||||
msgid "Add to playlist"
|
||||
msgstr "Додати до списку відтворення"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "Трансляція музики з YouTube Music"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© Jonah Brüchert, 2021–2024; KDE Community,2021–2024"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "Супровідник"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "Дизайнер"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Юрій Чорноіван"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -562,22 +572,16 @@ msgstr "Неофіційний програмний інтерфейс до YouT
|
||||
msgid "No description"
|
||||
msgstr "Без опису"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "Без заголовка"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "Без альбому"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "Копіювати посилання"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "Посилання скопійовано до буфера обміну"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "Вилучити з улюблених"
|
||||
|
||||
|
||||
+42
-38
@@ -2,7 +2,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: kdeorg\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2026-10-01 17:39+0000\n"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+0000\n"
|
||||
"PO-Revision-Date: 2024-04-22 15:58\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"X-Crowdin-Project: kdeorg\n"
|
||||
"X-Crowdin-Project-ID: 269464\n"
|
||||
"X-Crowdin-Language: zh-CN\n"
|
||||
"X-Crowdin-File: /kf6-trunk/messages/audiotube/audiotube.pot\n"
|
||||
"X-Crowdin-File-ID: 48698\n"
|
||||
"X-Crowdin-File: /kf6-stable/messages/audiotube/audiotube.pot\n"
|
||||
"X-Crowdin-File-ID: 52528\n"
|
||||
|
||||
#: asyncytmusic.cpp:65
|
||||
#, kde-format
|
||||
@@ -276,7 +276,7 @@ msgstr "此播放列表未包含歌曲"
|
||||
msgid "Import Playlist"
|
||||
msgstr "导入播放列表"
|
||||
|
||||
#: contents/ui/Main.qml:160 main.cpp:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -297,84 +297,84 @@ msgstr "关闭最大化播放器"
|
||||
msgid "No media playing"
|
||||
msgstr "没有正在播放的媒体"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "从收藏夹中移除"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "添加到收藏夹"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "打开音量控制器"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "取消静音"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "静音"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "隐藏歌词"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "显示歌词"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "分享歌曲"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "添加到本地播放列表"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "隐藏队列"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "显示队列"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "移除歌曲"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "清空队列"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "随机队列"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "即将播放的歌曲"
|
||||
@@ -459,6 +459,16 @@ 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"
|
||||
@@ -499,50 +509,50 @@ msgstr "从历史记录中删除"
|
||||
msgid "Add to playlist"
|
||||
msgstr "添加到播放列表"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "从 YouTube Music 串流播放音乐"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "维护人员"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "设计师"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Qi Binye, Tyson Tan"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected], [email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -553,18 +563,12 @@ msgstr "YouTube Music 的非官方 API"
|
||||
msgid "No description"
|
||||
msgstr "无描述"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "无标题"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "无专辑"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "复制链接"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "链接已复制到剪贴板"
|
||||
+40
-36
@@ -9,7 +9,7 @@ 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"
|
||||
"POT-Creation-Date: 2026-02-20 00:44+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:52
|
||||
#: contents/ui/Main.qml:160 main.cpp:88
|
||||
#, kde-format
|
||||
msgid "AudioTube"
|
||||
msgstr "AudioTube"
|
||||
@@ -300,84 +300,84 @@ msgstr "關閉最大化播放器"
|
||||
msgid "No media playing"
|
||||
msgstr "沒有播放任何媒體"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "從最愛中移除"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:553 contents/ui/SongMenu.qml:107
|
||||
#: contents/ui/MaximizedPlayerPage.qml:538 contents/ui/SongMenu.qml:107
|
||||
#, kde-format
|
||||
msgid "Add to Favorites"
|
||||
msgstr "加入最愛"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:578
|
||||
#: contents/ui/MaximizedPlayerPage.qml:563
|
||||
#, kde-format
|
||||
msgid "Open Volume Drawer"
|
||||
msgstr "開啟音量側邊欄"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Unmute Audio"
|
||||
msgstr "取消靜音"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:685
|
||||
#: contents/ui/MaximizedPlayerPage.qml:670
|
||||
#, kde-format
|
||||
msgid "Mute Audio"
|
||||
msgstr "靜音"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:724
|
||||
#: contents/ui/MaximizedPlayerPage.qml:709
|
||||
#, kde-format
|
||||
msgctxt "%1 is the audio volume in percent"
|
||||
msgid "%1%"
|
||||
msgstr "%1%"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Hide Lyrics"
|
||||
msgstr "隱藏歌詞"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:754
|
||||
#: contents/ui/MaximizedPlayerPage.qml:739
|
||||
#, kde-format
|
||||
msgid "Show Lyrics"
|
||||
msgstr "顯示歌詞"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:774 contents/ui/SongMenu.qml:139
|
||||
#: contents/ui/MaximizedPlayerPage.qml:759 contents/ui/SongMenu.qml:139
|
||||
#, kde-format
|
||||
msgid "Share Song"
|
||||
msgstr "分享歌曲"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:815
|
||||
#: contents/ui/MaximizedPlayerPage.qml:800
|
||||
#, kde-format
|
||||
msgid "Add to a local playlist"
|
||||
msgstr "加入至本地播放清單"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Hide Queue"
|
||||
msgstr "隱藏待播清單"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:852
|
||||
#: contents/ui/MaximizedPlayerPage.qml:837
|
||||
#, kde-format
|
||||
msgid "Show Queue"
|
||||
msgstr "顯示待播清單"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1084
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1329
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1069
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1314
|
||||
#, kde-format
|
||||
msgid "Remove Song"
|
||||
msgstr "移除歌曲"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1119
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1104
|
||||
#, kde-format
|
||||
msgid "Clear Queue"
|
||||
msgstr "清除待播清單"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1144
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1129
|
||||
#, kde-format
|
||||
msgid "Shuffle Queue"
|
||||
msgstr "隨機排序待播清單"
|
||||
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1177
|
||||
#: contents/ui/MaximizedPlayerPage.qml:1162
|
||||
#, kde-format
|
||||
msgid "Upcoming Songs"
|
||||
msgstr "接下來的歌曲"
|
||||
@@ -462,6 +462,16 @@ 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"
|
||||
@@ -502,50 +512,50 @@ msgstr "從履歷中移除"
|
||||
msgid "Add to playlist"
|
||||
msgstr "加入至播放清單"
|
||||
|
||||
#: main.cpp:54
|
||||
#: main.cpp:90
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Stream music from YouTube Music"
|
||||
msgstr "從 YouTube Music 串流播放音樂"
|
||||
|
||||
#: main.cpp:56
|
||||
#: main.cpp:92
|
||||
#, kde-format
|
||||
msgid "© 2021–2024 Jonah Brüchert, 2021–2024 KDE Community"
|
||||
msgstr "© 2021–2024 Jonah Brüchert, 2021–2024 KDE 社群"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Jonah Brüchert"
|
||||
msgstr "Jonah Brüchert"
|
||||
|
||||
#: main.cpp:57
|
||||
#: main.cpp:93
|
||||
#, kde-format
|
||||
msgid "Maintainer"
|
||||
msgstr "維護者"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Mathis Brüchert"
|
||||
msgstr "Mathis Brüchert"
|
||||
|
||||
#: main.cpp:58
|
||||
#: main.cpp:94
|
||||
#, kde-format
|
||||
msgid "Designer"
|
||||
msgstr "設計師"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Kisaragi Hiu"
|
||||
|
||||
#: main.cpp:59
|
||||
#: main.cpp:95
|
||||
#, kde-format
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "[email protected]"
|
||||
|
||||
#: main.cpp:66
|
||||
#: main.cpp:102
|
||||
#, kde-format
|
||||
msgctxt "YouTube Music is a music streaming service by Google"
|
||||
msgid "Unofficial API for YouTube Music"
|
||||
@@ -556,22 +566,16 @@ msgstr "YouTube Music 非官方 API"
|
||||
msgid "No description"
|
||||
msgstr "無描述"
|
||||
|
||||
#: playlistimporter.cpp:68
|
||||
#: playlistimporter.cpp:62
|
||||
#, kde-format
|
||||
msgid "No title"
|
||||
msgstr "無標題"
|
||||
|
||||
#: playlistimporter.cpp:71
|
||||
#: playlistimporter.cpp:64
|
||||
#, kde-format
|
||||
msgid "No album"
|
||||
msgstr "無專輯"
|
||||
|
||||
#~ msgid "Copy Link"
|
||||
#~ msgstr "複製連結"
|
||||
|
||||
#~ msgid "Link copied to clipboard"
|
||||
#~ msgstr "連結已複製到剪貼簿"
|
||||
|
||||
#~ msgid "Remove Favorite"
|
||||
#~ msgstr "移除最愛"
|
||||
|
||||
|
||||
+1
-1
@@ -3,5 +3,5 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
ytmusicapi==1.12.3
|
||||
ytmusicapi==1.11.4
|
||||
yt-dlp
|
||||
@@ -39,10 +39,6 @@ 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
|
||||
@@ -92,18 +88,14 @@ 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
|
||||
@@ -116,26 +108,18 @@ 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)
|
||||
|
||||
@@ -1,276 +0,0 @@
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
// 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;
|
||||
};
|
||||
@@ -1,331 +0,0 @@
|
||||
// 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();
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// 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;
|
||||
};
|
||||
@@ -1,512 +0,0 @@
|
||||
// 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();
|
||||
}
|
||||
@@ -1,165 +0,0 @@
|
||||
// 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;
|
||||
};
|
||||
@@ -1,130 +0,0 @@
|
||||
// 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,23 +303,6 @@ 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"
|
||||
|
||||
@@ -17,7 +17,7 @@ Item {
|
||||
id: root
|
||||
|
||||
required property VideoInfoExtractor info
|
||||
required property QtObject audio
|
||||
required property MediaPlayer 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.seek(lineLabel.start * 1000);
|
||||
root.audio.position = lineLabel.start * 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -335,19 +335,6 @@ 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
|
||||
@@ -495,7 +482,7 @@ Item {
|
||||
enabled: root.audio.seekable
|
||||
onMoved: {
|
||||
console.log("Value:", value);
|
||||
audio.seek(Math.floor(value));
|
||||
audio.position = Math.floor(value);
|
||||
}
|
||||
|
||||
Behavior on value {
|
||||
@@ -543,10 +530,8 @@ 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)
|
||||
let albumId = UserPlaylistModel.data(index, UserPlaylistModel.AlbumId)
|
||||
Library.addFavourite(videoId, title, artist, artistId, album, albumId)
|
||||
Library.addFavourite(videoId, title, artist, album)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -612,7 +597,7 @@ Item {
|
||||
ToolTip.visible: Kirigami.Settings.isMobile ? pressed : hovered
|
||||
|
||||
onClicked: {
|
||||
if (root.audio.audioOutput.muted) {
|
||||
if (root.audio.muted) {
|
||||
muteButton.unmuteAudio()
|
||||
} else {
|
||||
muteButton.muteAudio()
|
||||
@@ -786,13 +771,6 @@ 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
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ Item {
|
||||
required property int minimizedPlayerContentHeight
|
||||
|
||||
required property VideoInfoExtractor info
|
||||
required property QtObject audio
|
||||
required property MediaPlayer audio
|
||||
required property string thumbnail
|
||||
|
||||
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 50
|
||||
@@ -255,6 +255,7 @@ Item {
|
||||
implicitHeight: 40
|
||||
implicitWidth: 40
|
||||
Layout.fillHeight: !isWidescreen
|
||||
Layout.rightMargin: isWidescreen ? 0 : 10
|
||||
Layout.alignment: !Qt.AlignVCenter
|
||||
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
|
||||
@@ -300,11 +301,5 @@ Item {
|
||||
text: PlayerUtils.formatTimestamp(audio.duration)
|
||||
Layout.leftMargin: 20
|
||||
}
|
||||
|
||||
CastButton {
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.rightMargin: isWidescreen ? 0 : 10
|
||||
player: root.audio
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -107,9 +107,7 @@ 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
|
||||
@@ -118,7 +116,7 @@ Flickable {
|
||||
syncedLyrics.duration = duration
|
||||
syncedLyrics.fetchLyrics()
|
||||
|
||||
Library.addPlaybackHistoryItem(videoId, title, artist, artistId, album, albumId)
|
||||
Library.addPlaybackHistoryItem(videoId, title, artist, album)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,111 +125,8 @@ Flickable {
|
||||
videoId: UserPlaylistModel.currentVideoId
|
||||
}
|
||||
|
||||
// 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
|
||||
}
|
||||
}
|
||||
}
|
||||
property MediaPlayer audioPlayer: audioLoader.item
|
||||
property AudioOutput audioOutput: audioLoader.item.audioOutput
|
||||
|
||||
Loader {
|
||||
id: audioLoader
|
||||
@@ -241,17 +136,8 @@ Flickable {
|
||||
id: audio
|
||||
|
||||
property int prevPlaybackState: MediaPlayer.StoppedState
|
||||
// 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()
|
||||
}
|
||||
}
|
||||
source: info.audioUrl
|
||||
onSourceChanged: play()
|
||||
|
||||
onPlaybackStateChanged : {
|
||||
if (mediaStatus == MediaPlayer.BufferingMedia && playbackState == MediaPlayer.StoppedState && prevPlaybackState == MediaPlayer.PlayingState) {
|
||||
@@ -267,19 +153,11 @@ 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
Keys.onPressed: (event) => {
|
||||
Keys.onPressed: {
|
||||
if(completionList.count > 0) {
|
||||
if (event.key === Qt.Key_Down) {
|
||||
if(completionList.selectedDelegate === -1 || completionList.selectedDelegate === completionList.count - 1) {
|
||||
|
||||
@@ -41,38 +41,52 @@ Item{
|
||||
title: i18n("Share to")
|
||||
preferredWidth: Kirigami.Units.gridUnit * 16
|
||||
standardButtons: Kirigami.Dialog.NoButton
|
||||
Purpose.AlternativesView {
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
id: view
|
||||
pluginType: "ShareUrl"
|
||||
clip: true
|
||||
|
||||
delegate: Controls.ItemDelegate {
|
||||
id: shareDelegate
|
||||
|
||||
required property string iconName
|
||||
required property int index
|
||||
required property string actionDisplay
|
||||
|
||||
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
|
||||
|
||||
Kirigami.Icon {
|
||||
implicitWidth: Kirigami.Units.iconSizes.small
|
||||
implicitHeight: Kirigami.Units.iconSizes.small
|
||||
source: "arrow-right"
|
||||
}
|
||||
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
|
||||
|
||||
onFinished: inputSheet.close()
|
||||
delegate: Controls.ItemDelegate {
|
||||
id: shareDelegate
|
||||
|
||||
required property string iconName
|
||||
required property int index
|
||||
required property string actionDisplay
|
||||
|
||||
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
|
||||
|
||||
Kirigami.Icon {
|
||||
implicitWidth: Kirigami.Units.iconSizes.small
|
||||
implicitHeight: Kirigami.Units.iconSizes.small
|
||||
source: "arrow-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onFinished: inputSheet.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,40 +95,55 @@ Item{
|
||||
|
||||
parent: applicationWindow().overlay
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
Kirigami.Icon {
|
||||
implicitWidth: Kirigami.Units.iconSizes.small
|
||||
implicitHeight: Kirigami.Units.iconSizes.small
|
||||
source: "arrow-right"
|
||||
}
|
||||
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"))
|
||||
}
|
||||
}
|
||||
onFinished: inputDrawer.close()
|
||||
}
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
Kirigami.Icon {
|
||||
implicitWidth: Kirigami.Units.iconSizes.small
|
||||
implicitHeight: Kirigami.Units.iconSizes.small
|
||||
source: "arrow-right"
|
||||
}
|
||||
}
|
||||
}
|
||||
onFinished: inputDrawer.close()
|
||||
}
|
||||
|
||||
Item{
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
Item{
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,7 +110,7 @@ Components.ConvergentContextMenu {
|
||||
if (favouriteWatcher.isFavourite) {
|
||||
Library.removeFavourite(root.videoId)
|
||||
} else {
|
||||
Library.addFavourite(root.videoId, root.songTitle, root.artistsDisplayString, null, null, null)
|
||||
Library.addFavourite(root.videoId, root.songTitle, root.artistsDisplayString, "")
|
||||
}
|
||||
root.close()
|
||||
}
|
||||
|
||||
+6
-23
@@ -47,14 +47,9 @@ FavouritesModel *Library::favourites()
|
||||
return m_favourites;
|
||||
}
|
||||
|
||||
void Library::addFavourite(const QString &videoId,
|
||||
const QString &title,
|
||||
const QString &artistName,
|
||||
const QString &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId)
|
||||
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
QCoro::connect(addSong(videoId, title, artistName, artistId, album, albumId), this, [=, this] {
|
||||
QCoro::connect(addSong(videoId, title, artist, album), this, [=, this] {
|
||||
QCoro::connect(m_database->execute(u"insert or ignore into favourites (video_id) values (?)"_s, videoId),
|
||||
this, &Library::refreshFavourites);
|
||||
});
|
||||
@@ -129,14 +124,9 @@ void Library::refreshFavourites()
|
||||
Q_EMIT favouritesChanged();
|
||||
}
|
||||
|
||||
void Library::addPlaybackHistoryItem(const QString &videoId,
|
||||
const QString &title,
|
||||
const QString &artistName,
|
||||
const QString &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId)
|
||||
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
QCoro::connect(addSong(videoId, title, artistName, artistId, album, albumId), this, [=, this] {
|
||||
QCoro::connect(addSong(videoId, title, artist, album), 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);
|
||||
@@ -170,17 +160,10 @@ QNetworkAccessManager &Library::nam()
|
||||
return m_networkImageCacher;
|
||||
}
|
||||
|
||||
QFuture<void>
|
||||
Library::addSong(const QString &videoId, const QString &title, const QString &artistName, const QString &artistId, const QString &album, const QString &albumId)
|
||||
QFuture<void> Library::addSong(const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
// 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, artist_id, album_id) values (?, ?, ?, ?, ?, ?)"_s,
|
||||
videoId,
|
||||
title,
|
||||
artistName,
|
||||
album,
|
||||
artistId,
|
||||
albumId);
|
||||
return m_database->execute(u"insert or replace into songs (video_id, title, artist, album) values (?, ?, ?, ?)"_s, videoId, title, artist, album);
|
||||
}
|
||||
|
||||
PlaybackHistoryModel::PlaybackHistoryModel(QFuture<std::vector<PlayedSong>> &&songs, QObject *parent)
|
||||
|
||||
+3
-14
@@ -161,12 +161,7 @@ public:
|
||||
FavouritesModel *favourites();
|
||||
Q_SIGNAL void favouritesChanged();
|
||||
void refreshFavourites();
|
||||
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 addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
Q_INVOKABLE void removeFavourite(const QString &videoId);
|
||||
Q_INVOKABLE FavouriteWatcher *favouriteWatcher(const QString &videoId);
|
||||
|
||||
@@ -181,12 +176,7 @@ public:
|
||||
PlaybackHistoryModel *playbackHistory();
|
||||
Q_SIGNAL void playbackHistoryChanged();
|
||||
void refreshPlaybackHistory();
|
||||
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 addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
|
||||
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
|
||||
|
||||
@@ -198,8 +188,7 @@ public:
|
||||
ThreadedDatabase &database() {
|
||||
return *m_database;
|
||||
}
|
||||
QFuture<void>
|
||||
addSong(const QString &videoId, const QString &title, const QString &artistName, const QString &artistId, const QString &album, const QString &albumId);
|
||||
QFuture<void> addSong(const QString &videoId, const QString &title, const QString &artist, const QString &album);
|
||||
|
||||
private:
|
||||
explicit Library(QObject *parent = nullptr);
|
||||
|
||||
@@ -84,15 +84,9 @@ 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 &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId)
|
||||
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
importer->addPlaylistEntry(playlistId, videoId, title, artist, artistId, album, albumId);
|
||||
importer->addPlaylistEntry(playlistId, videoId, title, artist, album);
|
||||
}
|
||||
|
||||
void LocalPlaylistsModel::addPlaylistEntry(qint64 playlistId, const playlist::Track &track)
|
||||
|
||||
@@ -48,13 +48,7 @@ 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 &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId);
|
||||
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 playlist::Track &track);
|
||||
Q_INVOKABLE void importPlaylist(const QString &url);
|
||||
Q_SIGNAL void importFinished();
|
||||
|
||||
+36
-26
@@ -3,10 +3,6 @@
|
||||
// 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>
|
||||
@@ -19,9 +15,8 @@
|
||||
#include <KAboutData>
|
||||
#include <KCrash>
|
||||
#include <KIconTheme>
|
||||
#include <KLocalizedQmlContext>
|
||||
#include <KLocalizedContext>
|
||||
#include <KLocalizedString>
|
||||
#include <KirigamiAddons/App/KirigamiAppDefaults>
|
||||
|
||||
#include <ThreadedDatabase>
|
||||
|
||||
@@ -29,34 +24,47 @@
|
||||
|
||||
using namespace Qt::StringLiterals;
|
||||
|
||||
// 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()
|
||||
class StyleFallback
|
||||
{
|
||||
if (QString::fromLocal8Bit(qgetenv("XDG_CURRENT_DESKTOP")).contains(u"KDE"_s, Qt::CaseInsensitive)) {
|
||||
return; // plasma-integration takes care of this
|
||||
public:
|
||||
StyleFallback()
|
||||
{
|
||||
if (QGuiApplication::instance()) {
|
||||
qFatal("StyleFallback must be created before Q(Gui)Application");
|
||||
}
|
||||
|
||||
KIconTheme::initTheme();
|
||||
|
||||
m_initialQuickControlsStyle = QQuickStyle::name();
|
||||
}
|
||||
|
||||
const auto current = qEnvironmentVariable("QT_QPA_PLATFORMTHEME");
|
||||
if (!current.isEmpty() && !current.startsWith(u"gtk"_s)) {
|
||||
return;
|
||||
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 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");
|
||||
}
|
||||
}
|
||||
private:
|
||||
QString m_initialQuickControlsStyle;
|
||||
};
|
||||
|
||||
Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
{
|
||||
useConfiguredQtPlatformTheme();
|
||||
|
||||
StyleFallback fallback;
|
||||
QApplication app(argc, argv);
|
||||
KirigamiAppDefaults::apply(&app);
|
||||
fallback.setup(&app);
|
||||
|
||||
// WORKAROUND: Force QtMultimedia gstreamer backend
|
||||
/*
|
||||
@@ -98,9 +106,11 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
|
||||
QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("org.kde.audiotube")));
|
||||
|
||||
KCrash::initialize();
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
|
||||
KLocalization::setupLocalizedContext(&engine);
|
||||
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
|
||||
engine.loadFromModule("org.kde.audiotube", "Main");
|
||||
|
||||
if (engine.rootObjects().isEmpty()) {
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
-- 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;
|
||||
@@ -1,6 +0,0 @@
|
||||
-- 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;
|
||||
@@ -47,15 +47,9 @@ void PlaylistImporter::importPlaylist(const QString &url)
|
||||
});
|
||||
}
|
||||
|
||||
void PlaylistImporter::addPlaylistEntry(qint64 playlistId,
|
||||
const QString &videoId,
|
||||
const QString &title,
|
||||
const QString &artist,
|
||||
const QString &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId)
|
||||
void PlaylistImporter::addPlaylistEntry(qint64 playlistId, const QString &videoId, const QString &title, const QString &artist, const QString &album)
|
||||
{
|
||||
QCoro::connect(Library::instance().addSong(videoId, title, artist, artistId, album, albumId), this, [=, this] {
|
||||
QCoro::connect(Library::instance().addSong(videoId, title, artist, album), 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);
|
||||
});
|
||||
@@ -67,10 +61,8 @@ 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 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);
|
||||
const QString album = track.album ? QString::fromStdString(track.album->name) : i18n("No album");
|
||||
this->addPlaylistEntry(playlistId, videoId, title, artists, album);
|
||||
}
|
||||
|
||||
void PlaylistImporter::renamePlaylist(qint64 playlistId, const QString &name, const QString &description)
|
||||
|
||||
@@ -19,13 +19,7 @@ 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 &artistId,
|
||||
const QString &album,
|
||||
const QString &albumId);
|
||||
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 playlist::Track &track);
|
||||
|
||||
Q_INVOKABLE void renamePlaylist(qint64 playlistId, const QString &name, const QString &description);
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<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>
|
||||
|
Before Width: | Height: | Size: 393 B |
@@ -1,6 +0,0 @@
|
||||
<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>
|
||||
|
Before Width: | Height: | Size: 434 B |
@@ -1,333 +0,0 @@
|
||||
// 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();
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
// 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;
|
||||
};
|
||||
@@ -87,15 +87,6 @@ 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:
|
||||
|
||||
@@ -39,7 +39,6 @@ public:
|
||||
Title = Qt::UserRole + 1,
|
||||
VideoId,
|
||||
Artists,
|
||||
ArtistId,
|
||||
Album,
|
||||
AlbumId,
|
||||
IsCurrent,
|
||||
|
||||
@@ -38,45 +38,21 @@ 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 {};
|
||||
}
|
||||
|
||||
qWarning() << "chosen url:" << audioFormats.front().url;
|
||||
std::sort(audioFormats.begin(), audioFormats.end(),
|
||||
[](const video_info::Format &a, const video_info::Format &b) {
|
||||
return a.quality > b.quality;
|
||||
});
|
||||
|
||||
return QUrl(QString::fromStdString(audioFormats.front().url));
|
||||
}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.12.3";
|
||||
constexpr auto TESTED_YTMUSICAPI_VERSION = "1.11.4";
|
||||
|
||||
struct YTMusicPrivate;
|
||||
|
||||
|
||||
Reference in new issue
Block a user