Compare commits

..
117 Commits
Author SHA1 Message Date
Jonah Brüchert 2e0d0207e4 Addd GPL-2.0-or-later license text 2023-03-03 22:48:46 +01:00
Mathis Brüchert d303fc34fe make playlists shareable 2023-03-03 22:45:45 +01:00
Mathis Brüchert 813f522f2c fix copy right 2023-03-03 22:23:38 +01:00
Mathis Brüchert 2119cf3c04 use correct title 2023-03-03 22:18:54 +01:00
Mathis Brüchert 67cc6e2719 purpouse integration 2023-03-03 22:16:08 +01:00
Theophile Gilgien f3ff6e3bdc allow to play favourite, most played and playback history
as a playlist and on shuffle
2023-02-25 12:55:50 +01:00
l10n daemon script e6ba376246 GIT_SILENT Sync po/docbooks with svn 2023-02-25 02:56:18 +00:00
l10n daemon script 2c1e322e40 GIT_SILENT Sync po/docbooks with svn 2023-02-24 02:17:01 +00:00
l10n daemon script 5600256185 GIT_SILENT Sync po/docbooks with svn 2023-02-23 02:17:20 +00:00
Theophile Gilgien 10846db290 fix PlaybackHistory.qml not updating when removing tracks 2023-02-22 15:00:59 +00:00
Mathis Brüchert 5110f7243b fix not being able to remove songs from drawer 2023-02-22 14:59:14 +00:00
Mathis Brüchert 98d0be5fb0 fix seperator color 2023-02-22 14:58:18 +00:00
Mathis Brüchert 99b2c7e45c fix color of drawer buttons 2023-02-22 14:58:18 +00:00
Mathis Brüchert 8b6d868083 Center text in headers on mobile 2023-02-22 14:54:21 +00:00
l10n daemon script 082f715452 GIT_SILENT Sync po/docbooks with svn 2023-02-22 02:09:07 +00:00
Jonah Brüchert 59990c2029 Fix crash on playing an album in shuffle mode while a track is playing
BUG: 465153
2023-02-21 23:55:28 +01:00
Theophile Gilgien 93a669036f allow search history removal on mobile 2023-02-21 22:00:34 +01:00
l10n daemon script 2c1cc94b4e GIT_SILENT Sync po/docbooks with svn 2023-02-21 02:17:47 +00:00
Theophile Gilgien f45553e868 update README to show new project page link 2023-02-20 23:35:19 +01:00
l10n daemon script 458ec93807 GIT_SILENT Sync po/docbooks with svn 2023-02-20 02:19:26 +00:00
Theophile Gilgien 2f62a31dfb introduce clear playlist button
This merge request also moves the shuffle button to below the playlist.
2023-02-19 23:15:56 +00:00
l10n daemon script 2c6bde6f83 GIT_SILENT Sync po/docbooks with svn 2023-02-19 02:21:59 +00:00
Mathis Brüchert 84552190dc sidebar width abstraction 2023-02-18 12:13:56 +00:00
Jonah Brüchert 564617ebb8 flatpak: Update yt-dlp 2023-02-18 13:12:36 +01:00
l10n daemon script 76be4e7f23 GIT_SILENT Sync po/docbooks with svn 2023-02-18 02:18:28 +00:00
l10n daemon script 5379f5fe3e GIT_SILENT Sync po/docbooks with svn 2023-02-17 02:13:40 +00:00
Jonah Brüchert 524a6b564a SearchModel: Simplify removal implementation 2023-02-16 22:27:06 +00:00
Theophile Gilgien 142b339daa allow search history changes without resetting model 2023-02-16 22:27:06 +00:00
Theophile Gilgien 748f561453 make check use Q_ASSERT instead of if 2023-02-16 22:27:06 +00:00
Theophile Gilgien d66c4827af implement Library::removeSearch and debug messages 2023-02-16 22:27:06 +00:00
Theophile Gilgien 9e1318b862 implement SearchHistoryModel::getRow 2023-02-16 22:27:06 +00:00
Theophile Gilgien 5c10a30f83 introduce removeRows function in SearchHistoryModel
This will allow to make it more efficient in the future
2023-02-16 22:27:06 +00:00
l10n daemon script ac4f7f2b5f GIT_SILENT Sync po/docbooks with svn 2023-02-16 02:59:16 +00:00
Jonah Brüchert 54d2088cdd Add license to kirigami-addons flatpak manifest 2023-02-16 00:39:27 +01:00
Jonah Brüchert af6bbcfff6 Add weird sidebar workaround also to aboutButton 2023-02-16 00:37:39 +01:00
Jonah Brüchert 397ccfe872 flatpak: Add kirigami-addons dependency 2023-02-16 00:34:56 +01:00
Jonah Brüchert 6645739b0b cmake: Mark kirigami-addons as required 2023-02-16 00:34:56 +01:00
Mathis Brüchert d97ae991dc Add about page 2023-02-15 19:38:33 +01:00
Mathis Brüchert bda1811200 Show placeholder images when the library is empty 2023-02-15 17:33:49 +01:00
l10n daemon script 5465b7cc69 GIT_SILENT Sync po/docbooks with svn 2023-02-15 02:17:01 +00:00
l10n daemon script 1006b9d895 GIT_SILENT Sync po/docbooks with svn 2023-02-12 02:11:48 +00:00
l10n daemon script a55ceffeba GIT_SILENT Sync po/docbooks with svn 2023-02-11 02:11:53 +00:00
l10n daemon script ff1dd274cb GIT_SILENT Sync po/docbooks with svn 2023-02-10 02:30:33 +00:00
l10n daemon script 5afffd6cbb GIT_SILENT Sync po/docbooks with svn 2023-02-09 02:46:27 +00:00
l10n daemon script 83287251a7 GIT_SILENT Sync po/docbooks with svn 2023-02-08 03:40:16 +00:00
Devin Lin 9a44485a77 Fix player controls on Plasma Mobile
Currently the player controls are broken, since qqc2-breeze-style expects implicit dimensions to be set properly. Also did some slight formatting fixes.
2023-02-07 16:03:38 +00:00
Theophile Gilgien a08aabb2bc allow volume label internationalisation 2023-02-07 15:36:32 +00:00
l10n daemon script 4a028c8102 GIT_SILENT Sync po/docbooks with svn 2023-02-07 02:31:19 +00:00
l10n daemon script d872158f78 GIT_SILENT Sync po/docbooks with svn 2023-02-06 02:37:00 +00:00
l10n daemon script 57e7a2a816 GIT_SILENT Sync po/docbooks with svn 2023-02-05 02:23:04 +00:00
l10n daemon script a175b9e453 GIT_SILENT Sync po/docbooks with svn 2023-02-04 02:51:44 +00:00
Jonah Brüchert 4947281de8 Add swipe indicators to bottom drawers 2023-02-03 14:31:00 +01:00
Jonah Brüchert c4c798b803 Fix some more qml warnings on mobile 2023-02-03 14:26:46 +01:00
Jonah Brüchert 14d646104c Fix playlist being invisible on mobile 2023-02-03 14:15:01 +01:00
Mathis Brüchert aacb03e765 redesign icon 2023-02-03 13:22:05 +01:00
Mathis Brüchert 590a219f22 redesign drawer 2023-02-03 13:20:06 +01:00
Theophile Gilgien e68ff6d01c add a volume slider in maximized player 2023-02-03 13:06:00 +01:00
Jonah Brüchert d5fcee258e SearchWithDropdown: Enable clipping the list view 2023-02-03 13:01:57 +01:00
l10n daemon script d0bf9ecb99 GIT_SILENT Sync po/docbooks with svn 2023-02-03 02:37:32 +00:00
l10n daemon script 068071d263 GIT_SILENT Sync po/docbooks with svn 2023-01-31 02:24:26 +00:00
Carl Schwan e9064602a6 Move AudioTube to the release service
See https://invent.kde.org/sysadmin/release-tools/-/merge_requests/27

Signed-off-by: Carl Schwan <[email protected]>
2023-01-30 20:04:50 +01:00
l10n daemon script 71f574fce9 GIT_SILENT Sync po/docbooks with svn 2023-01-30 02:44:21 +00:00
Theophile Gilgien c2a7a9742f reenable scrolling of past search queries 2023-01-29 16:20:13 +01:00
l10n daemon script 38a1018817 GIT_SILENT Sync po/docbooks with svn 2023-01-29 02:33:27 +00:00
l10n daemon script 58d877a1e6 GIT_SILENT Sync po/docbooks with svn 2023-01-28 02:31:44 +00:00
Carl Schwan ea97b5a3f2 Bump to 23.01
Signed-off-by: Carl Schwan <[email protected]>
2023-01-27 20:47:58 +01:00
l10n daemon script ea5085bfc7 GIT_SILENT Sync po/docbooks with svn 2023-01-27 02:23:52 +00:00
Theophile Gilgien 26dd42bf0d introduce possibility to remove search from history
This feature allows the user to remove past search queries, complementing the recent feature to remove a song from playback history.
2023-01-26 14:25:42 +00:00
l10n daemon script 8a5e0a26f9 GIT_SILENT Sync po/docbooks with svn 2023-01-26 02:14:48 +00:00
l10n daemon script 6b22eb5af0 GIT_SILENT Sync po/docbooks with svn 2023-01-25 02:33:30 +00:00
Jonah Brüchert cbafceb01e Add index property to delegates
The Kirigami list items depend on this property to exist, but it only
exists by default when using the old model API, which we don't.
2023-01-24 14:25:54 +01:00
l10n daemon script 843325d6c7 GIT_SILENT Sync po/docbooks with svn 2023-01-24 02:28:54 +00:00
l10n daemon script 11a1ce02a8 GIT_SILENT Sync po/docbooks with svn 2023-01-23 02:16:32 +00:00
Mathis Brüchert 8bc3012eb4 remove custom shaders 2023-01-23 00:54:41 +01:00
Mathis Brüchert e108ec5105 show song information in Drawer 2023-01-22 23:46:24 +00:00
l10n daemon script 57b1c07c33 GIT_SILENT Sync po/docbooks with svn 2023-01-22 02:32:45 +00:00
Jonah Brüchert f07076910a Update tested ytmusicapi version to 0.25.0 2023-01-21 17:20:13 +01:00
Mathis Brüchert ce74b42e3e make menu always visible on mobile
Previously, the menu button was hidden behind a swipe gesture + button,
which is redundant.
2023-01-21 16:36:28 +01:00
Jonah Brüchert 47e4831bca Library: Only create one SongMenu instance 2023-01-21 16:33:12 +01:00
Mathis Brüchert 1a15e1578f remove hard coded numbers 2023-01-21 12:39:15 +01:00
Mathis Brüchert 94e8fce0f2 make dropdown visually prettier 2023-01-21 11:36:52 +01:00
Jonah Brüchert e40b9f6e10 Adapt to youtube changes 2023-01-21 11:08:18 +01:00
l10n daemon script e44182ee71 GIT_SILENT Sync po/docbooks with svn 2023-01-21 02:19:52 +00:00
Theophile Gilgien e1a32deb01 introduce possibility to remove songs from history
The part to hide the context menu entry when the song isn't in the
history does not yet work, as the call to Library::wasPlayedWatcher()
and FavouriteWatcher::wasPlayed() from SongMenu.qml don't work.
2023-01-21 00:16:17 +01:00
l10n daemon script 9261999563 GIT_SILENT Sync po/docbooks with svn 2023-01-16 02:29:33 +00:00
Jonah Brüchert 1f5ed15cb9 flatpak: Update pybind11 2023-01-15 12:08:00 +01:00
Jonah Brüchert 49ad94e2f8 flatpak: Update dependencies 2023-01-15 12:04:46 +01:00
l10n daemon script faad08c203 GIT_SILENT Sync po/docbooks with svn 2023-01-14 17:50:33 +00:00
l10n daemon script 4237746082 GIT_SILENT Sync po/docbooks with svn 2023-01-13 03:19:39 +00:00
l10n daemon script 989cecaf64 GIT_SILENT Sync po/docbooks with svn 2023-01-11 02:28:50 +00:00
Jonah Brüchert a6e3220054 SongMenu: Fix typo 2023-01-10 19:06:36 +01:00
Mathis Brüchert 0095677485 blur sidebar 2023-01-10 16:23:05 +01:00
l10n daemon script 311111f7d8 GIT_SILENT Sync po/docbooks with svn 2023-01-10 02:21:39 +00:00
Mathis Brüchert 1c590dd38c Clear page stack before pushing pages from the sidebar
Avoids the situation in which multiple pages are open, and only the last
one is replaced, allowing to go back from the library.
The library page should strictly be the home page.
2023-01-09 23:54:26 +01:00
l10n daemon script 4d4dc7e8ca GIT_SILENT Sync po/docbooks with svn 2023-01-09 02:22:51 +00:00
l10n daemon script df7e69db9f GIT_SILENT Sync po/docbooks with svn 2023-01-08 02:26:43 +00:00
Mathis Brüchert d6f53b7485 remove double header 2023-01-07 03:40:36 +01:00
l10n daemon script 8e8fe9871c GIT_SILENT Sync po/docbooks with svn 2023-01-05 02:31:29 +00:00
l10n daemon script 9887e6cbc0 GIT_SILENT Sync po/docbooks with svn 2023-01-04 03:07:06 +00:00
l10n daemon script 62ec82a85a GIT_SILENT made messages (after extraction) 2023-01-04 00:51:25 +00:00
l10n daemon script bae859ff7c GIT_SILENT Sync po/docbooks with svn 2023-01-03 03:31:00 +00:00
l10n daemon script 443183d4cd GIT_SILENT made messages (after extraction) 2023-01-03 00:50:01 +00:00
l10n daemon script f762a6d8c1 GIT_SILENT Sync po/docbooks with svn 2023-01-01 03:09:19 +00:00
l10n daemon script 4c30f20fed GIT_SILENT Sync po/docbooks with svn 2022-12-31 02:23:10 +00:00
Jonah Brüchert 1faa7a13fc flatpak: Update runtime to 5.15-22.08 2022-12-30 18:50:34 +01:00
l10n daemon script b7438cd452 GIT_SILENT Sync po/docbooks with svn 2022-12-30 10:05:49 +00:00
l10n daemon script 387ea1153a GIT_SILENT Sync po/docbooks with svn 2022-12-30 02:45:28 +00:00
Mathis Brüchert d42138cc87 add right padding to scroll Views 2022-12-29 17:35:33 +01:00
Mathis Brüchert b64e23a4ce make title change color on hover 2022-12-29 16:23:29 +01:00
Jonah Brüchert 5b717c468b Make it impossible to open the menu drawer by swiping
When this was done, the drawer was not connected to any list item, and
of course didn't work.
2022-12-29 16:16:59 +01:00
Jonah Brüchert a277a5cfa1 Remove stray debug 2022-12-29 14:04:11 +01:00
Jonah Brüchert 2bcc2b4622 Fix displaying artists in history page 2022-12-29 14:00:17 +01:00
Mathis Brüchert 226d187275 add Sidebar 2022-12-29 13:58:36 +01:00
Mathis Brüchert 72148cb630 add new scrennshots to appdata file 2022-12-29 12:43:43 +01:00
Jonah Brüchert 58abc9d38a Fix warning about unused typedef 2022-12-28 16:05:04 +01:00
Jonah Brüchert d166a66797 Support ytmusicapi 0.24.1 2022-12-28 16:02:14 +01:00
Jonah Brüchert 81e7627ad1 Add flatpak CI 2022-12-28 15:52:10 +01:00
87 changed files with 7858 additions and 3046 deletions

No files matched your search

-2
View File
@@ -4,6 +4,4 @@
include:
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
+9 -3
View File
@@ -4,11 +4,16 @@
cmake_minimum_required(VERSION 3.16.0)
project(audiotube)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "23")
set(RELEASE_SERVICE_VERSION_MINOR "03")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(audiotube VERSION ${RELEASE_SERVICE_VERSION})
include(FeatureSummary)
set(PROJECT_VERSION "22.11")
set(QT5_MIN_VERSION 5.15)
set(KF5_MIN_VERSION 5.81)
@@ -34,10 +39,11 @@ ecm_setup_version(${PROJECT_VERSION}
kde_enable_exceptions()
find_package(Qt${QT_MAJOR_VERSION} ${QT5_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql Widgets)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2 I18n CoreAddons Crash WindowSystem)
find_package(pybind11 REQUIRED)
find_package(Ytdlp REQUIRED RUNTIME)
find_package(YTMusicAPI 0.24.0 REQUIRED RUNTIME)
find_package(KF5KirigamiAddons 0.6.0 REQUIRED)
ki18n_install(po)
+117
View File
@@ -0,0 +1,117 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice
+1 -1
View File
@@ -5,7 +5,7 @@ AudioTube is a client for YouTube Music.
<a href='https://flathub.org/apps/details/org.kde.audiotube'><img width='190px' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-i-en.png'/></a>
## Links
* Project page: https://invent.kde.org/plasma-mobile/audiotube
* Project page: https://invent.kde.org/multimedia/audiotube
* File issues: https://bugs.kde.org/describecomponents.cgi?product=audiotube
# Dependencies
+1 -1
View File
@@ -4,7 +4,7 @@
find_package(Python3 REQUIRED COMPONENTS Interpreter)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import ytmusicapi; print(ytmusicapi.version('ytmusicapi'))" RESULT_VARIABLE YTMUSICAPI_CHECK_RESULT OUTPUT_VARIABLE YTMusicAPI_VERSION)
execute_process(COMMAND ${Python3_EXECUTABLE} -c "import ytmusicapi; print(ytmusicapi.__version__)" RESULT_VARIABLE YTMUSICAPI_CHECK_RESULT OUTPUT_VARIABLE YTMusicAPI_VERSION)
string(STRIP ${YTMusicAPI_VERSION} YTMusicAPI_VERSION)
+21
View File
@@ -0,0 +1,21 @@
{
"name": "kirigami-addons",
"config-opts": [
"-DBUILD_TESTING=OFF",
"-DCMAKE_BUILD_TYPE=Release"
],
"buildsystem": "cmake-ninja",
"sources": [
{
"type": "archive",
"url": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-0.7.0.tar.xz",
"sha256": "0132a58b150229544a61e17e792c48cfc6daa03a8be9c7acd873a6c30d283df7",
"x-checker-data": {
"type": "anitya",
"project-id": 242933,
"stable-only": true,
"url-template": "https://download.kde.org/stable/kirigami-addons/kirigami-addons-$version.tar.xz"
}
}
]
}
+3
View File
@@ -0,0 +1,3 @@
SPDX-FileCopyrightText: 2023 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+6 -6
View File
@@ -12,8 +12,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
"sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
},
{
"type": "file",
@@ -22,8 +22,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/52/0d/6cc95a83f6961a1ca041798d222240890af79b381e97eda3b9b538dba16f/pycryptodomex-3.15.0.tar.gz",
"sha256": "7341f1bb2dadb0d1a0047f34c3a58208a92423cdbd3244d998e4b28df5eac0ed"
"url": "https://files.pythonhosted.org/packages/3d/07/cfd8f52b9068877801317d26dc7225e19421bc659e1395d2cd6933b1a351/pycryptodomex-3.17.tar.gz",
"sha256": "0af93aad8d62e810247beedef0261c148790c52f3cd33643791cc6396dd217c1"
},
{
"type": "file",
@@ -32,8 +32,8 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/2b/8c/6382d335662361fe06bea1ca96a189982cc050c2f9946dcd320b8c26a833/yt_dlp-2022.10.4-py2.py3-none-any.whl",
"sha256": "cc21d91048b275bda7018bdc3103374882261ccf29720206d61b10e168c8b719"
"url": "https://files.pythonhosted.org/packages/0d/f9/6816d1f3f7c0f5a807f7ddc7480d2fa0d6b6e066002653d3a676501512f2/yt_dlp-2023.2.17-py2.py3-none-any.whl",
"sha256": "3b2df037c80922f0f83f63ee2f9253496b4a8668c0fe8d2a836ba9040f853b07"
}
]
}
+10 -10
View File
@@ -7,13 +7,13 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/1d/38/fa96a426e0c0e68aabc68e896584b83ad1eec779265a028e156ce509630e/certifi-2022.9.24-py3-none-any.whl",
"sha256": "90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"
"url": "https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl",
"sha256": "4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/db/51/a507c856293ab05cdc1db77ff4bc1268ddd39f29e7dc4919aa497f0adbec/charset_normalizer-2.1.1-py3-none-any.whl",
"sha256": "83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
"url": "https://files.pythonhosted.org/packages/96/d7/1675d9089a1f4677df5eb29c3f8b064aa1e70c1251a0a8a127803158942d/charset-normalizer-3.0.1.tar.gz",
"sha256": "ebea339af930f8ca5d7a699b921106c6e29c617fe9606fa7baa043c1cdae326f"
},
{
"type": "file",
@@ -22,18 +22,18 @@
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/ca/91/6d9b8ccacd0412c08820f72cebaa4f0c0441b5cda699c90f618b6f8a1b42/requests-2.28.1-py3-none-any.whl",
"sha256": "8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
"url": "https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl",
"sha256": "64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/6f/de/5be2e3eed8426f871b170663333a0f627fc2924cc386cd41be065e7ea870/urllib3-1.26.12-py2.py3-none-any.whl",
"sha256": "b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
"url": "https://files.pythonhosted.org/packages/fe/ca/466766e20b767ddb9b951202542310cba37ea5f2d792dae7589f1741af58/urllib3-1.26.14-py2.py3-none-any.whl",
"sha256": "75edcdc2f7d85b137124a6c3c9fc3933cdeaa12ecb9a6a959f22797a0feca7e1"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/74/5f/929784007a6777272b3bd51dc7a13e39d5192d64b3831535e83776cd825d/ytmusicapi-0.24.0-py3-none-any.whl",
"sha256": "ac25baec1314274030e422c841932d94119394f54c7e70c64a2be1f26be69c2b"
"url": "https://files.pythonhosted.org/packages/14/a9/5ba638ca601c74f169e0e0b055526566f2fa6b6402233a29aba607dca58e/ytmusicapi-0.25.0-py3-none-any.whl",
"sha256": "be355bb3409c0e6c25a95ffd92213bd216561cdd8a0493a36a82d1726ff6efb9"
}
]
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

+4 -1
View File
@@ -104,6 +104,9 @@ SPDX-License-Identifier: CC0-1.0
<content_rating type="oars-1.0"/>
<url type="homepage">https://apps.kde.org/en/audiotube</url>
<releases>
<release version="23.01" date="2023-01-30">
<url>https://plasma-mobile.org/2023/01/30/january-blog-post/</url>
</release>
<release version="22.11" date="2022-11-30">
<url>https://plasma-mobile.org/2022/11/30/plasma-mobile-gear-22-11/</url>
</release>
@@ -178,7 +181,7 @@ SPDX-License-Identifier: CC0-1.0
<p xml:lang="es">AudioTube puede buscar música de YouTube, listar álbumes y artistas, reproducir las listas de reproducción generadas, álbumes y le permite crear su propia lista de reproducción.</p>
<p xml:lang="eu">AudioTube-k YouTube Music-en bilatu dezake, albumak eta artistak zerrendatu, automatikoki sortutako jotze-zerrendak eta albumak jo, eta zure jotze-zerrenda osatzeko aukera eskaintzen dizu.</p>
<p xml:lang="fi">AudioTube osaa etsiä YouTube Music -haun, albumien ja artistien luettelun, luotujen soittolistojen automaattisen toiston ja omien soittolistojen kokoamisen.</p>
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur YouTube Music, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
<p xml:lang="fr">AudioTube peut effectuer des recherches de musiques sur la partie « Musique » de YouTube, établir une liste d'albums et d'artistes, lire des listes de lecture générées automatiquement, des albums et permet de composer sa propre liste de lecture.</p>
<p xml:lang="hi">ऑडियोट्यूब यूट्यूब संगीत खोज सकता है, एल्बम और कलाकारों की सूची बना सकता है, स्वचालित रूप से उत्पन्न की गई गीतसूची, एल्बम बजा सकता है और आपकी अपनी खुद की प्लेलिस्ट को एक साथ रखने में मदद करता है।</p>
<p xml:lang="id">AudioTube dapat menelusuri YouTube Music, daftarkan album dan artis, putar daftar putar dan yang dibuat secara otomatis dan album, dan memungkinkan Anda untuk membuat daftar putar Anda sendiri.</p>
<p xml:lang="it">AudioTube può eseguire ricerche su YouTube Music, elencare album e artisti, riprodurre scalette e album generati automaticamente e ti consente di creare la tua scaletta.</p>
+3 -2
View File
@@ -1,7 +1,7 @@
{
"id": "org.kde.audiotube",
"runtime": "org.kde.Platform",
"runtime-version": "5.15-21.08",
"runtime-version": "5.15-22.08",
"sdk": "org.kde.Sdk",
"command": "audiotube",
"tags": ["nightly"],
@@ -23,12 +23,13 @@
"modules": [
"flatpak/python3-yt-dlp.json",
"flatpak/python3-ytmusicapi.json",
"flatpak/kirigami-addons.json",
{
"name": "pybind11",
"config-opts": ["-DPYBIND11_FINDPYTHON=ON", "-DPYBIND11_TEST=OFF"],
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.9.1" } ]
"sources": [ { "type": "git", "url": "https://github.com/pybind/pybind11", "tag": "v2.10.3" } ]
},
{
"name": "org.kde.audiotube",
+1 -1
View File
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x1="25" x2="25" y1="3" y2="42.605" gradientTransform="matrix(.26458 0 0 .26458 5.101e-5 3.6667e-7)" gradientUnits="userSpaceOnUse"><stop stop-color="#f47750" offset="0"/><stop stop-color="#ed1515" offset="1"/></linearGradient><linearGradient id="d" x1="24" x2="24" y1="35.353" y2="12.647" gradientUnits="userSpaceOnUse"><stop stop-color="#31363b" offset="0"/><stop stop-color="#5f6a73" offset="1"/></linearGradient><linearGradient id="c" x1="24" x2="24" y1="29" y2="19" gradientUnits="userSpaceOnUse"><stop stop-color="#4d4d4d" offset="0"/><stop stop-color="#737373" offset="1"/></linearGradient><linearGradient id="b" x1="6.35" x2="6.35" y1="9.525" y2="-1.8372" gradientUnits="userSpaceOnUse"><stop stop-color="#7f8c8d" offset="0"/><stop stop-color="#929d9e" offset="1"/></linearGradient></defs><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g stroke-width=".26458"><rect x="1.0584" y="1.0583" width="10.583" height="10.583" rx="1.5875" ry="1.5875" fill="#a83226" style="paint-order:stroke fill markers"/><rect x="1.0584" y="1.0583" width="10.583" height="10.319" rx="1.5875" ry="1.5875" fill="url(#a)" style="paint-order:stroke fill markers"/><circle cx="6.35" cy="6.35" r="3.175" fill="none" stroke="#eee" stroke-linecap="square" stroke-width=".26458"/><path d="m8.3465 6.35-3.0549 1.7637 3e-7 -1.7637-3e-7 -1.7637 1.5274 0.88187z" fill="#fff"/><path d="m2.3962 5.8208a3.9538 3.9538 0 0 1 3.9538-3.9538 3.9538 3.9538 0 0 1 3.9538 3.9538" fill="none" stroke="url(#b)" stroke-linecap="square" stroke-width=".26458"/><path d="m4.3731 2.3967a3.9538 3.9538 0 0 1 3.9538 1e-7" fill="none" stroke="#6b6b6b" stroke-linecap="round" stroke-width=".52917"/><path transform="scale(.26458)" d="m8 19c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2zm30 0c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2z" fill="url(#c)"/><path transform="scale(.26458)" d="m8 19c-0.554 0-1 0.446-1 1v8c0 0.554 0.446 1 1 1h2v-10h-2zm30 0v10h2c0.554 0 1-0.446 1-1v-8c0-0.554-0.446-1-1-1h-2z" fill="url(#d)"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="48" height="48" viewBox="0 0 12.7 12.7"><defs><linearGradient id="c"><stop offset="0" stop-color="#dc8689"/><stop offset="1" stop-color="#d56062"/></linearGradient><linearGradient id="b"><stop offset="0" stop-color="#da4453"/><stop offset="1" stop-color="#e74c3c"/></linearGradient><linearGradient id="a"><stop offset="0" stop-color="#c0392b"/><stop offset="1" stop-color="#c0392b" stop-opacity="0"/></linearGradient><linearGradient xlink:href="#a" id="e" x1="6.08542" x2="6.08542" y1="6.35" y2="11.3773" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#b" id="d" x1="6.61458" x2="6.61458" y1="6.2178" y2="1.0583" gradientTransform="translate(0 -.15143)" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#c" id="g" x1="10.58366" x2="11.64167" y1="6.08397" y2="6.08542" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#c" id="f" x1="1.05833" x2="2.38125" y1="6.08542" y2="6.08542" gradientTransform="translate(-3.43958)" gradientUnits="userSpaceOnUse"/></defs><rect width="10.583" height="10.583" x="1.0584" y="1.0583" fill="#a83226" paint-order="stroke fill markers" rx="1.5875" ry="1.5875"/><rect width="10.583" height="10.319" x="1.0584" y=".90687" fill="url(#d)" paint-order="stroke fill markers" rx="1.5875" ry="1.5875"/><circle cx="6.35" cy="6.34408" r="3.97467" fill="none" stroke="#a83226" stroke-linecap="square" stroke-width=".51752"/><path fill="url(#e)" d="M1.05885 6.08542v3.83645c0 .87947.70803 1.5875 1.5875 1.5875h7.40782c.87946 0 1.5875-.70803 1.5875-1.5875V6.08542Z" paint-order="stroke fill markers"/><path fill="#ad3327" d="M1.05833 6.08542v.52916h2.51355a.132.132 0 0 0 .13229-.13229v-.26458a.132.132 0 0 0-.1323-.1323H1.05834z"/><path fill="#ac3327" d="M9.6578 6.08542a.132.132 0 0 0-.13228.13229v.26458a.132.132 0 0 0 .13229.1323h1.98386v-.52917Z"/><circle cx="6.3499" cy="6.06637" r="3.97467" fill="none" stroke="#dc8689" stroke-linecap="square" stroke-width=".51752"/><g fill="#ad3327" transform="translate(-.52917 -.26458)"><rect width=".52917" height=".52917" x="4.49792" y="6.35" rx=".13229" ry=".13229"/><rect width=".52917" height="4.7625" x="5.29167" y="4.49792" rx=".13229" ry=".13229"/><rect width=".52917" height="3.70417" x="6.08542" y="5.02708" rx=".13229" ry=".13229"/><rect width=".52917" height="2.64583" x="6.87917" y="5.55625" rx=".13229" ry=".13229"/><rect width=".52917" height="1.5875" x="7.67292" y="6.08542" rx=".13229" ry=".13229"/></g><path fill="#a83226" d="M7.9375 6.489v.27958c0 .06128.059.11059.1323.11059h.26458c.07328 0 .13229-.0493.13229-.1106v-.27956c-.00353.0701-.0613.12557-.1323.12557H8.0698c-.071 0-.12876-.05548-.13229-.12557z"/><path fill="#ad3327" d="M8.73125 6.22443V6.504c0 .06128.059.11058.1323.11058h.26458c.07328 0 .13229-.0493.13229-.11058v-.27957c-.00353.07009-.0613.12557-.1323.12557h-.26458c-.071 0-.12876-.05548-.13229-.12557z"/><rect width=".52917" height=".52917" x="3.96875" y="5.82083" fill="#f0b4ba" rx=".13229" ry=".13229"/><rect width=".52917" height="5.29167" x="4.7625" y="3.43958" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="4.23333" x="5.55625" y="3.96875" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="3.175" x="6.35" y="4.49792" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="2.11667" x="7.14375" y="5.02708" fill="#fff" rx=".13229" ry=".13229"/><rect width=".52917" height="1.05833" x="7.9375" y="5.55625" fill="#fff" rx=".13229" ry=".13229"/><path fill="#dc8689" d="M2.38125 5.82083V6.35h1.19063a.132.132 0 0 0 .13229-.1323v-.26457a.132.132 0 0 0-.1323-.1323z"/><rect width=".52917" height=".52917" x="9.26042" y="6.08542" fill="#f0b4ba" rx=".13229" ry=".13229" transform="translate(-.52917 -.26458)"/><path fill="#dc8689" d="M9.6573 5.82083a.132.132 0 0 0-.1323.1323v.26458a.132.132 0 0 0 .1323.13229h.66145v-.52917Z"/><rect width="1.32292" height=".52917" x="-2.38125" y="5.82083" fill="url(#f)" rx="0" ry="0" transform="scale(-1 1)"/><rect width="1.32292" height=".52917" x="10.31875" y="5.82083" fill="url(#g)" rx="0" ry="0"/></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

+156 -66
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Zayed Al-Saidi <[email protected]>, 2022.
# Zayed Al-Saidi <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-22 16:43+0400\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-02 11:59+0400\n"
"Last-Translator: Zayed Al-Saidi <[email protected]>\n"
"Language-Team: ar\n"
"Language: ar\n"
@@ -18,23 +18,13 @@ msgstr ""
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Generator: Lokalize 21.12.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "زايد السعيدي"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "شغّل"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "اخلط"
@@ -49,9 +39,9 @@ msgstr "افتح في المتصفّح"
msgid "Album • %1"
msgstr "الألبوم • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "المزيد"
@@ -66,14 +56,14 @@ msgstr "راديو"
msgid "Artist"
msgstr "الفنّانون"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "تشغيل الفيديو غير مدعوم حتى الآن. هل تريد تشغيل صوت فقط من \"%1\"؟"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "الألبومات"
@@ -83,12 +73,12 @@ msgstr "الألبومات"
msgid "Singles"
msgstr "فردي"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "أغاني"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "الفيديوهات"
@@ -103,71 +93,83 @@ msgstr "حسنًا"
msgid "Cancel"
msgstr "ألغِ"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "أظهر الكلّ"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "الأغاني المفضّلة"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "المفضلة"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "الأكثر تشغيلا"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "الأغاني المشغلة"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "عُد"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "لا يوجد أي أغنية بعد"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "ابحث"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "تيوب الصوتي"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "المشغل الآن"
msgid "No media playing"
msgstr "لا يوجد وسائط تعمل"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "صُفّ"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "الكلمات"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "أزل المسار"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "لا يوجد وسائط تعمل"
msgid "Library"
msgstr "المكتبة"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "ابحث"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "الأغاني المشغلة"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,46 +186,134 @@ msgstr "لا يوجد أي أغنية بعد"
msgid "Playlist"
msgstr "قائمة التشغيل"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "أزل من تاريخ البحث"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "البحوث الأخيرة:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "الفنّانون"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "قوائم التّشغيل"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "مجهول"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
msgid "No matching previous searches"
msgstr "لا يوجد تطابق من البحوث الأخيرة"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr " اطوِ الشريط الجانبي"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "شغل التالي"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "أضف للطابور"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "أزل المفضلة"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "أضف للمفضلة"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "أزل من التّاريخ"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "زايد السعيدي"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "اعثر على موسيقى على موسيقى يوتيوب"
#~ msgid "Now Playing"
#~ msgstr "المشغل الآن"
#~ msgid "Queue"
#~ msgstr "صُفّ"
#~ msgid "Lyrics"
#~ msgstr "الكلمات"
#~ msgid "Favourite Songs"
#~ msgstr "الأغاني المفضّلة"
#~ msgid "Back"
#~ msgstr "عُد"
#~ msgid "Add to Playlist"
#~ msgstr "أضف إلى قائمة التّشغيل"
+152 -64
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-06-19 12:16+0400\n"
"Last-Translator: Kheyyam <[email protected]>\n"
"Language-Team: Azerbaijani <[email protected]>\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.04.2\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xəyyam Qocayev"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Başladın"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Qarışıq"
@@ -48,9 +38,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,7 +56,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "İfaçılar"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -75,7 +65,7 @@ msgstr ""
"Video göstərilməsi hələlik dəstəklənmir. Siz yalnız \"%1\" videosunun səsini "
"oynatmaq istəyirsiniz?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albomlar"
@@ -85,12 +75,12 @@ msgstr "Albomlar"
msgid "Singles"
msgstr "Musiqilər"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Mahnılar"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videolar"
@@ -105,71 +95,84 @@ msgstr "OLDU"
msgid "Cancel"
msgstr "İmtina"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Hamısı göstərilsin"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Seçilmiş mahnılar"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Süçilmişlər"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Daha çox dinlənilən"
#: contents/ui/LibraryPage.qml:211
#, kde-format
msgid "Played Songs"
#: contents/ui/LibraryPage.qml:257
#, fuzzy, kde-format
#| msgid "Played Songs"
msgid "played Songs"
msgstr "Oxudulan mahnılar"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Geriyə"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Hələlik burada mahnılar yoxdur"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Axtarın"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "İndi səslənir"
msgid "No media playing"
msgstr "Media faylı oynadılmır"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Növbə"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Mahnını silin"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Media faylı oynadılmır"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Axtarın"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Oxudulan mahnılar"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -187,48 +190,133 @@ msgstr "Hələlik burada mahnılar yoxdur"
msgid "Playlist"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "İfaçılar"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Mahnı siyahıları"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Bilinməyən"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Sonrakını oxudun"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Süçilmişlər"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Süçilmişlər"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xəyyam Qocayev"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Musiqini YouTube Musiqi-də tapın"
#~ msgid "Now Playing"
#~ msgstr "İndi səslənir"
#~ msgid "Queue"
#~ msgstr "Növbə"
#~ msgid "Favourite Songs"
#~ msgstr "Seçilmiş mahnılar"
#~ msgid "Back"
#~ msgstr "Geriyə"
#~ msgid "Add to Playlist"
#~ msgstr "Mahnı siyahısına əlavə edin"
+136 -65
View File
@@ -1,16 +1,16 @@
# Translation of audiotube.po to Catalan
# Copyright (C) 2021-2022 This_file_is_part_of_KDE
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Antoni Bella Pérez <[email protected]>, 2021.
# Josep M. Ferrer <[email protected]>, 2022.
# Josep M. Ferrer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 08:58+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 10:05+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca\n"
@@ -20,23 +20,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.12.0\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Reprodueix"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
@@ -51,9 +41,9 @@ msgstr "Obre en el navegador"
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Més"
@@ -68,7 +58,7 @@ msgstr "Ràdio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -77,7 +67,7 @@ msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Àlbums"
@@ -87,12 +77,12 @@ msgstr "Àlbums"
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -107,71 +97,80 @@ msgstr "D'acord"
msgid "Cancel"
msgstr "Cancel·la"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Cançons preferides"
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Enrere"
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Ara s'està reproduint"
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Cua"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Lletra"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
msgid "Clear Playlist"
msgstr "Neteja la llista de reproducció"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -188,42 +187,114 @@ msgstr "Encara no hi ha cap cançó"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de cerques"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Cerques anteriors:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Desconeguda"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Cerca a la Música de Youtube"
msgid "No matching previous searches"
msgstr "No hi ha cerques anteriors coincidents"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Quant a"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Redueix la barra lateral"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Reprodueix el següent"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Afegeix a la cua"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Elimina de les preferides"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Afegeix a les preferides"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Elimina de l'historial"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor musical del YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
+136 -65
View File
@@ -1,16 +1,16 @@
# Translation of audiotube.po to Catalan (Valencian)
# Copyright (C) 2021-2022 This_file_is_part_of_KDE
# Copyright (C) 2021-2023 This_file_is_part_of_KDE
# This file is distributed under the license LGPL version 2.1 or
# version 3 or later versions approved by the membership of KDE e.V.
#
# Antoni Bella Pérez <[email protected]>, 2021.
# Josep M. Ferrer <[email protected]>, 2022.
# Josep M. Ferrer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 08:58+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 10:05+0100\n"
"Last-Translator: Josep M. Ferrer <[email protected]>\n"
"Language-Team: Catalan <[email protected]>\n"
"Language: ca@valencia\n"
@@ -20,23 +20,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.12.0\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Reproduïx"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Barreja"
@@ -51,9 +41,9 @@ msgstr "Obri en el navegador"
msgid "Album • %1"
msgstr "Àlbum • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Més"
@@ -68,7 +58,7 @@ msgstr "Ràdio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -77,7 +67,7 @@ msgstr ""
"Encara no s'admet la reproducció de vídeo. Voleu reproduir només l'àudio de "
"«%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Àlbums"
@@ -87,12 +77,12 @@ msgstr "Àlbums"
msgid "Singles"
msgstr "Individuals"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Cançons"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -107,71 +97,80 @@ msgstr "D'acord"
msgid "Cancel"
msgstr "Cancel·la"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Preferides"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostra-ho tot"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Cançons preferides"
msgid "No Favourites Yet"
msgstr "Encara sense preferides"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Les més reproduïdes"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Arrere"
msgid "No Songs Played Yet"
msgstr "Encara no hi ha cap cançó reproduïda"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Busca"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Ara s'està reproduint"
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Cua"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Lletra"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Elimina la pista"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "No s'està reproduint cap suport"
msgid "Clear Playlist"
msgstr "Neteja la llista de reproducció"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Busca"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Cançons reproduïdes"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -188,42 +187,114 @@ msgstr "Encara no hi ha cap cançó"
msgid "Playlist"
msgstr "Llista de reproducció"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "elimina de l'historial de busques"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Busques anteriors:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Llistes de reproducció"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Desconeguda"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Busca en la Música de Youtube"
msgid "No matching previous searches"
msgstr "No hi ha busques anteriors coincidents"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Quant a"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Reduïx la barra lateral"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Reproduïx el següent"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Afig a la cua"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Elimina de les preferides"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Afig a les preferides"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Elimina de l'historial"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor musical de YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunitat KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Mantenidor"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Dissenyador"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Antoni Bella"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial per a YouTube Music"
+147 -86
View File
@@ -1,31 +1,21 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Vit Pelcak <vpelcak@suse.cz>, 2021, 2022.
# Vit Pelcak <vit@pelcak.org>, 2021, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-06-28 13:58+0200\n"
"Last-Translator: Vit Pelcak <vpelcak@suse.cz>\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-17 09:26+0100\n"
"Last-Translator: Vit Pelcak <vit@pelcak.org>\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 22.04.2\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vít Pelčák"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -33,7 +23,7 @@ msgid "Play"
msgstr "Přehrát"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Zamíchat"
@@ -46,14 +36,14 @@ msgstr "Otevřít v prohlížeči"
#: contents/ui/AlbumPage.qml:44
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
msgstr "Více"
#: contents/ui/ArtistPage.qml:27
#, kde-format
@@ -61,12 +51,11 @@ msgid "Radio"
msgstr "Rádio"
#: contents/ui/ArtistPage.qml:46
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Umělci"
msgstr "Umělec"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -75,7 +64,7 @@ msgstr ""
"Přehrávání videa ještě není podporováno. Chcete z \"%1\" přehrávat pouze "
"zvuk?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Alba"
@@ -85,12 +74,12 @@ msgstr "Alba"
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Písně"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videa"
@@ -105,71 +94,80 @@ msgstr "OK"
msgid "Cancel"
msgstr "Zrušit"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Oblíbené"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Zobrazit vše"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Oblíbené skladby"
msgid "No Favourites Yet"
msgstr "Zatím žádné oblíbené"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Nejčastěji hrané"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Přehrané skladby"
msgid "played Songs"
msgstr "přehrané skladby"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Zpět"
msgid "No Songs Played Yet"
msgstr "Zatím nebyly přehrány žádné skladby"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Hledat"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Nyní přehrávám"
msgid "No media playing"
msgstr "Nepřehrává se žádné médium"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Fronta"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Odstranit skladbu"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Nepřehrává se žádné médium"
msgid "Clear Playlist"
msgstr "Smazat seznam skladeb"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Knihovna"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Hledat"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Přehrané skladby"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -182,55 +180,118 @@ msgid "No songs here yet"
msgstr "Zatím zde nejsou žádné skladby"
#: contents/ui/PlaylistPage.qml:42
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Seznamy skladeb"
msgstr "Seznam skladeb"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "odstranit z historie hledání"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Předchozí hledání:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Umělci"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Seznamy skladeb"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Neznámý"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Najít hudbu na Hudba YouTube"
msgid "No matching previous searches"
msgstr "Neodpovídají žádná předchozí hledání"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "O aplikaci"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Svinout postranní panel"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Přehrát následující"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "Zařadit do fronty"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#, fuzzy, kde-format
#| msgid "Favourites"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Oblíbené"
msgstr "Odstranit oblíbené"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#, fuzzy, kde-format
#| msgid "Favourites"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Oblíbené"
msgstr "Přidat oblíbené"
#~ msgid "Add to Playlist"
#~ msgstr "Přidat do seznamu skladeb"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Odstranit z historie"
#~ msgid "Play next"
#~ msgstr "Přehrát následující"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Přehrávač hudby YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunita KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Správce"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Návrhář"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vít Pelčák"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Neoficiální API pro hudbu YouTube"
+169 -83
View File
@@ -1,33 +1,23 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Burkhard Lück <[email protected]>, 2021.
# Frederik Schwarzer <[email protected]>, 2021, 2022.
# Frederik Schwarzer <[email protected]>, 2021, 2022, 2023.
# Frank Steinmetzger <[email protected]>, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-10 20:16+0100\n"
"Last-Translator: Frank Steinmetzger <[email protected]>\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-09 00:18+0100\n"
"Last-Translator: Frederik Schwarzer <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Deutsches KDE-Übersetzerteam"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.1\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -35,7 +25,7 @@ msgid "Play"
msgstr "Wiedergabe"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Zufällig"
@@ -48,14 +38,14 @@ msgstr "In Browser öffnen"
#: contents/ui/AlbumPage.qml:44
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
msgstr "Mehr"
#: contents/ui/ArtistPage.qml:27
#, kde-format
@@ -63,12 +53,11 @@ msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:46
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Interpreten"
msgstr "Interpret"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -77,7 +66,7 @@ msgstr ""
"Die Video-Wiedergabe wird noch nicht unterstützt. Möchten Sie nur die "
"Audiospur von „%1“ abspielen?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Alben"
@@ -87,12 +76,12 @@ msgstr "Alben"
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videos"
@@ -107,71 +96,83 @@ msgstr "OK"
msgid "Cancel"
msgstr "Abbrechen"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoriten"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Alle anzeigen"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Lieblingsstücke"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Favoriten"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Am meisten abgespielt"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Abgespielte Stücke"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Zurück"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Bisher keine Lieder hier"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Suchen"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Aktueller Titel"
msgid "No media playing"
msgstr "Es werden keine Medien wiedergegeben"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Warteschlange"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Stück entfernen"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Wiedergabeliste"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Es werden keine Medien wiedergegeben"
msgid "Library"
msgstr "Bibliothek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Suchen"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Abgespielte Stücke"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,52 +185,137 @@ msgid "No songs here yet"
msgstr "Bisher keine Lieder hier"
#: contents/ui/PlaylistPage.qml:42
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Wiedergabelisten"
msgstr "Wiedergabeliste"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "Aus Suchverlauf löschen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Vorherige Suchvorgänge:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Interpreten"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Wiedergabelisten"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Unbekannt"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Musik auf YouTube suchen"
msgid "No matching previous searches"
msgstr "Keine passenden vorherigen Suchvorgänge"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Seitenleiste einklappen"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Nächste Wiedergabe"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Zur Warteschlange hinzufügen"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Favoriten entfernen"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Favoriten hinzufügen"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Aus Verlauf löschen"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Favoriten"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Deutsches KDE-Übersetzerteam"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Favoriten"
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Musik auf YouTube suchen"
#~ msgid "Now Playing"
#~ msgstr "Aktueller Titel"
#~ msgid "Queue"
#~ msgstr "Warteschlange"
#~ msgid "Lyrics"
#~ msgstr "Liedtext"
#~ msgid "Favourite Songs"
#~ msgstr "Lieblingsstücke"
#~ msgid "Back"
#~ msgstr "Zurück"
#~ msgid "Add to Playlist"
#~ msgstr "Zur Wiedergabeliste hinzufügen"
+170 -83
View File
@@ -6,10 +6,10 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-26 12:33+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-12-31 15:53+0000\n"
"Last-Translator: Steve Allewell <[email protected]>\n"
"Language-Team: British English <kde-l10n-en_gb@kde.org>\n"
"Language-Team: English <kde-i18n-doc@kde.org>\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.12.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Steve Allewell"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Play"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Shuffle"
@@ -46,14 +36,14 @@ msgstr "Open in Browser"
#: contents/ui/AlbumPage.qml:44
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
msgstr "More"
#: contents/ui/ArtistPage.qml:27
#, kde-format
@@ -61,12 +51,11 @@ msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:46
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Artists"
msgstr "Artist"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -75,7 +64,7 @@ msgstr ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
@@ -85,12 +74,12 @@ msgstr "Albums"
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videos"
@@ -105,71 +94,83 @@ msgstr "OK"
msgid "Cancel"
msgstr "Cancel"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favourites"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Show All"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Favourite Songs"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Favourites"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Most played"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Played Songs"
msgid "played Songs"
msgstr "played Songs"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Back"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "No songs here yet"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Search"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Now Playing"
msgid "No media playing"
msgstr "No media playing"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Lyrics"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Remove Track"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Playlist"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "No media playing"
msgid "Library"
msgstr "Library"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Search"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Played Songs"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -182,52 +183,138 @@ msgid "No songs here yet"
msgstr "No songs here yet"
#: contents/ui/PlaylistPage.qml:42
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Playlists"
msgstr "Playlist"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Previous Searches:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artists"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Playlists"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Unknown"
#: contents/ui/SearchPage.qml:146
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Find music on YouTube Music"
#: contents/ui/SearchWithDropdown.qml:286
#, fuzzy, kde-format
#| msgid "Previous Searches:"
msgid "No matching previous searches"
msgstr "Previous Searches:"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Collapse Sidebar"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Play Next"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Add to queue"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Remove Favourite"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Add Favourite"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Favourites"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Steve Allewell"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Favourites"
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Find music on YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Now Playing"
#~ msgid "Queue"
#~ msgstr "Queue"
#~ msgid "Lyrics"
#~ msgstr "Lyrics"
#~ msgid "Favourite Songs"
#~ msgstr "Favourite Songs"
#~ msgid "Back"
#~ msgstr "Back"
#~ msgid "Add to Playlist"
#~ msgstr "Add to Playlist"
+155 -66
View File
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the audiotube package.
#
# Automatically generated, 2021.
# Eloy Cuadra <[email protected]>, 2021, 2022.
# Eloy Cuadra <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 05:14+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 11:42+0100\n"
"Last-Translator: Eloy Cuadra <[email protected]>\n"
"Language-Team: Spanish <[email protected]>\n"
"Language: es\n"
@@ -17,17 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.11.80\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Eloy Cuadra"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -35,7 +25,7 @@ msgid "Play"
msgstr "Reproducir"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Desordenar"
@@ -50,9 +40,9 @@ msgstr "Abrir en el navegador"
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Más"
@@ -67,7 +57,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -76,7 +66,7 @@ msgstr ""
"La reproducción de vídeo aún no está permitida. ¿Desea reproducir solo el "
"sonido de «%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbumes"
@@ -86,12 +76,12 @@ msgstr "Álbumes"
msgid "Singles"
msgstr "Sencillos"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Canciones"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -106,71 +96,80 @@ msgstr "Aceptar"
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostrar todas"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Canciones favoritas"
msgid "No Favourites Yet"
msgstr "Todavía no hay favoritas"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Más reproducidas"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Canciones reproducidas"
msgid "played Songs"
msgstr "canciones reproducidas"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Volver"
msgid "No Songs Played Yet"
msgstr "Todavía no se han reproducido canciones"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Buscar"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Reproduciendo"
msgid "No media playing"
msgstr "Ningún medio en reproducción"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Cola"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Letra"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Eliminar pista"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Ningún medio en reproducción"
msgid "Clear Playlist"
msgstr "Borrar la lista de reproducción"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Buscar"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Canciones reproducidas"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -187,46 +186,136 @@ msgstr "Todavía no contiene canciones"
msgid "Playlist"
msgstr "Lista de reproducción"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "eliminar del historial de búsqueda"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Búsquedas anteriores:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Listas de reproducción"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Desconocido"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Encuentre música en YouTube Music"
msgid "No matching previous searches"
msgstr "No hay búsquedas anteriores coincidentes"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Acerca de"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Contraer la barra lateral"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Reproducir siguiente"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Añadir a la cola"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Eliminar favorita"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Añadir favorita"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Eliminar del historial"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Reproductor de música de YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 La Comunidad KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Responsable"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Diseñador"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Eloy Cuadra"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API no oficial para YouTube Music"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Reproduciendo"
#~ msgid "Queue"
#~ msgstr "Cola"
#~ msgid "Lyrics"
#~ msgstr "Letra"
#~ msgid "Favourite Songs"
#~ msgstr "Canciones favoritas"
#~ msgid "Back"
#~ msgstr "Volver"
#~ msgid "Add to Playlist"
#~ msgstr "Añadir a la lista de reproducción"
+157 -67
View File
@@ -1,16 +1,16 @@
# Translation for audiotube.po to Euskara/Basque (eu).
# Copyright (C) 2021-2022 This file is copyright:
# Copyright (C) 2021-2023 This file is copyright:
# This file is distributed under the same license as the audiotube package.
# KDE euskaratzeko proiektuko arduraduna <[email protected]>.
#
# Translators:
# Iñigo Salvador Azurmendi <[email protected]>, 2021, 2022.
# Iñigo Salvador Azurmendi <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-29 05:34+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-17 06:49+0100\n"
"Last-Translator: Iñigo Salvador Azurmendi <[email protected]>\n"
"Language-Team: Basque <[email protected]>\n"
"Language: eu\n"
@@ -18,17 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Iñigo Salvador Azurmendi"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -36,7 +26,7 @@ msgid "Play"
msgstr "Jo"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Nahastu"
@@ -51,9 +41,9 @@ msgstr "Ireki arakatzailean"
msgid "Album • %1"
msgstr "Albuma • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Gehiago"
@@ -68,7 +58,7 @@ msgstr "Irratia"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -77,7 +67,7 @@ msgstr ""
"Oraindik ez dago bideoa atzera jotzeko euskarririk. «%1»(r)en audioa "
"bakarrik jo nahi duzu?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumak"
@@ -87,12 +77,12 @@ msgstr "Albumak"
msgid "Singles"
msgstr "Banakoa"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Abestiak"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Bideoak"
@@ -107,71 +97,81 @@ msgstr "Ados"
msgid "Cancel"
msgstr "Utzi"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Gogokoak"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Erakutsi denak"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Gogoko abestiak"
msgid "No Favourites Yet"
msgstr "Oraindik Gogokorik ez"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Gehien jotakoa"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Jotako abestiak"
msgid "played Songs"
msgstr "jotako abestiak"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Atzera"
msgid "No Songs Played Yet"
msgstr "Oraindik ez dago jotako abestirik"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Bilatu"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Orain jotzen"
msgid "No media playing"
msgstr "Ez da euskarririk jotzen ari"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Ilara"
msgid "%1%"
msgstr "%%1"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Hitzak"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Kendu pista"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Ez da euskarririk jotzen ari"
msgid "Library"
msgstr "Liburutegia"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Bilatu"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Jotako abestiak"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -188,46 +188,136 @@ msgstr "Hemen oraindik ez dago abestirik"
msgid "Playlist"
msgstr "Jotze-zerrenda"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "Kendu bilaketa-historiatik"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Aurreko bilaketak:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistak"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Jotze-zerrendak"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Ezezaguna"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Aurkitu musika «Youtube Music»en"
msgid "No matching previous searches"
msgstr "Ez dago bat datorren aurreko bilaketarik"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Honi buruz"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Tolestu Alboko-barra"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Jo hurrengoa"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Gehitu ilaran"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Kendu gogokoa"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Gehitu gogokoa"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Kendu historiatik"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube musika jotzailea"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Komunitatea"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Arduraduna"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Diseinatzailea"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Iñigo Salvador Azurmendi"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "«YouTube Music»erako API ez-ofiziala"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Orain jotzen"
#~ msgid "Queue"
#~ msgstr "Ilara"
#~ msgid "Lyrics"
#~ msgstr "Hitzak"
#~ msgid "Favourite Songs"
#~ msgstr "Gogoko abestiak"
#~ msgid "Back"
#~ msgstr "Atzera"
#~ msgid "Add to Playlist"
#~ msgstr "Gehitu jotze-zerrendara"
+152 -64
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-10-24 07:57+0300\n"
"Last-Translator: Tommi Nieminen <[email protected]>\n"
"Language-Team: Finnish <[email protected]>\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 20.12.0\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Tommi Nieminen"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Toista"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Sekoita"
@@ -48,9 +38,9 @@ msgstr "Avaa selaimeen"
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,7 +56,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artistit"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgid ""
msgstr ""
"Videotoistoa ei vielä tueta. Haluatko toistaa videosta ”%1” vain äänen?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumit"
@@ -84,12 +74,12 @@ msgstr "Albumit"
msgid "Singles"
msgstr "Singlet"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Kappaleet"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videot"
@@ -104,71 +94,84 @@ msgstr "OK"
msgid "Cancel"
msgstr "Peru"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Suosikit"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Näytä kaikki"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Suosikkikappaleet"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Suosikit"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Soitetuimmat"
#: contents/ui/LibraryPage.qml:211
#, kde-format
msgid "Played Songs"
#: contents/ui/LibraryPage.qml:257
#, fuzzy, kde-format
#| msgid "Played Songs"
msgid "played Songs"
msgstr "Soitetut kappaleet"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Takaisin"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Ei vielä kappaleita"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Etsi"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Nyt soi"
msgid "No media playing"
msgstr "Mitään ei toisteta"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Jono"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Poista raita"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Soittolistat"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Mitään ei toisteta"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Etsi"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Soitetut kappaleet"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -186,48 +189,133 @@ msgstr "Ei vielä kappaleita"
msgid "Playlist"
msgstr "Soittolistat"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistit"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Soittolistat"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Tuntematon"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Etsi musiikkia Youtube Musicista"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Toista seuraava"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Suosikit"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Suosikit"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Tommi Nieminen"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Etsi musiikkia Youtube Musicista"
#~ msgid "Now Playing"
#~ msgstr "Nyt soi"
#~ msgid "Queue"
#~ msgstr "Jono"
#~ msgid "Favourite Songs"
#~ msgstr "Suosikkikappaleet"
#~ msgid "Back"
#~ msgstr "Takaisin"
#~ msgid "Add to Playlist"
#~ msgstr "Lisää soittolistaan"
+156 -66
View File
@@ -1,28 +1,19 @@
# Xavier Besnard <[email protected]>, 2021, 2022.
# Xavier BESNARD <xavier.besnard]neuf.fr>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-04 08:33+0100\n"
"Last-Translator: Xavier Besnard <xavier.besnard@neuf.fr>\n"
"Language-Team: French <[email protected]>\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 19:08+0100\n"
"Last-Translator: Xavier BESNARD <xavier.besnard]neuf.fr>\n"
"Language-Team: fr\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 22.11.90\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xavier Besnard"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -30,7 +21,7 @@ msgid "Play"
msgstr "Lire"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Mélanger"
@@ -45,9 +36,9 @@ msgstr "Ouvrir dans un navigateur"
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Et plus encore"
@@ -62,7 +53,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artiste"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -71,7 +62,7 @@ msgstr ""
"La lecture de vidéos n'est pas encore prise en charge. Voulez-vous vraiment "
"lire uniquement l'audio de « %1 » ?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
@@ -81,12 +72,12 @@ msgstr "Albums"
msgid "Singles"
msgstr "Titres uniques"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Chansons"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vidéos"
@@ -101,71 +92,80 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Annuler"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoris"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Tout afficher"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Titres favoris"
msgid "No Favourites Yet"
msgstr "Encore aucun favori"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Les plus lus"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Titres lus"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "En arrière"
msgid "No Songs Played Yet"
msgstr "Encore aucune chanson jouée"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Rechercher"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "En cours de lecture"
msgid "No media playing"
msgstr "Aucun média en lecture"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Mettre en file d'attente"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Paroles"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Supprimer une piste"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Aucun média en lecture"
msgid "Clear Playlist"
msgstr "Effacer une liste de lecture"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Bibliothèque"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Rechercher"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Titres lus"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -182,46 +182,136 @@ msgstr "Aucun titre ici encore"
msgid "Playlist"
msgstr "Liste de lecture"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "supprimer de l'historique de recherche"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Recherches précédentes :"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistes"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Listes de lecture"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Inconnu"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Rechercher de la musique sur « YouTube Music »"
msgid "No matching previous searches"
msgstr "Aucune correspondance avec les recherches précédentes"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "À propos"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Réduire la barre latérale"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Lire le suivant"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Ajouter à la file de lecture"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Supprimer un favori"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Ajouter un favori"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Supprimer de l'historique"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Lecteur de musique pour YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021 - 2023 Jonah Brüchert, 2021 - 2023 La communauté de KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Mainteneur"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Concepteur"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Xavier Besnard"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non officiel pour la musique sur « YouTube Music »"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "En cours de lecture"
#~ msgid "Queue"
#~ msgstr "Mettre en file d'attente"
#~ msgid "Lyrics"
#~ msgstr "Paroles"
#~ msgid "Favourite Songs"
#~ msgstr "Titres favoris"
#~ msgid "Back"
#~ msgstr "En arrière"
#~ msgid "Add to Playlist"
#~ msgstr "Ajouter à la liste de lecture"
+137 -60
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2021-09-17 20:09+0530\n"
"Last-Translator: Raghavendra Kamath <[email protected]>\n"
"Language-Team: kde-hindi\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Lokalize 21.08.1\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "राघवेंद्र कामत"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "बजाएँ"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "फेंटें"
@@ -48,9 +38,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,7 +56,7 @@ msgstr "रेडियो"
msgid "Artist"
msgstr "कलाकार"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgid ""
msgstr ""
"वीडियो चलाना अभी तक समर्थित नहीं है। क्या आप केवल \"%1\" का ध्वनी चलाना चाहते हैं?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "एल्बम्स"
@@ -84,12 +74,12 @@ msgstr "एल्बम्स"
msgid "Singles"
msgstr "एक गीत"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "गीत"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "वीडियो"
@@ -104,72 +94,81 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "खोजें"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "ओडियो-ट्यूब"
#: contents/ui/MaximizedPlayerPage.qml:107
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "Now Playing"
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "No media playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "गाना हटाएँ"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "कोई मीडिया नहीं बजा रहा है"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "खोजें"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -187,46 +186,124 @@ msgstr ""
msgid "Playlist"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "कलाकार"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "गीत-सूचीयाँ"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "अज्ञात"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "अगला बजाएँ"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "राघवेंद्र कामत"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "यूट्यूब संगीत पर संगीत ढूंढें"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "कोई मीडिया नहीं बजा रहा है"
#~ msgid "Add to Playlist"
#~ msgstr "गीत-सूची में जोड़ें"
+152 -65
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Linerly <[email protected]>, 2022.
# Linerly <[email protected]>, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-21 11:44+0700\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-17 17:05+0700\n"
"Last-Translator: Linerly <[email protected]>\n"
"Language-Team: Indonesian <[email protected]>\n"
"Language: id\n"
@@ -15,17 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Linerly"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -33,7 +23,7 @@ msgid "Play"
msgstr "Putar"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Acak"
@@ -48,9 +38,9 @@ msgstr "Buka di Peramban"
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Lainnya"
@@ -65,7 +55,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artis"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgstr ""
"Pemutaran video belum didukung. Apakah Anda ingin memutar audionya dari "
"\"%1\" saja?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
@@ -84,12 +74,12 @@ msgstr "Album"
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Lagu"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video"
@@ -104,71 +94,81 @@ msgstr "Oke"
msgid "Cancel"
msgstr "Batalkan"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favorit"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Tampilkan Semua"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Lagu Favorit"
msgid "No Favourites Yet"
msgstr "Belum Ada Favorit"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Paling banyak diputar"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Lagu yang telah diputar"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Kembali"
msgid "No Songs Played Yet"
msgstr "Belum Ada Lagu Yang Diputar"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Cari"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Sekarang Diputarkan"
msgid "No media playing"
msgstr "Tidak ada media yang diputarkan"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Antrean"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Lirik"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Hapus Trek"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Daftar Putar"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Tidak ada media yang diputarkan"
msgid "Library"
msgstr "Pustaka"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Cari"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Lagu yang telah diputar"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +185,133 @@ msgstr "Belum ada lagu di sini"
msgid "Playlist"
msgstr "Daftar Putar"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "hapus dari riwayat pencarian"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pencarian Sebelumnya:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artis"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Daftar Putar"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Tidak diketahui"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Cari musik di YouTube Music"
msgid "No matching previous searches"
msgstr "Tidak ada pencarian sebelumnya yang cocok"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Tentang"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Tutup Bilah Samping"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Putar Berikutnya"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Tambahkan ke antrean"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Hapus Favorit"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Tambahkan Favorit"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Hapus dari Riwayat"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Pemutar YouTube Music"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Komunitas KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Pemelihara"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Perancang"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Linerly"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API tidak resmi untuk YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Sekarang Diputarkan"
#~ msgid "Queue"
#~ msgstr "Antrean"
#~ msgid "Lyrics"
#~ msgstr "Lirik"
#~ msgid "Favourite Songs"
#~ msgstr "Lagu Favorit"
#~ msgid "Back"
#~ msgstr "Kembali"
#~ msgid "Add to Playlist"
#~ msgstr "Tambahkan ke Daftar Putar"
+154 -65
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
# Vincenzo Reale <[email protected]>, 2021, 2022.
# Vincenzo Reale <[email protected]>, 2021, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 14:06+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-24 18:40+0100\n"
"Last-Translator: Vincenzo Reale <[email protected]>\n"
"Language-Team: Italian <[email protected]>\n"
"Language: it\n"
@@ -15,17 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vincenzo Reale"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -33,7 +23,7 @@ msgid "Play"
msgstr "Riproduci"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Mescola"
@@ -48,9 +38,9 @@ msgstr "Apri nel browser"
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Altro"
@@ -65,7 +55,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgstr ""
"La riproduzione dei video non è ancora supportata. Vuoi riprodurre solo "
"l'audio di «%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
@@ -84,12 +74,12 @@ msgstr "Album"
msgid "Singles"
msgstr "Singoli"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Brani"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video"
@@ -104,71 +94,80 @@ msgstr "OK"
msgid "Cancel"
msgstr "Annulla"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Preferiti"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostra tutto"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Brani preferiti"
msgid "No Favourites Yet"
msgstr "Ancora nessun preferito"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Più riprodotti"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Brani riprodotti"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Indietro"
msgid "No Songs Played Yet"
msgstr "Ancora nessun brano riprodotto"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "In riproduzione"
msgid "No media playing"
msgstr "Nessun supporto in riproduzione"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Coda"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Testi"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Rimuovi traccia"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Nessun supporto in riproduzione"
msgid "Clear Playlist"
msgstr "Pulisci la scaletta"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Raccolta"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Cerca"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Brani riprodotti"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +184,136 @@ msgstr "Non c'è ancora alcun brano"
msgid "Playlist"
msgstr "Scaletta"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "rimuovi dalla cronologia delle ricerche"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Ricerche precedenti:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artisti"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Scalette"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Sconosciuto"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Trova musica su Youtube Music"
msgid "No matching previous searches"
msgstr "Nessuna ricerca precedente corrispondente"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Informazioni"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Contrai la barra laterale"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Riproduci successivo"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Aggiungi alla coda"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Rimuovi preferito"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Aggiungi preferito"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Rimuovi dalla cronologia"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Lettore musicale YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunità KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Responsabile"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Progettista"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Vincenzo Reale"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API non ufficiale su YouTube Music"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "In riproduzione"
#~ msgid "Queue"
#~ msgstr "Coda"
#~ msgid "Lyrics"
#~ msgstr "Testi"
#~ msgid "Favourite Songs"
#~ msgstr "Brani preferiti"
#~ msgid "Back"
#~ msgstr "Indietro"
#~ msgid "Add to Playlist"
#~ msgstr "Aggiungi alla scaletta"
+127 -56
View File
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2021-05-29 19:15-0700\n"
"Last-Translator: Japanese KDE translation team <[email protected]>\n"
"Language-Team: Japanese <[email protected]>\n"
@@ -14,23 +14,13 @@ msgstr ""
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr ""
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr ""
@@ -45,9 +35,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -62,14 +52,14 @@ msgstr ""
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr ""
@@ -79,12 +69,12 @@ msgstr ""
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr ""
@@ -99,70 +89,79 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr ""
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgid "Clear Playlist"
msgstr ""
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr ""
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
@@ -180,42 +179,114 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr ""
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr ""
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr ""
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr ""
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
+153 -64
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-29 06:58+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 06:39+0100\n"
"Last-Translator: Temuri Doghonadze <[email protected]>\n"
"Language-Team: Georgian <[email protected]>\n"
"Language: ka\n"
@@ -16,17 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.2\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Temuri Doghonadze"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Poedit 3.2.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -34,7 +24,7 @@ msgid "Play"
msgstr "დაკვრა"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "შემთხვევით"
@@ -49,9 +39,9 @@ msgstr "ბრაუზერში გახსნა"
msgid "Album • %1"
msgstr "ალბომი • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "მეტი"
@@ -66,7 +56,7 @@ msgstr "რადიო"
msgid "Artist"
msgstr "შემსრულებელი"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgid ""
msgstr ""
"ვიდეოს დაკვრა ჯერ მხარდაჭერილი არაა. გნებავთ \"%1\"-ის მხოლოდ ხმა დავუკრა?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "ალბომები"
@@ -84,12 +74,12 @@ msgstr "ალბომები"
msgid "Singles"
msgstr "სინგლები"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "სიმღერები"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "ვიდეო"
@@ -104,71 +94,80 @@ msgstr "კარგი"
msgid "Cancel"
msgstr "გაუქმენა"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "რჩეულები"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "ყველას ჩვენება"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "რჩეული სიმღერები"
msgid "No Favourites Yet"
msgstr "რჩეულების გარეშე"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "ხშირად დაკრულები"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "დაკრული სიმღერები"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "უკან"
msgid "No Songs Played Yet"
msgstr "სიმღერები ჯერ არ დაგიკრავთ"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "ძებნა"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "მიმდინარეობს დაკვრა"
msgid "No media playing"
msgstr "არაფერს ვუკრავ"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "რიგი"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "ლირიკა"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "აუდიობილიკის წაშლა"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "არაფერს ვუკრავ"
msgid "Clear Playlist"
msgstr "დასაკრავი სიის გასუფთავება"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "ბიბლიოთეკა"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "ძებნა"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "დაკრული სიმღერები"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +184,136 @@ msgstr "აქ ჯერ სიმღერები არაა"
msgid "Playlist"
msgstr "დასაკრავი სია"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "ძებნის ისტორიიდან წაშლა"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "წინა ძებნები:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "შემსრულებლები"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "დასაკრავი სიები"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "უცნობი"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "იპოვეთ მუსიკა YouTube Music-ზე"
msgid "No matching previous searches"
msgstr "წინა ძებნებს არ ემთხვევა"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "შესახებ"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "გვერდითი ზოლის ჩაკეცვა"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "შემდეგის დაკვრა"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "რიგში ჩამატება"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "რჩეულის წაშლა"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "რჩეულის დამატება"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "ისტორიიდან წაშლა"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube-ის მუსიკის დამკვრელი"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "წამყვანი პროგრამისტი"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "დიზაინერი"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Temuri Doghonadze"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music-ის არაოფიციალური API"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "მიმდინარეობს დაკვრა"
#~ msgid "Queue"
#~ msgstr "რიგი"
#~ msgid "Lyrics"
#~ msgstr "ლირიკა"
#~ msgid "Favourite Songs"
#~ msgstr "რჩეული სიმღერები"
#~ msgid "Back"
#~ msgstr "უკან"
#~ msgid "Add to Playlist"
#~ msgstr "დასაკრავი სიაში დამატება"
+152 -64
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-10-03 14:20+0200\n"
"Last-Translator: Shinjo Park <[email protected]>\n"
"Language-Team: Korean <[email protected]>\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 21.12.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "박신조"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "재생"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "무순서 재생"
@@ -48,9 +38,9 @@ msgstr "브라우저로 열기"
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,14 +56,14 @@ msgstr "라디오"
msgid "Artist"
msgstr "아티스트"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "비디오 재생은 지원하지 않습니다. \"%1\"의 오디오만 재생하시겠습니까?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "앨범"
@@ -83,12 +73,12 @@ msgstr "앨범"
msgid "Singles"
msgstr "싱글"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "곡"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "비디오"
@@ -103,71 +93,84 @@ msgstr "확인"
msgid "Cancel"
msgstr "취소"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "책갈피"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "모두 표시"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "책갈피에 등록된 노래"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "책갈피"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "가장 많이 재생됨"
#: contents/ui/LibraryPage.qml:211
#, kde-format
msgid "Played Songs"
#: contents/ui/LibraryPage.qml:257
#, fuzzy, kde-format
#| msgid "Played Songs"
msgid "played Songs"
msgstr "재생한 노래"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "뒤로"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "목록에 등록된 곡 없음"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "검색"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "지금 재생 중"
msgid "No media playing"
msgstr "재생 중인 미디어 없음"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "대기열에 추가"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "트랙 삭제"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "재생 목록"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "재생 중인 미디어 없음"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "검색"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "재생한 노래"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,48 +188,133 @@ msgstr "목록에 등록된 곡 없음"
msgid "Playlist"
msgstr "재생 목록"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "아티스트"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "재생 목록"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "알 수 없음"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "YouTube Music에서 음악 찾기"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "다음 재생"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "책갈피"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "책갈피"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "박신조"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Music에서 음악 찾기"
#~ msgid "Now Playing"
#~ msgstr "지금 재생 중"
#~ msgid "Queue"
#~ msgstr "대기열에 추가"
#~ msgid "Favourite Songs"
#~ msgstr "책갈피에 등록된 노래"
#~ msgid "Back"
#~ msgstr "뒤로"
#~ msgid "Add to Playlist"
#~ msgstr "재생 목록에 추가"
+155 -66
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Freek de Kruijf <[email protected]>, 2021, 2022.
# Freek de Kruijf <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 11:10+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 10:56+0100\n"
"Last-Translator: Freek de Kruijf <[email protected]>\n"
"Language-Team: \n"
"Language: nl\n"
@@ -15,17 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Freek de Kruijf - 2021 t/m 2022"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -33,7 +23,7 @@ msgid "Play"
msgstr "Afspelen"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Willekeurig afspelen"
@@ -48,9 +38,9 @@ msgstr "In browser openen"
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Meer"
@@ -65,7 +55,7 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artiest"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgstr ""
"Afspelen van video wordt nog niet ondersteund. Wilt u alleen het geluid van "
"\"%1\" afspelen?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albums"
@@ -84,12 +74,12 @@ msgstr "Albums"
msgid "Singles"
msgstr "Enkelvoudige"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songs"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Video's"
@@ -104,71 +94,80 @@ msgstr "OK"
msgid "Cancel"
msgstr "Annuleren"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favorieten"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Alles tonen"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Favoriete songs"
msgid "No Favourites Yet"
msgstr "Nog geen favorieten"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Meest afgespeeld"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Afgespeelde songs"
msgid "played Songs"
msgstr "afgespeelde songs"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Terug"
msgid "No Songs Played Yet"
msgstr "Nog geen songs afgespeeld"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Zoeken"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Speelt nu"
msgid "No media playing"
msgstr "Er speelt geen medium"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Wachtrij"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Liedteksten"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Track verwijderen"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Er speelt geen medium"
msgid "Clear Playlist"
msgstr "Afspeellijst wissen"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Bibliotheek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Zoeken"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Afgespeelde songs"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +184,136 @@ msgstr "Er zijn hier nog geen songs"
msgid "Playlist"
msgstr "Afspeellijst"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "uit zoekgeschiedenis verwijderen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Vorige zoekopdrachten:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artiesten"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Afspeellijsten"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Onbekend"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Muziek zoeken op YouTube Music"
msgid "No matching previous searches"
msgstr "Geen overeenkomende vorige zoekopdrachten"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Info over"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Zijbalk invouwen"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Volgende afspelen"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Aan wachtrij toevoegen"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Favoriet verwijderen"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Favoriet toevoegen"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Uit geschiedenis verwijderen"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube muziekspeler"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE-gemeenschap"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Onderhouder"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Ontwerper"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Freek de Kruijf - 2021 t/m 2023"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Niet officiële API voor YouTube Music"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Speelt nu"
#~ msgid "Queue"
#~ msgstr "Wachtrij"
#~ msgid "Lyrics"
#~ msgstr "Liedteksten"
#~ msgid "Favourite Songs"
#~ msgstr "Favoriete songs"
#~ msgid "Back"
#~ msgstr "Terug"
#~ msgid "Add to Playlist"
#~ msgstr "Aan afspeellijst toevoegen"
+142 -71
View File
@@ -1,13 +1,13 @@
# Translation of audiotube to Norwegian Nynorsk
#
# Øystein Steffensen-Alværvik <[email protected]>, 2022.
# Karl Ove Hufthammer <[email protected]>, 2022.
# Karl Ove Hufthammer <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-12 00:49+0000\n"
"PO-Revision-Date: 2022-09-11 19:45+0200\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-23 19:21+0100\n"
"Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
"Language-Team: Norwegian Nynorsk <[email protected]>\n"
"Language: nn\n"
@@ -15,28 +15,18 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.08.1\n"
"X-Generator: Lokalize 22.12.2\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Spel av"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Stokk om"
@@ -49,14 +39,14 @@ msgstr "Opna i nettlesar"
#: contents/ui/AlbumPage.qml:44
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
msgstr "Meir"
#: contents/ui/ArtistPage.qml:27
#, kde-format
@@ -66,16 +56,16 @@ msgstr "Radio"
#: contents/ui/ArtistPage.qml:46
#, kde-format
msgid "Artist"
msgstr ""
msgstr "Artist"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Videoavspeling er endå ikkje støtta. Vil du spela av lyden til «%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
@@ -85,12 +75,12 @@ msgstr "Album"
msgid "Singles"
msgstr "Singelplater"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Songar"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videoar"
@@ -105,71 +95,80 @@ msgstr "OK"
msgid "Cancel"
msgstr "Avbryt"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favorittar"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:181
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Vis alle"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Favorittsongar"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:171
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Oftast avspela"
#: contents/ui/LibraryPage.qml:186
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Avspela songar"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Tilbake"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Søk"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Spelar no"
msgid "No media playing"
msgstr "Inkje medium vert spela av"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Kø"
msgid "%1%"
msgstr "%1 %"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Fjern spor"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Inkje medium vert spela"
msgid "Clear Playlist"
msgstr ""
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Bibliotek"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Søk"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Avspela songar"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,44 +183,116 @@ msgstr "Ingen songar enno"
#: contents/ui/PlaylistPage.qml:42
#, kde-format
msgid "Playlist"
msgstr ""
msgstr "Speleliste"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "Fjern frå søkjeloggen"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Tidlegare søk:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistar"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Spelelister"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Ukjend"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Søk etter musikk på YouTube Music"
msgid "No matching previous searches"
msgstr "Ingen samsvarande tidlegare søk"
#: contents/ui/SongMenu.qml:26
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Fald saman sidestolpe"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Spel som neste"
#: contents/ui/SongMenu.qml:32
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
msgstr "Legg i avspelingskøen"
#: contents/ui/SongMenu.qml:39
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
msgstr "Fjern frå favorittar"
#: contents/ui/SongMenu.qml:39
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Legg til favorittar"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Fjern frå loggen"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Øystein Steffensen-Alværvik"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
+137 -60
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+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"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.04.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "alam yellow @ gmail.com"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "ਚਲਾਓ"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "ਰਲਵੇਂ"
@@ -48,9 +38,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,14 +56,14 @@ msgstr "ਰੇਡੀਓ"
msgid "Artist"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "ਵਿਡੀਓ ਪਲੇਅਬੈਕ ਹਾਲੇ ਸਹਾਇਕ ਨਹੀਂ ਹੈ। ਕੀ ਤੁਸੀਂ \"%1\" ਦਾ ਆਡੀਓ ਹੀ ਚਲਾਉਣਾ ਚਾਹੋਗੇ?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "ਐਲਬਮਾਂ"
@@ -83,12 +73,12 @@ msgstr "ਐਲਬਮਾਂ"
msgid "Singles"
msgstr "ਇਕੱਲੇ"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "ਗੀਤ"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "ਵਿਡੀਓ"
@@ -103,72 +93,81 @@ msgstr "ਠੀਕ ਹੈ"
msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "ਖੋਜੋ"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "ਆਡੀਓ-ਟਿਊਬ"
#: contents/ui/MaximizedPlayerPage.qml:107
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "Now Playing"
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "No media playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "ਟਰੈਕ ਨੂੰ ਹਟਾਓ"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "ਖੋਜੋ"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -186,46 +185,124 @@ msgstr ""
msgid "Playlist"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "ਕਲਾਕਾਰ"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "ਪਲੇਅਲਿਸਟਾਂ"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "ਅਣਪਛਾਤਾ"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "ਅਗਲਾ ਚਲਾਓ"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "alam yellow @ gmail.com"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "ਯੂਟਿਊਬ ਸੰਗੀਤ ਉੱਤੇ ਸੰਗੀਤ ਲੱਭੋ"
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "ਕੋਈ ਮੀਡੀਆ ਨਹੀਂ ਚੱਲਦਾ"
#~ msgid "Add to Playlist"
#~ msgstr "ਪਲੇਅਲਿਸਟ ਵਿੱਚ ਜੋੜੋ"
+166 -83
View File
@@ -1,14 +1,14 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Łukasz Wojniłowicz <[email protected]>, 2021, 2022.
# Łukasz Wojniłowicz <[email protected]>, 2021, 2022, 2023.
# Ignacy Kajdan <[email protected]>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-10-18 18:06+0200\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-18 09:19+0100\n"
"Last-Translator: Łukasz Wojniłowicz <[email protected]>\n"
"Language-Team: Polish <[email protected]>\n"
"Language: pl\n"
@@ -17,17 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 22.08.1\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -35,7 +25,7 @@ msgid "Play"
msgstr "Odtwórz"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Wymieszaj"
@@ -48,14 +38,14 @@ msgstr "Otwórz w przeglądarce"
#: contents/ui/AlbumPage.qml:44
#, kde-format
msgid "Album • %1"
msgstr ""
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
msgstr "Więcej"
#: contents/ui/ArtistPage.qml:27
#, kde-format
@@ -63,12 +53,11 @@ msgid "Radio"
msgstr "Radio"
#: contents/ui/ArtistPage.qml:46
#, fuzzy, kde-format
#| msgid "Artists"
#, kde-format
msgid "Artist"
msgstr "Wykonawcy"
msgstr "Wykonawca"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -77,7 +66,7 @@ msgstr ""
"Odtwarzanie wideo nie jest jeszcze obsługiwane. Czy odtworzyć tylko dźwięk z "
"„%1”?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumy"
@@ -87,12 +76,12 @@ msgstr "Albumy"
msgid "Singles"
msgstr "Single"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Piosenki"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Filmy"
@@ -107,71 +96,83 @@ msgstr "OK"
msgid "Cancel"
msgstr "Anuluj"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Ulubione"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Pokaż wszystkie"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Ulubione utwory"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Ulubione"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Najczęściej odtwarzane"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Odtwarzane utwory"
msgid "played Songs"
msgstr "odtworzone utwory"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Wstecz"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Jeszcze nie ma tutaj utworów"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Szukaj"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Teraz odtwarzany"
msgid "No media playing"
msgstr "Nic nie jest odtwarzane"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Kolejka"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Usuń utwór"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Lista odtwarzania"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Nic nie jest odtwarzane"
msgid "Library"
msgstr "Biblioteka"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Szukaj"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Odtwarzane utwory"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,52 +185,134 @@ msgid "No songs here yet"
msgstr "Jeszcze nie ma tutaj utworów"
#: contents/ui/PlaylistPage.qml:42
#, fuzzy, kde-format
#| msgid "Playlists"
#, kde-format
msgid "Playlist"
msgstr "Listy odtwarzania"
msgstr "Lista odtwarzania"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "usuń z historii wyszukiwania"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Poprzednie wyszukiwania:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Wykonawcy"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Listy odtwarzania"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Nieznany"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Znajdź muzykę w serwisie YouTube Music"
msgid "No matching previous searches"
msgstr "Żadne z poprzednich wyszukiwań nie odpowiada"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Zwiń pasek boczny"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Odtwórz następny"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Dodaj do kolejki"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Usuń z ulubionych"
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Dodaj do ulubionych"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Usuń z historii"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Ulubione"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Łukasz Wojniłowicz, Ignacy Kajdan"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Ulubione"
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Znajdź muzykę w serwisie YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Teraz odtwarzany"
#~ msgid "Queue"
#~ msgstr "Kolejka"
#~ msgid "Favourite Songs"
#~ msgstr "Ulubione utwory"
#~ msgid "Back"
#~ msgstr "Wstecz"
#~ msgid "Add to Playlist"
#~ msgstr "Dodaj do listy odtwarzania"
+137 -65
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 18:35+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-17 12:38+0000\n"
"Last-Translator: José Nuno Coelho Pires <[email protected]>\n"
"Language-Team: Portuguese <[email protected]>\n"
"Language: pt\n"
@@ -16,26 +16,16 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-POFile-SpellExtra: Singles AudioTube YouTube Music\n"
"X-POFile-SpellExtra: Singles AudioTube YouTube Music Jonah Brüchert Mathis\n"
"X-POFile-IgnoreConsistency: Singles\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "José Nuno Pires"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Baralhar"
@@ -50,9 +40,9 @@ msgstr "Abrir no Navegador"
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Mais"
@@ -67,7 +57,7 @@ msgstr "Rádio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -76,7 +66,7 @@ msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbuns"
@@ -86,12 +76,12 @@ msgstr "Álbuns"
msgid "Singles"
msgstr "'Singles'"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -106,71 +96,81 @@ msgstr "OK"
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoritos"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostrar Tudo"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Músicas Favoritas"
msgid "No Favourites Yet"
msgstr "Ainda sem Favoritos"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Mais Tocadas"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Músicas Tocadas"
msgid "played Songs"
msgstr "Músicas tocadas"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Recuar"
msgid "No Songs Played Yet"
msgstr "Ainda sem Músicas Reproduzidas"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Procurar"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Agora a Ouvir"
msgid "No media playing"
msgstr "Nada em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Fila"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Letras Musicais"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Remover a Faixa"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Nada em reprodução"
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Procurar"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Músicas Tocadas"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -187,42 +187,114 @@ msgstr "Ainda sem músicas aqui"
msgid "Playlist"
msgstr "Lista de Reprodução"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisas"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pesquisas Anteriores:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Listas de Reprodução"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Procurar música no YouTube Music"
msgid "No matching previous searches"
msgstr "Sem pesquisas anteriores correspondentes"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Acerca"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Fechar a Barra Lateral"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Reproduzir o Seguinte"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Adicionar à fila"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Remover o Favorito"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Adicionar aos Favoritos"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Remover do Histórico"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Leitor de Música do YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 de Jonah Brüchert, 2021-2023 da Comunidade do KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Manutenção"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Desenhador"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "José Nuno Pires"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
+151 -65
View File
@@ -1,14 +1,14 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Luiz Fernando Ranghetti <[email protected]>, 2021, 2022.
# Luiz Fernando Ranghetti <[email protected]>, 2021, 2022, 2023.
# Thiago Masato Costa Sueto <[email protected]>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-20 10:48-0300\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-24 17:15-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <[email protected]>\n"
"Language-Team: Portuguese <[email protected]>\n"
"Language: pt_BR\n"
@@ -18,23 +18,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 21.12.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Luiz Fernando Ranghetti"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Reproduzir"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Embaralhar"
@@ -49,9 +39,9 @@ msgstr "Abrir no navegador"
msgid "Album • %1"
msgstr "Álbum • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Mais"
@@ -66,7 +56,7 @@ msgstr "Rádio"
msgid "Artist"
msgstr "Artista"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -75,7 +65,7 @@ msgstr ""
"A reprodução de vídeos ainda não é suportada. Deseja reproduzir apenas o "
"áudio de \"%1\"?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Álbuns"
@@ -85,12 +75,12 @@ msgstr "Álbuns"
msgid "Singles"
msgstr "Singles"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Músicas"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Vídeos"
@@ -105,71 +95,80 @@ msgstr "OK"
msgid "Cancel"
msgstr "Cancelar"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoritas"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Mostrar tudo"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Músicas favoritas"
msgid "No Favourites Yet"
msgstr "Nenhuma favorita ainda"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Mais reproduzidas"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Músicas reproduzidas"
msgid "played Songs"
msgstr "músicas reproduzidas"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Voltar"
msgid "No Songs Played Yet"
msgstr "Nenhuma música reproduzida ainda"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Pesquisar"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Reproduzindo agora"
msgid "No media playing"
msgstr "Nenhuma mídia em reprodução"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Fila"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Letras"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Remover faixa"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Nenhuma mídia em reprodução"
msgid "Clear Playlist"
msgstr "Limpar lista de músicas"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Biblioteca"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Pesquisar"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Músicas reproduzidas"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -186,46 +185,133 @@ msgstr "Nenhuma música ainda"
msgid "Playlist"
msgstr "Lista de músicas"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "remover do histórico de pesquisa"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Pesquisas anteriores:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artistas"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Listas de músicas"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Desconhecido"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Encontre músicas no YouTube Music"
msgid "No matching previous searches"
msgstr "Nenhuma pesquisa anterior correspondente"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Sobre"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Recolher barra lateral"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Reproduzir próxima"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Adicionar à fila"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Remover das favoritas"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Adicionar favorita"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Remover do histórico"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Reprodutor de músicas do Youtube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Comunidade KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Mantenedor"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Designer"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Luiz Fernando Ranghetti"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "API não oficial do YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Reproduzindo agora"
#~ msgid "Queue"
#~ msgstr "Fila"
#~ msgid "Lyrics"
#~ msgstr "Letras"
#~ msgid "Favourite Songs"
#~ msgstr "Músicas favoritas"
#~ msgid "Back"
#~ msgstr "Voltar"
#~ msgid "Add to Playlist"
#~ msgstr "Adicionar à lista de reprodução"
+156 -66
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Alexander Yavorsky <[email protected]>, 2022.
# Alexander Yavorsky <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-27 10:21+0300\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-01-28 13:37+0300\n"
"Last-Translator: Alexander Yavorsky <[email protected]>\n"
"Language-Team: Russian <[email protected]>\n"
"Language: ru\n"
@@ -18,23 +18,13 @@ msgstr ""
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 21.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Александр Яворский, Павел Чернышов"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Воспроизвести"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Перемешать"
@@ -49,9 +39,9 @@ msgstr "Открыть в браузере"
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Дополнительно"
@@ -66,7 +56,7 @@ msgstr "Радио"
msgid "Artist"
msgstr "Исполнитель"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgid ""
msgstr ""
"Воспроизведение видео пока не поддерживается. Воспроизвести звук трека «%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Альбомы"
@@ -84,12 +74,12 @@ msgstr "Альбомы"
msgid "Singles"
msgstr "Синглы"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Треки"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Видеозаписи"
@@ -104,71 +94,83 @@ msgstr "ОК"
msgid "Cancel"
msgstr "Отмена"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Избранное"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Показать все"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Избранные треки"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Избранное"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Часто воспроизводимые"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Воспроизведённые треки"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Назад"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Пока нет ни одного трека"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Поиск"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Текущий трек"
msgid "No media playing"
msgstr "Ничего не воспроизводится"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Очередь воспроизведения"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Текст песни"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Удалить дорожку"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlist"
msgid "Clear Playlist"
msgstr "Список воспроизведения"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Ничего не воспроизводится"
msgid "Library"
msgstr "Библиотека"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Поиск"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Воспроизведённые треки"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +187,134 @@ msgstr "Пока нет ни одного трека"
msgid "Playlist"
msgstr "Список воспроизведения"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Предыдущие поисковые запросы:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Исполнители"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Списки воспроизведения"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Неизвестный тип"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Найти музыку в YouTube Music"
msgid "No matching previous searches"
msgstr "Не найдено соответствующих предыдущих поисковых запросов"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Свернуть боковую панель"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Воспроизвести следующим"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Добавить в очередь воспроизведения"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Убрать из избранного"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Добавить в избранное"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Удалить из журнала"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Александр Яворский, Павел Чернышов"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Найти музыку в YouTube Music"
#~ msgid "Now Playing"
#~ msgstr "Текущий трек"
#~ msgid "Queue"
#~ msgstr "Очередь воспроизведения"
#~ msgid "Lyrics"
#~ msgstr "Текст песни"
#~ msgid "Favourite Songs"
#~ msgstr "Избранные треки"
#~ msgid "Back"
#~ msgstr "Назад"
#~ msgid "Clear"
#~ msgstr "Очистить"
+135 -59
View File
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+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"
@@ -15,23 +15,13 @@ msgstr ""
"X-Generator: Lokalize 21.12.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Roman Paholík"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Prehrať"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Zamiešať"
@@ -46,9 +36,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -64,14 +54,14 @@ msgstr "Rádio"
msgid "Artist"
msgstr "Interpreti"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumy"
@@ -81,12 +71,12 @@ msgstr "Albumy"
msgid "Singles"
msgstr "Samotné"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videá"
@@ -101,72 +91,81 @@ msgstr "OK"
msgid "Cancel"
msgstr "Zrušiť"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Hľadať"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#, fuzzy, kde-format
#| msgid "No media playing"
msgid "Now Playing"
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "No media playing"
msgstr "Neprehráva sa žiadne médium"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Neprehráva sa žiadne médium"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Hľadať"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,47 +183,124 @@ msgstr ""
msgid "Playlist"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Interpreti"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Zoznamy skladieb"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Neznáme"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, fuzzy, kde-format
#| msgid "Play"
msgid "Play Next"
msgstr "Prehrať"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Roman Paholík"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
#, fuzzy
#~| msgid "No media playing"
#~ msgid "Now Playing"
#~ msgstr "Neprehráva sa žiadne médium"
#~ msgid "Add to Playlist"
#~ msgstr "Pridať do zoznamu skladieb"
+155 -66
View File
@@ -1,40 +1,30 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Matjaž Jeran <[email protected]>, 2021, 2022.
# Matjaž Jeran <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-29 07:45+0100\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-22 09:09+0100\n"
"Last-Translator: Matjaž Jeran <[email protected]>\n"
"Language-Team: Slovenian <[email protected]>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 22.08.3\n"
"X-Generator: Lokalize 22.12.2\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Matjaž Jeran"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Predvajaj"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Premešaj"
@@ -49,9 +39,9 @@ msgstr "Odpri v brskalniku"
msgid "Album • %1"
msgstr "Album • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Več"
@@ -66,14 +56,14 @@ msgstr "Radio"
msgid "Artist"
msgstr "Avtor"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Video playback še ni podprt. Ali želite predvajati samo zvok \"%1\"?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albumi"
@@ -83,12 +73,12 @@ msgstr "Albumi"
msgid "Singles"
msgstr "Singli"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Glasba"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videposnetki"
@@ -103,71 +93,80 @@ msgstr "V redu"
msgid "Cancel"
msgstr "Prekliči"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Priljubljene"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Prikaži vse"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Priljubljene pesmi"
msgid "No Favourites Yet"
msgstr "Še ni nobenih priljubljenih"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Največkrat predvajane"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "Predvajane pesmi"
msgid "played Songs"
msgstr "predvajane pesmi"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Nazaj"
msgid "No Songs Played Yet"
msgstr "Še ni nobene predvajane pesmi"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Išči"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Pravkar predvajano"
msgid "No media playing"
msgstr "Niče se ne predvaja"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Čakalna vrsta"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Besedilo"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Odstrani sled"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Niče se ne predvaja"
msgid "Clear Playlist"
msgstr "Očisti seznam predvajanja"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Knjižnica"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Išči"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Predvajane pesmi"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -184,46 +183,136 @@ msgstr "Tu še ni nobene pesmi"
msgid "Playlist"
msgstr "Seznam predvajanja"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "odstrani iz zgodovine iskanj"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Prejšnja iskanja:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Avtorji"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Seznami predvajanja"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Neznano"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Najdi glasbo na Youtube Music"
msgid "No matching previous searches"
msgstr "Ni zadetkov iz prejšnjih iskanj"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "O programu"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Strni stransko vrstico"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Predvajaj naslednjo"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Dodaj v v čakalno vrsto"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Odstrani priljubljenega"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Dodaj priljubljenega"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Odstrani iz zgodovine"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Predvajalnik glasbe YouTube"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 Skupnost KDE"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Vzdrževalec"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Oblikovalec"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Matjaž Jeran"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Neuradni programski vmesnik za Youtube Music"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Pravkar predvajano"
#~ msgid "Queue"
#~ msgstr "Čakalna vrsta"
#~ msgid "Lyrics"
#~ msgstr "Besedilo"
#~ msgid "Favourite Songs"
#~ msgstr "Priljubljene pesmi"
#~ msgid "Back"
#~ msgstr "Nazaj"
#~ msgid "Add to Playlist"
#~ msgstr "Dodaj v seznam predvajanja"
+152 -64
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-09-24 14:57+0200\n"
"Last-Translator: Stefan Asserhäll <[email protected]>\n"
"Language-Team: Swedish <[email protected]>\n"
@@ -17,23 +17,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 20.08.1\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Stefan Asserhäll"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Spela"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Blanda"
@@ -48,9 +38,9 @@ msgstr "Öppna i webbläsare"
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,14 +56,14 @@ msgstr "Radio"
msgid "Artist"
msgstr "Artister"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "Videouppspelning stöds inte ännu. Vill du bara spela ljudet på \"%1\"?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Album"
@@ -83,12 +73,12 @@ msgstr "Album"
msgid "Singles"
msgstr "Singlar"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Låtar"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videor"
@@ -103,71 +93,84 @@ msgstr "Ok"
msgid "Cancel"
msgstr "Avbryt"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Favoriter"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Visa alla"
#: contents/ui/LibraryPage.qml:36
#, kde-format
msgid "Favourite Songs"
msgstr "Favoritlåtar"
#: contents/ui/LibraryPage.qml:68
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "No Favourites Yet"
msgstr "Favoriter"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Mest spelade"
#: contents/ui/LibraryPage.qml:211
#, kde-format
msgid "Played Songs"
#: contents/ui/LibraryPage.qml:257
#, fuzzy, kde-format
#| msgid "Played Songs"
msgid "played Songs"
msgstr "Spelade låtar"
#: contents/ui/main.qml:49
#, kde-format
msgid "Back"
msgstr "Bakåt"
#: contents/ui/LibraryPage.qml:281
#, fuzzy, kde-format
#| msgid "No songs here yet"
msgid "No Songs Played Yet"
msgstr "Inga låtar här ännu"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Sök"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Spelar nu"
msgid "No media playing"
msgstr "Inga media spelar"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Köa"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Ta bort spår"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, fuzzy, kde-format
#| msgid "Playlists"
msgid "Clear Playlist"
msgstr "Spellistor"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "No media playing"
msgstr "Inga media spelar"
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Sök"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Spelade låtar"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,48 +188,133 @@ msgstr "Inga låtar här ännu"
msgid "Playlist"
msgstr "Spellistor"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Artister"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Spellistor"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Okänd"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Sök efter musik på YouTube musik"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Spela nästa"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Remove Favourite"
msgstr "Favoriter"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, fuzzy, kde-format
#| msgid "Favourites"
msgid "Add Favourite"
msgstr "Favoriter"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Stefan Asserhäll"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, fuzzy, kde-format
#| msgid "Find music on YouTube Music"
msgid "Unofficial API for YouTube Music"
msgstr "Sök efter musik på YouTube musik"
#~ msgid "Now Playing"
#~ msgstr "Spelar nu"
#~ msgid "Queue"
#~ msgstr "Köa"
#~ msgid "Favourite Songs"
#~ msgstr "Favoritlåtar"
#~ msgid "Back"
#~ msgstr "Bakåt"
#~ msgid "Add to Playlist"
#~ msgstr "Lägg till i spellista"
+154 -65
View File
@@ -1,13 +1,13 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the audiotube package.
#
# Emir SARI <[email protected]>, 2022.
# Emir SARI <[email protected]>, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 18:46+0300\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 16:58+0300\n"
"Last-Translator: Emir SARI <[email protected]>\n"
"Language-Team: Turkish <[email protected]>\n"
"Language: tr\n"
@@ -15,17 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 22.08.3\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Emir SARI"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
"X-Generator: Lokalize 22.12.2\n"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
@@ -33,7 +23,7 @@ msgid "Play"
msgstr "Çal"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Karıştır"
@@ -48,9 +38,9 @@ msgstr "Tarayıcıda Aç"
msgid "Album • %1"
msgstr "Albüm • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Daha Fazla"
@@ -65,7 +55,7 @@ msgstr "Radyo"
msgid "Artist"
msgstr "Sanatçı"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -74,7 +64,7 @@ msgstr ""
"Video oynatımı henüz desteklenmiyor. \"%1\" videosunun yalnızca sesinin "
"çalınmasını ister misiniz?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Albümler"
@@ -84,12 +74,12 @@ msgstr "Albümler"
msgid "Singles"
msgstr "Tekliler"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Şarkılar"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Videolar"
@@ -104,71 +94,80 @@ msgstr "Tamam"
msgid "Cancel"
msgstr "İptal"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Beğeniler"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Tümünü Göster"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Beğenilen Şarkılar"
msgid "No Favourites Yet"
msgstr "Henüz Beğeni Yok"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "En Çok Çalınanlar"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Çalınan Şarkılar"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Geri"
msgid "No Songs Played Yet"
msgstr "Henüz Şarkı Çalınmamış"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Ara"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Şimdi Çalınıyor"
msgid "No media playing"
msgstr "Ortam çalmıyor"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Kuyruk"
msgid "%1%"
msgstr "%​%1"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Şarkı Sözleri"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Parçayı Kaldır"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Ortam çalmıyor"
msgid "Clear Playlist"
msgstr "Çalma Listesini Temizle"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Kitaplık"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Ara"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Çalınan Şarkılar"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -185,46 +184,136 @@ msgstr "Burada henüz şarkı yok"
msgid "Playlist"
msgstr "Çalma Listesi"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "arama geçmişinden kaldır"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Önceki Aramalar:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Sanatçılar"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Çalma Listeleri"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Bilinmiyor"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "YouTube Müzik'te müzik bul"
msgid "No matching previous searches"
msgstr "Eşleşen daha önceden yapılmış arama yok"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Hakkında"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Kenar Çubuğunu Daralt"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Sonrakini Çal"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Kuyruğa ekle"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Beğenilerden Kaldır"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Beğenilere Ekle"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Geçmişten Kaldır"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "YouTube Müzik Çaları"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Topluluğu"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Bakımcı"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Tasarımcı"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Emir SARI"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "YouTube Müzik için resmi olmayan API"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Şimdi Çalınıyor"
#~ msgid "Queue"
#~ msgstr "Kuyruk"
#~ msgid "Lyrics"
#~ msgstr "Şarkı Sözleri"
#~ msgid "Favourite Songs"
#~ msgstr "Beğenilen Şarkılar"
#~ msgid "Back"
#~ msgstr "Geri"
#~ msgid "Add to Playlist"
#~ msgstr "Çalma Listesine Ekle"
+154 -65
View File
@@ -1,14 +1,14 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the PACKAGE package.
#
# Yuri Chornoivan <[email protected]>, 2021, 2022.
# Yuri Chornoivan <[email protected]>, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-11-28 20:43+0200\n"
"Last-Translator: Fracture dept <[email protected]>\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-20 09:12+0200\n"
"Last-Translator: Yuri Chornoivan <[email protected]>\n"
"Language-Team: Ukrainian <[email protected]>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
@@ -18,23 +18,13 @@ msgstr ""
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Lokalize 20.12.0\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Юрій Чорноіван"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "Відтворити"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "Перемішати"
@@ -49,9 +39,9 @@ msgstr "Відкрити у переглядачі"
msgid "Album • %1"
msgstr "Альбом • %1"
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr "Більше"
@@ -66,7 +56,7 @@ msgstr "Радіо"
msgid "Artist"
msgstr "Виконавець"
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
@@ -75,7 +65,7 @@ msgstr ""
"Підтримки відтворення відео ще не передбачено. Хочете, щоб було відтворено "
"лише звукову частину «%1»?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "Альбоми"
@@ -85,12 +75,12 @@ msgstr "Альбоми"
msgid "Singles"
msgstr "Одинарні"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "Пісні"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "Відео"
@@ -105,71 +95,80 @@ msgstr "Гаразд"
msgid "Cancel"
msgstr "Скасувати"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "Улюблені"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "Показати всі"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "Улюблені композиції"
msgid "No Favourites Yet"
msgstr "Улюблених творів ще немає"
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "Часто слухали"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr "Відтворені композиції"
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "Назад"
msgid "No Songs Played Yet"
msgstr "Відтворення композицій ще не відбувалося"
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "Пошук"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "Зараз відтворюємо"
msgid "No media playing"
msgstr "Відтворення не відбувається"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "Додати до черги"
msgid "%1%"
msgstr "%1%"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr "Текст"
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "Вилучити композицію"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "Відтворення не відбувається"
msgid "Clear Playlist"
msgstr "Спорожнити список відтворення"
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr "Бібліотека"
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "Пошук"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "Відтворені композиції"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -186,46 +185,136 @@ msgstr "Тут ще немає композицій"
msgid "Playlist"
msgstr "Список відтворення"
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr "вилучити з журналу пошуку"
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr "Попередні пошуки:"
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "Виконавці"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "Списки відтворення"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "Невідомий"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "Шукати музику на сайті «Музика Youtube»"
msgid "No matching previous searches"
msgstr "Немає відповідних попередніх пошуків"
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr "Відомості"
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr "Згорнути бічну панель"
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "Відтворити наступну"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr "Додати до черги"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr "Вилучити з улюблених"
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr "Додати до улюблених"
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr "Вилучити із журналу"
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr "Програвач YouTube Music"
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr "© Jonah Brüchert, 2021-2023; KDE Community,2021-2023"
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr "Jonah Brüchert"
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr "Супровідник"
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr "Mathis Brüchert"
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr "Дизайнер"
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Юрій Чорноіван"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr "Неофіційний програмний інтерфейс до YouTube Music"
#~ msgid "%"
#~ msgstr "%"
#~ msgid "Now Playing"
#~ msgstr "Зараз відтворюємо"
#~ msgid "Queue"
#~ msgstr "Додати до черги"
#~ msgid "Lyrics"
#~ msgstr "Текст"
#~ msgid "Favourite Songs"
#~ msgstr "Улюблені композиції"
#~ msgid "Back"
#~ msgstr "Назад"
#~ msgid "Add to Playlist"
#~ msgstr "Додати до списку відтворення"
+134 -63
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"PO-Revision-Date: 2022-12-24 11:42\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2023-02-24 12:44\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -17,23 +17,13 @@ msgstr ""
"X-Crowdin-File: /kf5-trunk/messages/audiotube/audiotube.pot\n"
"X-Crowdin-File-ID: 25474\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Qi Binye, Tyson Tan"
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr "播放"
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr "随机播放"
@@ -48,9 +38,9 @@ msgstr "在浏览器中打开"
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -65,14 +55,14 @@ msgstr "电台"
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr "视频播放尚未被支持。您想要只播放“%1”中的音频吗?"
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr "专辑"
@@ -82,12 +72,12 @@ msgstr "专辑"
msgid "Singles"
msgstr "单曲"
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr "曲目"
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr "视频"
@@ -102,71 +92,80 @@ msgstr "确定"
msgid "Cancel"
msgstr "取消"
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr "收藏夹"
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr "显示全部"
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgstr "收藏的歌曲"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr "最常播放"
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgstr "已播放歌曲"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgstr "返回"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr "搜索"
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr "AudioTube"
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgstr "正在播放"
msgid "No media playing"
msgstr "没有正在播放的媒体"
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgstr "播放队列"
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr "移除曲目"
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgstr "没有正在播放的媒体"
msgid "Clear Playlist"
msgstr ""
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr "搜索"
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr "已播放歌曲"
#: contents/ui/PlaybackHistory.qml:15
#, kde-format
@@ -183,42 +182,114 @@ msgstr "此处无歌曲"
msgid "Playlist"
msgstr ""
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr "艺人"
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr "播放列表"
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr "未知"
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgstr "查找 YouTube Music 中的音乐"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr "播放下一首"
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Qi Binye, Tyson Tan"
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "[email protected], [email protected]"
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
+127 -56
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: audiotube\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-12-24 00:52+0000\n"
"POT-Creation-Date: 2023-02-23 00:57+0000\n"
"PO-Revision-Date: 2022-05-30 00:47+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -18,23 +18,13 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: contents/ui/AlbumPage.qml:22 contents/ui/PlaylistPage.qml:26
#, kde-format
msgid "Play"
msgstr ""
#: contents/ui/AlbumPage.qml:29 contents/ui/ArtistPage.qml:32
#: contents/ui/PlaylistPage.qml:33
#: contents/ui/MaximizedPlayerPage.qml:856 contents/ui/PlaylistPage.qml:33
#, kde-format
msgid "Shuffle"
msgstr ""
@@ -49,9 +39,9 @@ msgstr ""
msgid "Album • %1"
msgstr ""
#: contents/ui/AlbumPage.qml:87 contents/ui/ArtistPage.qml:125
#: contents/ui/PlaybackHistory.qml:72 contents/ui/PlaylistPage.qml:89
#: contents/ui/SearchPage.qml:128
#: contents/ui/AlbumPage.qml:88 contents/ui/ArtistPage.qml:126
#: contents/ui/PlaybackHistory.qml:80 contents/ui/PlaylistPage.qml:91
#: contents/ui/SearchPage.qml:130
#, kde-format
msgid "More"
msgstr ""
@@ -66,14 +56,14 @@ msgstr ""
msgid "Artist"
msgstr ""
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:69
#: contents/ui/ArtistPage.qml:68 contents/ui/SearchPage.qml:70
#, kde-format
msgid ""
"Video playback is not supported yet. Do you want to play only the audio of "
"\"%1\"?"
msgstr ""
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:25
#: contents/ui/ArtistPage.qml:85 contents/ui/SearchPage.qml:26
#, kde-format
msgid "Albums"
msgstr ""
@@ -83,12 +73,12 @@ msgstr ""
msgid "Singles"
msgstr ""
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:31
#: contents/ui/ArtistPage.qml:89 contents/ui/SearchPage.qml:32
#, kde-format
msgid "Songs"
msgstr ""
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:33
#: contents/ui/ArtistPage.qml:91 contents/ui/SearchPage.qml:34
#, kde-format
msgid "Videos"
msgstr ""
@@ -103,70 +93,79 @@ msgstr ""
msgid "Cancel"
msgstr ""
#: contents/ui/LibraryPage.qml:21
#: contents/ui/LibraryPage.qml:28 contents/ui/LibraryPage.qml:43
#: contents/ui/NavigationBar.qml:46 contents/ui/NavigationBar.qml:51
#: contents/ui/Sidebar.qml:128 contents/ui/Sidebar.qml:135
#, kde-format
msgid "Favourites"
msgstr ""
#: contents/ui/LibraryPage.qml:31 contents/ui/LibraryPage.qml:206
#: contents/ui/LibraryPage.qml:39 contents/ui/LibraryPage.qml:253
#, kde-format
msgid "Show All"
msgstr ""
#: contents/ui/LibraryPage.qml:36
#: contents/ui/LibraryPage.qml:68
#, kde-format
msgid "Favourite Songs"
msgid "No Favourites Yet"
msgstr ""
#: contents/ui/LibraryPage.qml:196
#: contents/ui/LibraryPage.qml:242
#, kde-format
msgid "Most played"
msgstr ""
#: contents/ui/LibraryPage.qml:211
#: contents/ui/LibraryPage.qml:257
#, kde-format
msgid "Played Songs"
msgid "played Songs"
msgstr ""
#: contents/ui/main.qml:49
#: contents/ui/LibraryPage.qml:281
#, kde-format
msgid "Back"
msgid "No Songs Played Yet"
msgstr ""
#: contents/ui/main.qml:83 contents/ui/SearchPage.qml:149
#, kde-format
msgid "Search"
msgstr ""
#: contents/ui/main.qml:95
#: contents/ui/main.qml:108 main.cpp:42
#, kde-format
msgid "AudioTube"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:107
#: contents/ui/MaximizedPlayerPage.qml:194
#: contents/ui/MinimizedPlayerControls.qml:90
#, kde-format
msgid "Now Playing"
msgid "No media playing"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:132
#: contents/ui/MaximizedPlayerPage.qml:589
#, kde-format
msgid "Queue"
msgid "%1%"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:157
#, kde-format
msgid "Lyrics"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:273
#: contents/ui/MaximizedPlayerPage.qml:806
#: contents/ui/MaximizedPlayerPage.qml:964
#, kde-format
msgid "Remove Track"
msgstr ""
#: contents/ui/MaximizedPlayerPage.qml:315
#: contents/ui/MinimizedPlayerControls.qml:91
#: contents/ui/MaximizedPlayerPage.qml:835
#, kde-format
msgid "No media playing"
msgid "Clear Playlist"
msgstr ""
#: contents/ui/NavigationBar.qml:24 contents/ui/Sidebar.qml:97
#, kde-format
msgid "Library"
msgstr ""
#: contents/ui/NavigationBar.qml:35 contents/ui/Sidebar.qml:113
#, kde-format
msgid "Search"
msgstr ""
#: contents/ui/NavigationBar.qml:58 contents/ui/NavigationBar.qml:63
#: contents/ui/Sidebar.qml:147 contents/ui/Sidebar.qml:154
#, kde-format
msgid "Played Songs"
msgstr ""
#: contents/ui/PlaybackHistory.qml:15
@@ -184,42 +183,114 @@ msgstr ""
msgid "Playlist"
msgstr ""
#: contents/ui/SearchPage.qml:27
#: contents/ui/SearchHistoryPage.qml:86 contents/ui/SearchWithDropdown.qml:321
#, kde-format
msgid "remove from search history"
msgstr ""
#: contents/ui/SearchPage.qml:16
#, kde-format
msgid "Previous Searches:"
msgstr ""
#: contents/ui/SearchPage.qml:28
#, kde-format
msgid "Artists"
msgstr ""
#: contents/ui/SearchPage.qml:29
#: contents/ui/SearchPage.qml:30
#, kde-format
msgid "Playlists"
msgstr ""
#: contents/ui/SearchPage.qml:36
#: contents/ui/SearchPage.qml:37
#, kde-format
msgid "Unknown"
msgstr ""
#: contents/ui/SearchPage.qml:146
#: contents/ui/SearchWithDropdown.qml:286
#, kde-format
msgid "Find music on YouTube Music"
msgid "No matching previous searches"
msgstr ""
#: contents/ui/SongMenu.qml:50 contents/ui/SongMenu.qml:97
#: contents/ui/Sidebar.qml:171
#, kde-format
msgid "About"
msgstr ""
#: contents/ui/Sidebar.qml:185
#, kde-format
msgid "Collapse Sidebar"
msgstr ""
#: contents/ui/SongMenu.qml:116 contents/ui/SongMenu.qml:175
#, kde-format
msgid "Play Next"
msgstr ""
#: contents/ui/SongMenu.qml:59 contents/ui/SongMenu.qml:103
#: contents/ui/SongMenu.qml:125 contents/ui/SongMenu.qml:181
#, kde-format
msgid "Add to queue"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Remove Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:69 contents/ui/SongMenu.qml:110
#: contents/ui/SongMenu.qml:135 contents/ui/SongMenu.qml:188
#, kde-format
msgid "Add Favourite"
msgstr ""
#: contents/ui/SongMenu.qml:151 contents/ui/SongMenu.qml:203
#, kde-format
msgid "Remove from History"
msgstr ""
#: main.cpp:44
#, kde-format
msgid "YouTube Music Player"
msgstr ""
#: main.cpp:46
#, kde-format
msgid "© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Jonah Brüchert"
msgstr ""
#: main.cpp:47
#, kde-format
msgid "Maintainer"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Mathis Brüchert"
msgstr ""
#: main.cpp:48
#, kde-format
msgid "Designer"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: main.cpp:49
#, kde-format
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""
#: main.cpp:54
#, kde-format
msgid "Unofficial API for YouTube Music"
msgstr ""
+1 -1
View File
@@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
ytmusicapi==0.24.0
ytmusicapi==0.25.0
yt-dlp
+5 -1
View File
@@ -36,6 +36,7 @@ add_executable(audiotube
multiiterableview.h
library.cpp
resources.qrc
blur.cpp
)
target_link_libraries(audiotube
@@ -49,10 +50,13 @@ target_link_libraries(audiotube
KF5::I18n
KF5::CoreAddons
KF5::Crash
KF5::WindowSystem
ytm
asyncdatabase
)
target_compile_definitions(audiotube PRIVATE -DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
target_compile_definitions(audiotube PRIVATE
-DAUDIOTUBE_VERSION_STRING="${RELEASE_SERVICE_VERSION}"
-DQT_NO_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING)
install(TARGETS audiotube ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
+1 -2
View File
@@ -19,7 +19,7 @@ class AlbumModel : public AbstractYTMusicModel
Q_PROPERTY(QString artists READ artists NOTIFY artistsChanged)
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
Q_PROPERTY(QString playlistId READ playlistId NOTIFY playlistIdChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY webUrlChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY playlistIdChanged)
public:
enum Role {
@@ -52,7 +52,6 @@ public:
Q_SIGNAL void playlistIdChanged();
QUrl webUrl() const;
Q_SIGNAL void webUrlChanged();
private:
QString m_browseId;
+1 -1
View File
@@ -169,7 +169,7 @@ QUrl ArtistModel::thumbnailUrl() const
QUrl ArtistModel::webUrl() const
{
return QUrl(YTMUSIC_WEB_BASE_URL % u"channel/" % QString::fromStdString(m_artist.channel_id));
return QUrl(YTMUSIC_WEB_BASE_URL % u"channel/" % m_channelId);
}
void ArtistModel::triggerItem(int row)
+1 -2
View File
@@ -23,7 +23,7 @@ class ArtistModel : public AbstractYTMusicModel
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY webUrlChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY channelIdChanged)
public:
enum Type {
@@ -59,7 +59,6 @@ public:
Q_SIGNAL void thumbnailUrlChanged();
QUrl webUrl() const;
Q_SIGNAL void webUrlChanged();
Q_INVOKABLE void triggerItem(int row);
+7
View File
@@ -148,6 +148,13 @@ QFuture<Lyrics> AsyncYTMusic::fetchLyrics(const QString &browseId)
});
}
QFuture<QString> AsyncYTMusic::version()
{
return invokeAndCatchOnThread([this]() {
return QString::fromStdString(m_ytm->get_version());
});
}
YTMusicThread &YTMusicThread::instance()
{
static YTMusicThread thread;
+3
View File
@@ -9,6 +9,7 @@
#include <QFuture>
#include <QFutureWatcher>
#include <iostream>
#include <vector>
#include <ytmusic.h>
@@ -123,6 +124,8 @@ public:
QFuture<Lyrics> fetchLyrics(const QString &browseId);
QFuture<QString> version();
Q_SIGNAL void errorOccurred(const QString &error);
protected:
+32
View File
@@ -0,0 +1,32 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#include "blur.h"
#include <KWindowEffects>
#include <QQuickWindow>
#include <QQuickItem>
Blur::Blur(QObject *parent): QObject(parent)
{
}
void Blur::setBlur(QQuickItem *item, bool blur)
{
auto setWindows = [item, blur]() {
auto reg = QRect(QPoint(0, 0), item->window()->size());
KWindowEffects::enableBackgroundContrast(item->window(), blur, 1, 1, 1, reg);
KWindowEffects::enableBlurBehind(item->window(), blur, reg);
};
disconnect(item->window(), &QQuickWindow::heightChanged, this, nullptr);
disconnect(item->window(), &QQuickWindow::widthChanged, this, nullptr);
connect(item->window(), &QQuickWindow::heightChanged, this, setWindows);
connect(item->window(), &QQuickWindow::widthChanged, this, setWindows);
setWindows();
}
+20
View File
@@ -0,0 +1,20 @@
/*
* SPDX-FileCopyrightText: 2020-2021 Devin Lin <[email protected]>
*
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#pragma once
#include <QObject>
class QQuickItem;
class Blur : public QObject
{
Q_OBJECT
public:
Blur(QObject *parent = 0);
Q_INVOKABLE void setBlur(QQuickItem *item, bool blur);
};
+17
View File
@@ -0,0 +1,17 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
import QtQuick 2.15
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.15 as Controls
import org.kde.kirigami 2.20 as Kirigami
import org.kde.ytmusic 1.0
MobileForm.AboutPage {
aboutData: About
showAboutKDE: false
}
+14 -1
View File
@@ -12,7 +12,11 @@ import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
property alias browseId: albumModel.browseId
title: albumModel.title
ShareMenu {
id: shareMenu
inputTitle: albumModel.title
url: albumModel.webUrl
}
ListView {
id: songList
header: ListHeader {
@@ -37,6 +41,14 @@ Kirigami.ScrollablePage {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(albumModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered:{
shareMenu.open()
}
}
]
title: albumModel.title
@@ -56,6 +68,7 @@ Kirigami.ScrollablePage {
}
delegate: Kirigami.SwipeListItem {
id: delegateItem
alwaysVisibleActions:true
required property string title
required property string videoId
+13 -1
View File
@@ -14,7 +14,11 @@ Kirigami.ScrollablePage {
property string radioId
property string shuffleId
title: artistModel.title
ShareMenu {
id: shareMenu
inputTitle: artistModel.title
url: artistModel.webUrl
}
SongMenu {
id: menu
}
@@ -39,6 +43,13 @@ Kirigami.ScrollablePage {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(artistModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered: {
shareMenu.open()
}
}
]
title: artistModel.title
@@ -95,6 +106,7 @@ Kirigami.ScrollablePage {
delegate: Kirigami.SwipeListItem {
id: delegateItem
alwaysVisibleActions:true
required property string title
required property int type
+125 -20
View File
@@ -11,15 +11,36 @@ import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
objectName: "libraryPage"
Kirigami.Theme.colorSet: Kirigami.Theme.View
title: "AudioTube"
globalToolBarStyle: Kirigami.ApplicationHeaderStyle.None
rightPadding: 0
leftPadding: 0
SongMenu {
id: menu
}
ColumnLayout {
RowLayout {
Layout.fillWidth: true
spacing: Kirigami.Units.MediumSpacing
Kirigami.Heading {
text: i18n("Favourites")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
Controls.ToolButton {
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: applicationWindow().playFavourites(false)
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: applicationWindow().playFavourites(true)
}
// Spacer
@@ -31,18 +52,49 @@ Kirigami.ScrollablePage {
text: i18n("Show All")
Layout.alignment: Qt.AlignRight
icon.name: "arrow-right"
onClicked: pageStack.layers.push("qrc:/PlaybackHistory.qml", {
"dataModel": Library.favourites,
"title": i18n("Favourite Songs")
})
onClicked: {pageStack.push("qrc:/PlaybackHistory.qml", {
"title": i18n("Favourites"),
"objectName": "favourites"
})}
}
}
Kirigami.Icon {
id: favouritesPlaceholder
implicitWidth: Kirigami.Units.gridUnit * 19
implicitHeight: Kirigami.Units.gridUnit * 19
visible: favouriteRepeater.count === 0
opacity: 0.4
isMask: true
source: "qrc:/resources/favourites_placeholder.svg"
color: Kirigami.Theme.hoverColor
Layout.margins: Kirigami.Units.gridUnit * 2
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
}
Controls.Label {
visible: favouriteRepeater.count === 0
color: Kirigami.Theme.disabledTextColor
text: i18n("No Favourites Yet")
font {
bold: true
pointSize: 15
}
anchors.centerIn: favouritesPlaceholder
}
Controls.ScrollView {
leftPadding: 15
rightPadding: 25
Layout.fillWidth: true
RowLayout {
spacing: 20
Repeater {
id: favouriteRepeater
Layout.fillWidth: true
model: Library.favourites
delegate: ColumnLayout {
@@ -51,6 +103,7 @@ Kirigami.ScrollablePage {
required property var artists
required property string artistsDisplayString
required property string videoId
required property int index
Layout.fillWidth: false
Layout.maximumWidth: 200
@@ -66,14 +119,21 @@ Kirigami.ScrollablePage {
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput){
favSelected.visible = true
favTitle.color = Kirigami.Theme.hoverColor
favSubtitle.color = Kirigami.Theme.hoverColor
favTitle.font.bold = true
playAnimationPosition.running = true
playAnimationOpacity.running = true
}
}
onExited: favSelected.visible = false
onExited:{
favSelected.visible = false
favTitle.color = Kirigami.Theme.textColor
favSubtitle.color = Kirigami.Theme.disabledTextColor
favTitle.font.bold = false
}
}
Layout.margins: 5
@@ -150,6 +210,7 @@ Kirigami.ScrollablePage {
RowLayout {
ColumnLayout {
Controls.Label {
id:favTitle
text: delegateItem.title
Layout.maximumWidth: 200
Layout.fillWidth: true
@@ -158,6 +219,7 @@ Kirigami.ScrollablePage {
}
Controls.Label {
id: favSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 5
@@ -169,13 +231,10 @@ Kirigami.ScrollablePage {
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "view-more-horizontal-symbolic"
onPressed: favMenu.openForSong(delegateItem.videoId,
onPressed: menu.openForSong(delegateItem.videoId,
delegateItem.title,
delegateItem.artists,
delegateItem.artistsDisplayString)
SongMenu {
id:favMenu
}
}
}
@@ -192,9 +251,24 @@ Kirigami.ScrollablePage {
RowLayout {
Layout.fillWidth: true
spacing: Kirigami.Units.MediumSpacing
Kirigami.Heading {
text: i18n("Most played")
Layout.alignment: Qt.AlignLeft
leftPadding: 15
}
Controls.ToolButton {
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: applicationWindow().playPlaybackHistory(Library.mostPlayed, false)
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: applicationWindow().playPlaybackHistory(Library.mostPlayed, true)
}
// Spacer
@@ -206,17 +280,41 @@ Kirigami.ScrollablePage {
text: i18n("Show All")
Layout.alignment: Qt.AlignRight
icon.name: "arrow-right"
onClicked: pageStack.layers.push("qrc:/PlaybackHistory.qml", {
"dataModel": Library.playbackHistory,
"title": i18n("Played Songs")
})
onClicked: {pageStack.push("qrc:/PlaybackHistory.qml", {
"title": i18n("played Songs"),
"objectName": "history"
})}
}
}
Kirigami.Icon {
visible: mostPlayedRepeater.count == 0
Layout.margins: 20
isMask: true
opacity:0.4
color: Kirigami.Theme.hoverColor
id:playedPlaceholder
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
implicitWidth: 190
implicitHeight: 190
source: "qrc:/resources/played_placeholder.svg"
}
Controls.Label {
visible: mostPlayedRepeater.count == 0
color: Kirigami.Theme.disabledTextColor
anchors.centerIn:playedPlaceholder
font.bold: true
font.pointSize: 15
text: i18n("No Songs Played Yet")
}
Controls.ScrollView {
leftPadding: 15
rightPadding: 25
Layout.fillWidth: true
RowLayout {
spacing: 20
Repeater {
id: mostPlayedRepeater
Layout.fillWidth: true
model: Library.mostPlayed
delegate: ColumnLayout {
@@ -240,10 +338,18 @@ Kirigami.ScrollablePage {
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput)
recSelected.visible = true
recTitle.color = Kirigami.Theme.hoverColor
recSubtitle.color = Kirigami.Theme.hoverColor
recTitle.font.bold = true
playAnimationPositionRec.running = true
playAnimationOpacityRec.running = true
}
onExited: recSelected.visible = false
onExited:{
recSelected.visible = false
recTitle.color = Kirigami.Theme.textColor
recSubtitle.color = Kirigami.Theme.disabledTextColor
recTitle.font.bold = false
}
}
Layout.margins: 5
@@ -321,6 +427,7 @@ Kirigami.ScrollablePage {
RowLayout {
ColumnLayout {
Controls.Label {
id: recTitle
text: mpdelegateItem.title
Layout.maximumWidth: 200
Layout.fillWidth: true
@@ -329,6 +436,7 @@ Kirigami.ScrollablePage {
}
Controls.Label {
id: recSubtitle
Layout.fillWidth: true
Layout.maximumWidth: 200
leftPadding: 5
@@ -340,13 +448,10 @@ Kirigami.ScrollablePage {
Controls.ToolButton {
Layout.fillHeight: true
icon.name: "view-more-horizontal-symbolic"
onPressed: mpMenu.openForSong(mpdelegateItem.videoId,
onPressed: menu.openForSong(mpdelegateItem.videoId,
mpdelegateItem.title,
mpdelegateItem.artists,
mpdelegateItem.artistsDisplayString)
SongMenu{
id:mpMenu
}
}
}
+60 -3
View File
@@ -13,7 +13,6 @@ import org.kde.ytmusic 1.0
Item {
id:root
required property string imageSourceURL
property bool rounded : false
required property string title
@@ -65,6 +64,7 @@ Item {
flow: root.width > 500?GridLayout.LeftToRight:GridLayout.TopToBottom
Kirigami.ShadowedRectangle {
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.backgroundColor
Layout.margins: 30
width: 150
@@ -84,10 +84,12 @@ Item {
}
ColumnLayout {
Layout.leftMargin: 30
Layout.rightMargin: 30
Layout.fillWidth: true
Controls.Label {
horizontalAlignment: (root.width <= 500)? Qt.AlignHCenter: Qt.AlignLeft
Layout.fillWidth: true
text: title
font.bold: true
@@ -96,6 +98,7 @@ Item {
}
Controls.Label {
horizontalAlignment: (root.width <= 500)? Qt.AlignHCenter: Qt.AlignLeft
Layout.fillWidth: true
text: subtitle
elide: Qt.ElideRight
@@ -104,7 +107,6 @@ Item {
RowLayout {
visible: root.visibleActions.length>0
Layout.topMargin: 30
Layout.rightMargin: 30
Repeater {
model: root.visibleActions
@@ -132,8 +134,63 @@ Item {
}
}
}
Controls.Drawer {
id: overflowDrawer
edge: Qt.BottomEdge
height:contents.implicitHeight+20
width: applicationWindow().width
interactive: false
background: Kirigami.ShadowedRectangle{
corners.topRightRadius: 10
corners.topLeftRadius: 10
shadow.size: 20
shadow.color: Qt.rgba(0, 0, 0, 0.5)
color: Kirigami.Theme.backgroundColor
}
onClosed: overflowDrawer.interactive = false
ColumnLayout {
id: contents
anchors.fill: parent
Rectangle {
Layout.margins: 5
radius:50
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.textColor
opacity: 0.7
width: 40
height: 4
}
Repeater {
model: root.overflowActions
delegate: Kirigami.BasicListItem{
required property var modelData
label: modelData.text
icon: modelData.icon.name
onClicked: {
modelData.triggered()
overflowDrawer.close()
overflowDrawer.interactive = false
}
}
}
Item{
Layout.fillHeight: true
}
}
}
Controls.RoundButton {
onClicked: overflowMenu.popup()
onClicked: if (Kirigami.Settings.isMobile) {
overflowDrawer.open()
overflowDrawer.interactive = true
} else {
overflowMenu.popup()
}
visible: root.overflowActions.length > 0
icon.name: "overflow-menu"
}
File diff suppressed because it is too large. Load diff
+146 -70
View File
@@ -14,7 +14,6 @@ import org.kde.ytmusic 1.0
Item {
id: root
z: 2000
required property int progressBarHeight
@@ -23,14 +22,12 @@ Item {
required property var info // VideoInfoExtractor object
required property var audio // Audio object
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 40
readonly property bool isWidescreen: width >= Kirigami.Units.gridUnit * 50
signal requestOpen()
Rectangle {
id: miniProgressBar
z: 1
visible: !root.isWidescreen
anchors.top: parent.top
anchors.left: parent.left
height: root.progressBarHeight
@@ -39,14 +36,14 @@ Item {
}
RowLayout {
width: !isWidescreen ? root.width - controlButtonBox.width: root.width
anchors.fill: parent
spacing: 0
Rectangle {
Layout.fillHeight: true
Layout.fillWidth: true
Layout.maximumWidth: Kirigami.Units.gridUnit * 20
Layout.preferredWidth: Kirigami.Units.gridUnit * 20
color: Qt.rgba(0, 0, 0, trackClick.containsMouse ? 0.1 : trackClick.pressed ? 0.3 : 0)
RowLayout {
@@ -79,10 +76,12 @@ Item {
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
}
// track information
ColumnLayout {
Layout.fillWidth: true
Layout.fillHeight: true
@@ -93,6 +92,7 @@ Item {
wrapMode: Text.Wrap
Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
Layout.fillWidth: true
Layout.maximumWidth: Kirigami.Units.gridUnit * 15
horizontalAlignment: Text.AlignLeft
elide: Text.ElideRight
maximumLineCount: 1
@@ -113,14 +113,16 @@ Item {
horizontalAlignment: Text.AlignLeft
elide: Text.ElideRight
maximumLineCount: 1
Layout.maximumWidth: Kirigami.Units.gridUnit * 15
// 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
color: "white"
}
}
Item{Layout.fillWidth: true}
}
MouseArea {
id: trackClick
anchors.fill: parent
@@ -128,85 +130,159 @@ Item {
onClicked: root.requestOpen()
}
}
}
RowLayout {
id: controlButtonBox
anchors.centerIn: isWidescreen ? parent : null
anchors.right: !isWidescreen ? parent.right : null
anchors.top: parent.top
anchors.bottom: parent.bottom
spacing: 2
Label {
color: "white"
visible: info.title && root.isWidescreen
text: PlayerUtils.formatTimestamp(audio.position)
Layout.rightMargin: 20
}
RowLayout {
visible: root.isWidescreen
Layout.preferredWidth: 0
Layout.fillHeight: true
Layout.fillWidth: true
Layout.leftMargin: Kirigami.Units.largeSpacing
Layout.rightMargin: Kirigami.Units.largeSpacing
spacing: Kirigami.Units.smallSpacing
Button {
id: skipBackwardButton
implicitHeight: 40
implicitWidth: 40
Layout.fillHeight: !isWidescreen
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
enabled: UserPlaylistModel.canSkipBack
onClicked: UserPlaylistModel.previous()
Label {
Layout.alignment: Qt.AlignVCenter
color: "white"
visible: info.title
text: PlayerUtils.formatTimestamp(audio.position)
}
Slider {
Layout.alignment: Qt.AlignVCenter
Layout.fillWidth: true
from: 0
to: audio.duration
value: audio.position
enabled: audio.seekable
onMoved: {
console.log("Value:", value);
audio.seek(Math.floor(value));
contentItem: Item {
Kirigami.Icon {
anchors.centerIn: parent
source:"media-skip-backward"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
background: Kirigami.ShadowedRectangle {
corners.topLeftRadius: isWidescreen ? 7 : 0
corners.bottomLeftRadius: isWidescreen ? 7 : 0
Behavior on value {
NumberAnimation {
duration: 1000
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if(parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered){
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
Label {
Layout.alignment: Qt.AlignVCenter
color: "white"
visible: info.title
text: PlayerUtils.formatTimestamp(audio.duration)
}
}
ToolButton {
Button {
id: playPauseButton
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
Layout.maximumWidth: height
Layout.preferredWidth: height
implicitHeight: 40
implicitWidth: 60
Layout.fillHeight: !isWidescreen
enabled: info.audioUrl != ""
onClicked: audio.playbackState === Audio.PlayingState ? audio.pause() : audio.play()
contentItem: Item {
Kirigami.Icon {
anchors.centerIn:parent
source: audio.playbackState === Audio.PlayingState ? "media-playback-pause" : "media-playback-start"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
icon.name: audio.playbackState === Audio.PlayingState ? "media-playback-pause" : "media-playback-start"
icon.width: Kirigami.Units.gridUnit
icon.height: Kirigami.Units.gridUnit
icon.color: "white"
background: Kirigami.ShadowedRectangle {
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
}
Button {
id: skipForwardButton
implicitHeight: 40
implicitWidth: 40
Layout.fillHeight: !isWidescreen
Layout.rightMargin: isWidescreen ? 0 : 10
Layout.alignment: !Qt.AlignVCenter
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
}
ToolButton {
id: skipForwardButton
Layout.rightMargin: Math.floor(Kirigami.Units.smallSpacing / 2)
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
Layout.maximumWidth: height
Layout.preferredWidth: height
enabled: UserPlaylistModel.canSkip
onClicked: UserPlaylistModel.next()
icon.name: "media-skip-forward"
icon.width: Kirigami.Units.gridUnit
icon.height: Kirigami.Units.gridUnit
icon.color: "white"
Kirigami.Theme.colorSet: Kirigami.Theme.Complementary
Kirigami.Theme.inherit: false
contentItem: Item {
Kirigami.Icon {
anchors.centerIn: parent
source:"media-skip-forward"
color: "white"
width: Kirigami.Units.gridUnit
height: Kirigami.Units.gridUnit
}
}
background: Kirigami.ShadowedRectangle {
corners.topRightRadius: isWidescreen ? 7 : 0
corners.bottomRightRadius: isWidescreen ? 7 : 0
color: if (isWidescreen) {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if (parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
Qt.rgba(1, 1, 1, 0.2)
}
} else {
if (parent.down) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.3)
} else if(parent.hovered) {
Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.hoverColor, "transparent", 0.7)
} else {
"transparent"
}
}
}
}
Label {
color: "white"
visible: info.title && root.isWidescreen
text: PlayerUtils.formatTimestamp(audio.duration)
Layout.leftMargin: 20
}
}
}
+70
View File
@@ -0,0 +1,70 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.12
import QtQuick.Controls 2.4
import QtQuick.Layouts 1.2
import org.kde.kirigami 2.20 as Kirigami
import org.kde.ytmusic 1.0
Kirigami.NavigationTabBar {
id: root
anchors.bottom: parent.bottom
width:parent.width
backgroundColor: "transparent"
foregroundColor: "white"
highlightForegroundColor: "white"
shadow: false
actions: [
Kirigami.Action {
iconName: "file-library-symbolic"
text: i18n("Library")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "libraryPage"
onTriggered: {
pageStack.replace("qrc:/LibraryPage.qml")
applicationWindow().showSearch = false
}
},
Kirigami.Action {
iconName: "search"
text: i18n("Search")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "searchPage"
onTriggered: {
pageStack.replace("qrc:/SearchHistoryPage.qml",)
applicationWindow().showSearch = true
applicationWindow().searchField.forceActiveFocus();
}
},
Kirigami.Action {
iconName: "non-starred-symbolic"
text: i18n("Favourites")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "favourites"
onTriggered: {
pageStack.replace("qrc:/PlaybackHistory.qml", {
"dataModel": Library.favourites,
"title": i18n("Favourites"),
"objectName": "favourites"})
applicationWindow().showSearch = false
}
},
Kirigami.Action {
iconName: "edit-undo-history"
text: i18n("Played Songs")
checked: pageStack.currentItem && pageStack.currentItem.objectName == "history"
onTriggered: {
pageStack.replace("qrc:/PlaybackHistory.qml", {
"dataModel": Library.playbackHistory,
"title": i18n("Played Songs"),
"objectName": "history"})
applicationWindow().showSearch = false
}
}
]
}
+58 -4
View File
@@ -14,7 +14,53 @@ Kirigami.ScrollablePage {
id: playbackHistoryPage
title: i18n("Unknown list of songs")
property QtObject dataModel
property QtObject dataModel: (objectName == "history") ? Library.playbackHistory : (objectName == "favourites" ? Library.favourites : null)
titleDelegate: ColumnLayout {
spacing: 0
RowLayout{
spacing: Kirigami.Units.MediumSpacing
Controls.ToolButton {
text: i18n("Play")
icon.name: "media-playback-start"
onClicked: {
if(playbackHistoryPage.objectName == "favourites") {
applicationWindow().playFavourites(false)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: applicationWindow().playPlaybackHistory(playbackHistoryPage.dataModel, false)
}
}
}
Controls.ToolButton {
text: i18n("Shuffle")
icon.name: "shuffle"
onClicked: {
if(playbackHistoryPage.objectName == "favourites") {
applicationWindow().playFavourites(true)
}
else if(playbackHistoryPage.objectName == "history") {
onClicked: applicationWindow().playPlaybackHistory(playbackHistoryPage.dataModel, true)
}
}
}
Item {
Layout.fillWidth: true
}
}
Kirigami.Separator {
color: white
opacity: 0.3
Layout.fillWidth: true
}
}
SongMenu {
id:menu
}
@@ -32,9 +78,13 @@ Kirigami.ScrollablePage {
delegate: Kirigami.SwipeListItem {
id: delegateItem
alwaysVisibleActions:true
required property string title
required property string videoId
required property string artists
required property var artists
required property string artistsDisplayString
required property int index
onClicked: {
play(videoId)
@@ -57,11 +107,15 @@ Kirigami.ScrollablePage {
Controls.Label {
text: delegateItem.title
Layout.fillWidth: true
elide: Qt.ElideRight
}
Controls.Label {
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
text: delegateItem.artists
text: delegateItem.artistsDisplayString
elide: Qt.ElideRight
}
}
}
@@ -70,7 +124,7 @@ Kirigami.ScrollablePage {
Kirigami.Action {
icon.name: "view-more-horizontal-symbolic"
text: i18n("More")
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artists)
onTriggered: menu.openForSong(delegateItem.videoId, delegateItem.title, delegateItem.artists, delegateItem.artistsDisplayString)
}
]
}
+8 -231
View File
@@ -17,9 +17,10 @@ import org.kde.ytmusic 1.0
Flickable {
id: footerItem
property int footerSpacing:0
property bool maximized: false
readonly property int progressBarHeight: Kirigami.Units.gridUnit / 6
readonly property int progressBarHeight: Kirigami.Units.gridUnit / 4
readonly property int minimizedPlayerContentHeight: Math.round(Kirigami.Units.gridUnit * 3.5)
readonly property int minimizedPlayerHeight: minimizedPlayerContentHeight + progressBarHeight
@@ -122,7 +123,7 @@ Flickable {
ColumnLayout {
id: footerLayout
y:-footerSpacing
anchors.left: parent.left
anchors.right: parent.right
spacing: 0
@@ -135,7 +136,7 @@ Flickable {
Controls.Control {
Layout.fillWidth: true
padding: 0
implicitHeight: footerItem.minimizedPlayerHeight
implicitHeight: footerItem.minimizedPlayerHeight+footerSpacing
// minimized player background
background: Item {
@@ -157,8 +158,8 @@ Flickable {
layer.effect: HueSaturation {
cached: true
lightness: -0.5
saturation: 1.9
lightness: -0.7
saturation: 3
layer.enabled: true
layer.effect: FastBlur {
@@ -185,7 +186,7 @@ Flickable {
onRequestOpen: toOpen.start();
}
}
MaximizedPlayerPage {
id: maximizedPlayerPage
Layout.fillWidth: true
@@ -198,232 +199,8 @@ Flickable {
onRequestClose: toClose.start();
}
//GridLayout {
//id: playerLayout
//readonly property bool mobile: width > height
//Layout.fillHeight: footerItem.maximized
//Layout.fillWidth: true
//flow: width > height ? GridLayout.LeftToRight : GridLayout.TopToBottom
//visible: footerItem.maximized
//ColumnLayout {
//Layout.preferredWidth: footerLayout.width * (playerLayout.mobile ? 1 : 0.5)
//Layout.preferredHeight: footerLayout.height * (playerLayout.mobile ? 0.5 : 1)
//Item {
//Layout.fillWidth: true
//Layout.fillHeight: true
//Image {
//anchors.fill: parent
//source: info.thumbnail
//fillMode: Image.PreserveAspectFit
//}
//}
//Controls.RoundButton {
//readonly property QtObject favouriteWatcher: Library.favouriteWatcher(info.videoId)
//Layout.alignment: Qt.AlignHCenter
//icon.name: favouriteWatcher ? (favouriteWatcher.isFavourite ? "starred-symbolic" : "non-starred-symbolic") : ""
//onClicked: if (favouriteWatcher)
//favouriteWatcher.isFavourite
//? Library.removeFavourite(info.videoId)
//: Library.addFavourite(info.videoId, info.title)
//}
//}
//Item {
//Layout.fillWidth: true
//Layout.fillHeight: true
//Layout.preferredWidth: footerLayout.width * (playerLayout.mobile ? 1 : 0.5)
//Layout.preferredHeight: footerLayout.height * (playerLayout.mobile ? 0.5 : 1)
//Controls.ScrollView {
//anchors.fill: parent
//ListView {
//anchors.fill: parent
//id: playlistView
//clip: true
//Controls.BusyIndicator {
//anchors.centerIn: parent
//visible: UserPlaylistModel.loading || UserPlaylistModel.loading
//}
//onCountChanged: {
//if (count < 1) {
//footerItem.maximized = false
//}
//}
//model: UserPlaylistModel
//delegate: Kirigami.SwipeListItem {
//id: delegateItem
//required property string title
//required property string videoId
//required property string artists
//required property bool isCurrent
//highlighted: isCurrent
//onClicked: UserPlaylistModel.skipTo(videoId)
//ColumnLayout {
//Layout.fillWidth: true
//Kirigami.Heading {
//elide: Text.ElideRight
//Layout.fillWidth: true
//level: 2
//text: title
//}
//Controls.Label {
//elide: Text.ElideRight
//Layout.fillWidth: true
//text: artists
//}
//}
//actions: [
//Kirigami.Action {
//text: i18n("Remove Track")
//icon.name: "list-remove"
//onTriggered: UserPlaylistModel.remove(delegateItem.videoId)
//}
//]
//}
//header: Controls.ToolBar {
//anchors.left: parent.left
//anchors.right: parent.right
//RowLayout {
//anchors.fill: parent
//Item {
//Layout.fillWidth: true
//}
//Controls.ToolButton {
//text: i18n("Clear")
//icon.name: "edit-clear-all"
//onClicked: UserPlaylistModel.clear()
//}
//Controls.ToolButton {
//text: i18n("Shuffle")
//icon.name: "media-playlist-shuffle"
//onClicked: UserPlaylistModel.shufflePlaylist()
//}
//}
//}
//}
//}
//}
//}
//Kirigami.Separator {
//Layout.fillWidth: true
//}
//RowLayout {
//id: player
//Layout.fillWidth: true
//Layout.fillHeight: !footer.maximized
//Controls.ToolButton {
//display: Controls.AbstractButton.IconOnly
//Layout.preferredWidth: parent.height
//Layout.fillHeight: true
//enabled: info.audioUrl != ""
//text: audio.playbackState === Audio.PlayingState ? i18n("Pause") : i18n("Play")
//visible: !info.loading
//icon.name: audio.playbackState === Audio.PlayingState ? "media-playback-pause" : "media-playback-start"
//onClicked: audio.playbackState === Audio.PlayingState ? audio.pause() : audio.play()
//}
//Controls.ToolButton {
//display: Controls.AbstractButton.IconOnly
//Layout.preferredWidth: parent.height
//Layout.fillHeight: true
//enabled: UserPlaylistModel.canSkip
//visible: !info.loading
//icon.name: "media-skip-forward"
//onClicked: UserPlaylistModel.next()
//}
//Controls.BusyIndicator {
//Layout.fillHeight: true
//visible: info.loading
//}
//ColumnLayout {
//Layout.fillHeight: true
//Layout.topMargin: Kirigami.Units.smallSpacing
//Layout.bottomMargin: Kirigami.Units.smallSpacing
//Kirigami.Heading {
//level: 3
//Layout.fillWidth: true
//elide: Qt.ElideRight
//text: info.title ? info.title : i18n("No media playing")
//}
//RowLayout{
//Controls.Label{
//visible: info.title
//text: PlayerUtils.formatTimestamp(audio.position)
//}
//Controls.Slider {
//Layout.fillWidth: true
//from: 0
//to: audio.duration
//value: audio.position
//enabled: audio.seekable
//onMoved: {
//console.log("Value:", value);
//audio.seek(Math.floor(value));
//}
//Behavior on value {
//NumberAnimation {
//duration: 1000
//}
//}
//}
//Controls.Label{
//visible: info.title
//text: PlayerUtils.formatTimestamp(audio.duration)
//}
//}
//}
//Controls.ToolButton {
//display: Controls.AbstractButton.IconOnly
//Layout.preferredWidth: parent.height
//text: i18n("Expand")
//enabled: playlistView.count > 0
//Layout.fillHeight: true
//icon.name: footerItem.maximized ? "arrow-down" : "arrow-up"
//onClicked: footerItem.maximized = !footerItem.maximized
//}
//}
}
//Behavior on height {
//NumberAnimation {
//}
//}
}
+23 -1
View File
@@ -16,6 +16,11 @@ Kirigami.ScrollablePage {
SongMenu {
id: menu
}
ShareMenu {
id: shareMenu
inputTitle: playlistModel.title
url: playlistModel.webUrl
}
ListView {
id: songList
@@ -36,6 +41,21 @@ Kirigami.ScrollablePage {
}
}
]
overflowActions: [
Kirigami.Action {
text: i18n("Open in Browser")
icon.name: "internet-services"
onTriggered: Qt.openUrlExternally(playlistModel.webUrl)
},
Kirigami.Action {
text: i18n("Share")
icon.name: "emblem-shared-symbolic"
onTriggered:{
shareMenu.open()
}
}
]
title: playlistModel.title
imageSourceURL: playlistModel.thumbnailUrl
width: songList.width
@@ -50,12 +70,14 @@ Kirigami.ScrollablePage {
delegate: Kirigami.SwipeListItem {
id: delegateItem
alwaysVisibleActions:true
required property string title
required property string videoId
required property var artists
required property string thumbnailUrl
required property string artistsDisplayString
required property int index
RowLayout {
Layout.fillHeight: true
+17 -18
View File
@@ -4,31 +4,30 @@
import QtQuick 2.15
import QtQuick.Window 2.15
import QtGraphicalEffects 1.0
Rectangle {
Item {
property alias radius: mask.radius
property alias source: image.source
id: icon
color: "transparent"
Image {
id:image
source: source
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
layer.enabled: true
layer.effect: OpacityMask {
maskSource: mask
}
}
Rectangle {
id: imageSource
anchors.fill: parent
Image {
id:image
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
asynchronous: true
sourceSize.width: parent.implicitWidth * Screen.devicePixelRatio
}
visible: false
layer.enabled: true
}
RoundedMask {
id: mask
anchors.fill: parent
colorSource: imageSource
visible: false
}
}
-26
View File
@@ -1,26 +0,0 @@
// SPDX-FileCopyrightText: Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
Rectangle {
id: mask
radius: 10
layer.enabled: true
layer.samplerName: "maskSource"
property var colorSource
layer.effect: ShaderEffect {
property var colorSource: mask.colorSource
fragmentShader: "
uniform lowp sampler2D colorSource;
uniform lowp sampler2D maskSource;
uniform lowp float qt_Opacity;
varying highp vec2 qt_TexCoord0;
void main() {
gl_FragColor = texture2D(colorSource, qt_TexCoord0) * texture2D(maskSource, qt_TexCoord0).a * qt_Opacity;
}"
}
}
+102
View File
@@ -0,0 +1,102 @@
// SPDX-FileCopyrightText: Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import org.kde.kirigami 2.12 as Kirigami
import QtQuick.Controls 2.15 as Controls
import QtQuick 2.15
import QtQuick.Layouts 1.15
import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
objectName: "searchPage"
topPadding: 0
bottomPadding: 0
leftPadding: 0
rightPadding: 0
Kirigami.Theme.colorSet: Kirigami.Theme.View
ColumnLayout {
Controls.ScrollView {
Layout.fillWidth: true
id: recents
visible: searchLoader.text && recentsRepeater.count > 0
leftPadding: 10
topPadding: 10
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
RowLayout {
id: recentsLayout
spacing: 10
Layout.fillWidth: true
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchLoader.filterExpression
sourceModel: Library.playbackHistory
}
delegate: Kirigami.DelegateRecycler {
Layout.alignment: Qt.AlignTop
sourceComponent: searchAlbum
}
}
}
}
Kirigami.Separator {
Layout.fillWidth: true
visible: recents.visible
}
id: completionList
Repeater {
Layout.fillHeight: true
Layout.fillWidth: true
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchLoader.filterExpression
}
delegate: Kirigami.AbstractListItem {
implicitHeight: Kirigami.Units.gridUnit * 2
Layout.fillWidth: true
RowLayout {
Kirigami.Icon {
source: "search"
implicitHeight: Kirigami.Units.gridUnit
implicitWidth: Kirigami.Units.gridUnit
color: Kirigami.Theme.disabledTextColor
}
Controls.Label {
text: model.display
Layout.fillWidth: true
elide: Text.ElideRight
}
Controls.ToolButton {
icon.name: "list-remove"
text: i18n("remove from search history")
display: Controls.AbstractButton.IconOnly
onClicked: {
Library.removeSearch(model.display)
}
}
}
onClicked: {
searchLoader.text = model.display
searchLoader.accepted()
}
}
}
}
}
+5 -16
View File
@@ -10,9 +10,10 @@ import org.kde.kirigami 2.14 as Kirigami
import org.kde.ytmusic 1.0
Kirigami.ScrollablePage {
id: searchPage
property alias searchQuery: searchModel.searchQuery
title: searchQuery
objectName: "searchPage"
title: listView.count === 0 && !searchModel.loading? i18n("Previous Searches:") : searchQuery
ListView {
reuseItems: true
@@ -37,7 +38,7 @@ Kirigami.ScrollablePage {
}
}
section.property: "type"
id: listView
model: SearchModel {
id: searchModel
@@ -85,6 +86,7 @@ Kirigami.ScrollablePage {
delegate: Kirigami.SwipeListItem {
id: delegateItem
alwaysVisibleActions:true
required property int index
required property string title
@@ -137,19 +139,6 @@ Kirigami.ScrollablePage {
anchors.centerIn: parent
visible: searchModel.loading
}
Kirigami.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (Kirigami.Units.largeSpacing * 4)
visible: parent.count === 0 && !searchModel.loading
text: i18n("Find music on YouTube Music")
helpfulAction: Kirigami.Action {
onTriggered: searchField.forceActiveFocus()
text: i18n("Search")
icon.name: "search"
}
}
}
footer: ConfirmationMessage {
+339
View File
@@ -0,0 +1,339 @@
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
// SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.14 as Kirigami
import QtGraphicalEffects 1.0
import org.kde.ytmusic 1.0
Item {
function forceFocus(){searchField.forceActiveFocus()}
function accepted(){searchField.accepted()}
property alias filterExpression: searchField.filterExpression
property alias text: searchField.text
id: root
Controls.TextField{
id: dummy
x:searchField.x
y:searchField.y
width: searchField.width
readOnly: true
}
Kirigami.SearchField {
property var filterExpression: new RegExp(`.*${searchField.text}.*`, "i")
id: searchField
autoAccept: false
width: root.width
selectByMouse: true
onFocusChanged: {
if (wideScreen && focus)
popup.open()
}
onAccepted: {
popup.close()
while (pageStack.depth > 0) {
pageStack.pop()
}
pageStack.layers.clear()
if (text) {
Library.addSearch(text)
pageStack.push("qrc:/SearchPage.qml", {
"searchQuery": text,
objectName: "searchPage"
})
} else {
wideScreen
? pageStack.push("qrc:/LibraryPage.qml")
: pageStack.push("qrc:/SearchHistoryPage.qml")
}
searchField.focus = false
}
}
Controls.Popup {
id: popup
property int expansion: 5
property int shadowSize: 15
onAboutToShow:{
searchField.parent = fieldContainer
onOpened: searchField.background.visible = false
playOpenHeight.running = true
playOpenWidth.running = true
playOpenX.running = true
playOpenY.running = true
playOpenRadius.running = true
}
onAboutToHide:{
searchField.parent = root
onOpened: searchField.background.visible = true
searchField.focus = false
playCloseHeight.running = true
playCloseWidth.running = true
playCloseX.running = true
playCloseY.running = true
playCloseRadius.running = true
}
x: -(popup.shadowSize+popup.expansion)
y: -(popup.shadowSize+popup.expansion)
rightPadding:popup.shadowSize+1
leftPadding:popup.shadowSize+1
bottomPadding:popup.shadowSize
rightInset: popup.shadowSize
leftInset: popup.shadowSize
bottomInset: popup.shadowSize
leftMargin:-popup.shadowSize
background: Kirigami.ShadowedRectangle{
id: bg
Kirigami.Theme.inherit: false
Kirigami.Theme.colorSet: Kirigami.Theme.View
color: Kirigami.Theme.backgroundColor
radius: popup.expansion+2
shadow.size: popup.shadowSize
shadow.yOffset: popup.expansion
shadow.color: Qt.rgba(0, 0, 0, 0.2)
border.width: 1
border.color: Kirigami.ColorUtils.linearInterpolation(Kirigami.Theme.backgroundColor, Kirigami.Theme.textColor, 0.3);
NumberAnimation on radius{
id: playOpenRadius
easing.type: Easing.OutCubic
running: false
from: 2
duration: 100
to: popup.expansion+2
}
NumberAnimation on radius{
id: playCloseRadius
easing.type: Easing.OutCubic
running: false
from: popup.expansion+2
duration: 100
to: 2
}
}
width: searchField.width + 2*(popup.shadowSize+popup.expansion)
height: completionList
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
NumberAnimation on height{
id: playOpenHeight
easing.type: Easing.OutCubic
running: false
from: searchField.height
duration: 200
to: completionList
? (Math.min(fieldContainer.height+ completionList.count * Kirigami.Units.gridUnit * 2 + recents.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
}
NumberAnimation on width{
id: playOpenWidth
easing.type: Easing.OutCubic
running: false
from: searchField.width
duration: 100
to: searchField.width +2*(popup.shadowSize+popup.expansion)
}
NumberAnimation on x{
id: playOpenX
easing.type: Easing.OutCubic
running: false
from: 0
duration: 100
to: -(popup.shadowSize+popup.expansion)
}
NumberAnimation on y{
id: playOpenY
easing.type: Easing.OutCubic
running: false
from: 0
duration: 100
to: -popup.expansion
}
NumberAnimation on height{
id: playCloseHeight
easing.type: Easing.OutCubic
running: false
from: completionList
? (Math.min(content.implicitHeight, Kirigami.Units.gridUnit * 20))+2*(popup.shadowSize+popup.expansion)
: (Kirigami.Units.gridUnit * 20)+2*(popup.shadowSize+popup.expansion)
duration: 100
to: searchField.height
}
NumberAnimation on width{
id: playCloseWidth
easing.type: Easing.OutCubic
running: false
from: searchField.width + 2*(popup.shadowSize+popup.expansion)
duration: 100
to: searchField.width + 2*(popup.shadowSize)
}
NumberAnimation on x{
id: playCloseX
easing.type: Easing.OutCubic
running: false
from: -(popup.shadowSize+popup.expansion)
duration: 100
to: -popup.shadowSize
}
NumberAnimation on y{
id: playCloseY
easing.type: Easing.OutCubic
running: false
from: - popup.expansion
duration: 100
to: -0
}
contentItem: ColumnLayout{
id: content
width: parent.width
Controls.Control{
Layout.fillHeight: true
Layout.fillWidth: true
Controls.Control{
x: popup.expansion
y:-popup.expansion
id: fieldContainer
height:searchField.height
}
implicitHeight: fieldContainer.height
}
Controls.ScrollView {
id: mainScrollView
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
Keys.enabled: false
contentWidth: availableWidth
ColumnLayout {
width: mainScrollView.contentWidth
Controls.ScrollView {
id: recents
Layout.fillWidth: true
Layout.maximumWidth: popup.width
visible: searchField.text && recentsRepeater.count > 0
leftPadding: 10
rightPadding: 40
topPadding: 10
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
RowLayout {
spacing: 10
Layout.fillWidth: true
Layout.maximumWidth: popup.width - 23
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
}
delegate: Kirigami.DelegateRecycler {
Layout.alignment: Qt.AlignTop
width: popup.width
sourceComponent: searchAlbum
}
}
}
}
Kirigami.Separator{
Layout.fillWidth: true
visible: searchField.text && recentsRepeater.count > 0
implicitWidth: popup.width
}
RowLayout{
Layout.margins: 10
visible: completionList.count == 0
Kirigami.Icon {
source: "documentinfo"
implicitHeight: Kirigami.Units.gridUnit
implicitWidth: Kirigami.Units.gridUnit
color: Kirigami.Theme.disabledTextColor
}
Controls.Label {
text: i18n("No matching previous searches")
Layout.fillWidth: true
color: Kirigami.Theme.disabledTextColor
}
}
Repeater {
Layout.fillWidth: true
id: completionList
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchField.filterExpression
}
delegate: Kirigami.AbstractListItem {
id: completionDelegate
highlighted: focus
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.inherit: false
Layout.fillWidth: true
height: Kirigami.Units.gridUnit * 2
contentItem: RowLayout {
Kirigami.Icon {
source: "search"
implicitHeight: Kirigami.Units.gridUnit
implicitWidth: Kirigami.Units.gridUnit
color: Kirigami.Theme.disabledTextColor
}
Controls.Label{
text: model.display
Layout.fillWidth: true
}
Controls.ToolButton {
icon.name: "list-remove"
text: i18n("remove from search history")
display: Controls.AbstractButton.IconOnly
onClicked: {
Library.removeSearch(model.display)
}
}
}
onClicked: {
searchField.text = model.display
searchField.accepted()
}
}
}
}
}
}
}
}
+140
View File
@@ -0,0 +1,140 @@
// SPDX-FileCopyrightText: 2019 Nicolas Fella <[email protected]>
// SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
// SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick.Controls 2.1 as Controls
import QtQuick.Layouts 1.7
import QtQuick 2.7
import QtQuick.Window 2.15
import org.kde.kirigami 2.20 as Kirigami
import org.kde.purpose 1.0 as Purpose
Item{
id:root
property url url
property string inputTitle
function open(){
if (Kirigami.Settings.isMobile){
inputDrawer.open()
inputDrawer.interactive = true
drawerView.inputData = {
"urls": [root.url.toString()],
"title": "Title"
}
} else {
inputSheet.open()
view.inputData = {
"urls": [root.url.toString()],
"title": "Title"
}
}
}
Kirigami.Dialog {
id: inputSheet
title: i18n("Share to")
preferredWidth: Kirigami.Units.gridUnit * 16
standardButtons: Kirigami.Dialog.NoButton
Purpose.AlternativesView {
id: view
pluginType: "ShareUrl"
clip: true
delegate: Kirigami.BasicListItem {
id: shareDelegate
required property string iconName
required property string display
required property int index
label: shareDelegate.display
onClicked: view.createJob (shareDelegate.index)
Keys.onReturnPressed: view.createJob (shareDelegate.index)
Keys.onEnterPressed: view.createJob (shareDelegate.index)
leading: Kirigami.Icon {
source: shareDelegate.iconName
}
trailing: Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
}
onFinished: close()
}
}
Controls.Drawer {
id: inputDrawer
edge: Qt.BottomEdge
height:contents.implicitHeight+20
width: applicationWindow().width
interactive: false
background: Kirigami.ShadowedRectangle{
corners.topRightRadius: 10
corners.topLeftRadius: 10
shadow.size: 20
shadow.color: Qt.rgba(0, 0, 0, 0.5)
color: Kirigami.Theme.backgroundColor
}
onClosed: inputDrawer.interactive = false
ColumnLayout {
id: contents
anchors.fill: parent
Rectangle {
Layout.margins: 5
radius:50
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.textColor
opacity: 0.7
width: 40
height: 4
}
Kirigami.Heading{
text: i18n("Share to")
leftPadding: 20
}
Purpose.AlternativesView {
id: drawerView
pluginType: "ShareUrl"
clip: true
Layout.fillHeight: true
Layout.fillWidth: true
delegate: Kirigami.BasicListItem {
id: shareDrawerDelegate
required property string iconName
required property string display
required property int index
label: shareDrawerDelegate.display
onClicked: drawerView.createJob (shareDrawerDelegate.index)
Keys.onReturnPressed: view.createJob (shareDrawerDelegate.index)
Keys.onEnterPressed: view.createJob (shareDrawerDelegate.index)
leading: Kirigami.Icon {
source: shareDrawerDelegate.iconName
}
trailing: Kirigami.Icon {
implicitWidth: Kirigami.Units.iconSizes.small
implicitHeight: Kirigami.Units.iconSizes.small
source: "arrow-right"
}
}
onFinished: close()
}
Item{
Layout.fillHeight: true
}
}
}
}
+200
View File
@@ -0,0 +1,200 @@
// SPDX-FileCopyrightText: 2022 Mathis Brüchert <[email protected]>
//
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import QtQuick 2.15
import QtQuick.Layouts 1.3
import QtQuick.Controls 2.15 as Controls
import org.kde.kirigami 2.20 as Kirigami
import org.kde.ytmusic 1.0
Rectangle {
property int sidebarWidth: 230
property int sidebarWidthCollapsed: 60
property bool collapsed: false
id: sidebar
width: sidebarWidth
clip:true
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.inherit: false
color: "transparent"
Rectangle {
anchors.fill: parent
color: Kirigami.Theme.backgroundColor
opacity: 0.8
}
NumberAnimation on width{
id: collapse
easing.type: Easing.OutCubic
running: false
from: sidebarWidth; to: sidebarWidthCollapsed
}
NumberAnimation on width{
id: show
easing.type: Easing.OutCubic
running: false
from: sidebarWidthCollapsed; to: sidebarWidth
//this is only a workaround to stop the text from disappearing
onFinished:{
libraryButton.checked =!libraryButton.checked
libraryButton.checked =!libraryButton.checked
favouritesButton.checked =!favouritesButton.checked
favouritesButton.checked =!favouritesButton.checked
historyButton.checked =!historyButton.checked
historyButton.checked =!historyButton.checked
searchButton.checked =!searchButton.checked
searchButton.checked =!searchButton.checked
collapseButton.checked =!collapseButton.checked
collapseButton.checked =false
aboutButton.checked = !aboutButton.checked
aboutButton.checked = !aboutButton.checked
}
}
Kirigami.Separator {
height: parent.height
anchors.right: parent.right
z:100
}
ColumnLayout {
anchors.fill: parent
spacing: 0
Kirigami.Separator {
Layout.fillWidth: true
}
Controls.ScrollView {
id: scrollView
Layout.fillWidth: true
Layout.fillHeight: true
Controls.ScrollBar.vertical.policy: Controls.ScrollBar.AlwaysOff
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
contentWidth: -1 // disable horizontal scroll
ColumnLayout {
id: column
width: scrollView.width
spacing: 0
Kirigami.NavigationTabButton {
id: libraryButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
implicitHeight: 50
display: Controls.AbstractButton.TextBesideIcon
text: collapsed? "" : i18n("Library")
icon.name: "file-library-symbolic"
checked: pageStack.currentItem && pageStack.currentItem.objectName == "libraryPage"
onClicked: {
pageStack.clear()
pageStack.push("qrc:/LibraryPage.qml")
}
}
Kirigami.NavigationTabButton {
id: searchButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
implicitHeight: 50
display: Controls.AbstractButton.TextBesideIcon
text: collapsed? "" : i18n("Search")
icon.name: "search"
checked: pageStack.currentItem && pageStack.currentItem.objectName == "searchPage"
onClicked: {
searchField.forceActiveFocus()
focusSearch()
}
}
Kirigami.NavigationTabButton {
id: favouritesButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
implicitHeight: 50
display: Controls.AbstractButton.TextBesideIcon
text: collapsed ? "" : i18n("Favourites")
icon.name: "non-starred-symbolic"
checked: pageStack.currentItem && pageStack.currentItem.objectName == "favourites"
onClicked: {
pageStack.clear()
pageStack.push("qrc:/PlaybackHistory.qml", {
"dataModel": Library.favourites,
"title": i18n("Favourites"),
"objectName": "favourites"
})}
}
Kirigami.NavigationTabButton {
id: historyButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
implicitHeight: 50
display: Controls.AbstractButton.TextBesideIcon
text: collapsed? "" : i18n("Played Songs")
icon.name: "edit-undo-history"
checked: pageStack.currentItem && pageStack.currentItem.objectName == "history"
onClicked: {
pageStack.clear()
pageStack.push("qrc:/PlaybackHistory.qml", {
"dataModel": Library.playbackHistory,
"title": i18n("Played Songs"),
"objectName": "history"
})}
}
}
}
Kirigami.Separator {
Layout.fillWidth: true
Layout.rightMargin: Kirigami.Units.smallSpacing
Layout.leftMargin: Kirigami.Units.smallSpacing
}
Kirigami.NavigationTabButton {
id: aboutButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
implicitHeight: 50
display: Controls.AbstractButton.TextBesideIcon
text: collapsed? "" : i18n("About")
checkable: false
icon.name: "help-about-symbolic"
onClicked: {
pageStack.pushDialogLayer("qrc:/AboutAudiotube.qml")
}
}
Kirigami.NavigationTabButton {
id: collapseButton
Layout.fillWidth: true
width: column.width - column.Layout.leftMargin - column.Layout.rightMargin
display: Controls.AbstractButton.TextBesideIcon
text: collapsed? "" : i18n("Collapse Sidebar")
checked: collapsed == true
implicitHeight: 50
icon.name: "sidebar-collapse"
onClicked: {
if (!sidebar.collapsed)
collapse.running = true
else
show.running = true
sidebar.collapsed = !sidebar.collapsed
}
}
}
}
+126 -10
View File
@@ -9,8 +9,14 @@ import org.kde.kirigami 2.19 as Kirigami
import QtQuick.Layouts 1.15
Item{
Item {
ShareMenu {
id: shareMenu
}
function openForSong(videoId, songTitle, artists, artistsDisplayString) {
shareMenu.url = "https://music.youtube.com/watch?v=" + videoId
shareMenu.inputTitle= songTitle
menu.videoId = videoId
drawer.videoId = videoId
@@ -23,12 +29,28 @@ Item{
menu.artistsDisplayString = artistsDisplayString
drawer.artistsDisplayString = artistsDisplayString
Kirigami.Settings.isMobile? drawer.open():menu.popup()
if (Kirigami.Settings.isMobile) {
drawer.interactive = true
drawer.open()
} else {
menu.popup()
}
}
Controls.Drawer {
edge: Qt.BottomEdge
height:contents.implicitHeight+20
width: applicationWindow().width
interactive: false
background: Kirigami.ShadowedRectangle{
corners.topRightRadius: 10
corners.topLeftRadius: 10
shadow.size: 20
shadow.color: Qt.rgba(0, 0, 0, 0.5)
color: Kirigami.Theme.backgroundColor
}
onClosed: drawer.interactive = false
id: drawer
property string videoId
property string songTitle
@@ -37,20 +59,70 @@ Item{
ColumnLayout {
id: contents
anchors.fill: parent
ThumbnailSource {
id: thumbnailSource
videoId: drawer.videoId
}
Kirigami.Icon {
Layout.margins: Kirigami.Units.smallSpacing
source: "arrow-down"
implicitWidth: Kirigami.Units.gridUnit
implicitHeight: Kirigami.Units.gridUnit
Rectangle {
Layout.margins: 5
radius:50
Layout.alignment: Qt.AlignHCenter
color: Kirigami.Theme.textColor
opacity: 0.7
width: 40
height: 4
}
RowLayout {
spacing: 10
Kirigami.ShadowedRectangle {
Layout.margins: 10
color: Kirigami.Theme.backgroundColor
width: 60
height: width
radius: 5
shadow.size: 15
shadow.xOffset: 5
shadow.yOffset: 5
shadow.color: Qt.rgba(0, 0, 0, 0.2)
RoundedImage {
source: thumbnailSource.cachedPath
height: width
width: parent.width
radius: parent.radius
}
}
ColumnLayout {
Controls.Label{
text: drawer.songTitle
elide: Text.ElideRight
Layout.fillWidth: true
}
Controls.Label{
text: drawer.artistsDisplayString
color: Kirigami.Theme.disabledTextColor
elide: Text.ElideRight
Layout.fillWidth: true
}
}
}
Kirigami.Separator {
Layout.fillWidth: true
Layout.leftMargin: 10
Layout.rightMargin: 10
}
Kirigami.BasicListItem{
label: i18n("Play Next")
icon: "go-next"
onClicked: {
UserPlaylistModel.playNext(drawer.videoId, drawer.SongTitle, drawer.artists)
UserPlaylistModel.playNext(drawer.videoId, drawer.songTitle, drawer.artists)
drawer.close()
}
}
@@ -79,6 +151,30 @@ Item{
drawer.close()
}
}
Kirigami.BasicListItem{
readonly property QtObject wasPlayedWatcher: Library.wasPlayedWatcher(drawer.videoId)
label: i18n("Remove from History")
icon: "list-remove"
onClicked: {
Library.removePlaybackHistoryItem(drawer.videoId)
drawer.close()
}
visible: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
enabled: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
}
Kirigami.BasicListItem{
readonly property QtObject wasPlayedWatcher: Library.wasPlayedWatcher(drawer.videoId)
label: i18n("Share Song")
icon: "emblem-shared-symbolic"
onClicked: {
shareMenu.open()
drawer.close()
}
}
Item{
Layout.fillHeight: true
}
@@ -86,7 +182,7 @@ Item{
}
}
Controls.Menu{
Controls.Menu {
property string videoId
property string songTitle
property var artists
@@ -96,7 +192,7 @@ Item{
Controls.MenuItem {
text: i18n("Play Next")
icon.name: "go-next"
onTriggered: UserPlaylistModel.playNext(menu.videoId, menu.SongTitle, menu.artists)
onTriggered: UserPlaylistModel.playNext(menu.videoId, menu.songTitle, menu.artists)
}
Controls.MenuItem {
@@ -105,6 +201,9 @@ Item{
onTriggered: UserPlaylistModel.append(menu.videoId, menu.songTitle, menu.artists)
}
Controls.MenuSeparator{}
Controls.MenuItem {
readonly property QtObject favouriteWatcher: Library.favouriteWatcher(menu.videoId)
text: favouriteWatcher ? (favouriteWatcher.isFavourite ? i18n("Remove Favourite"): i18n("Add Favourite")): ""
@@ -119,5 +218,22 @@ Item{
}
}
}
Controls.MenuItem{
readonly property QtObject wasPlayedWatcher: Library.wasPlayedWatcher(menu.videoId)
text: i18n("Remove from History")
icon.name: "list-remove"
onTriggered: {
Library.removePlaybackHistoryItem(menu.videoId)
}
enabled: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
visible: wasPlayedWatcher ? wasPlayedWatcher.wasPlayed : false
}
Controls.MenuSeparator{}
Controls.MenuItem {
text: i18n("Share Song")
icon.name: "emblem-shared-symbolic"
onTriggered: shareMenu.open()
}
}
}
+74 -152
View File
@@ -6,14 +6,24 @@ import QtQuick 2.1
import QtQuick.Controls 2.12 as Controls
import QtQuick.Layouts 1.3
import org.kde.kirigami 2.14 as Kirigami
import QtGraphicalEffects 1.0
import org.kde.ytmusic 1.0
Kirigami.ApplicationWindow {
id: root
property alias searchField: searchLoader.item // TODO
pageStack.globalToolBar.style: wideScreen? Kirigami.ApplicationHeaderStyle.None: Kirigami.ApplicationHeaderStyle.Breadcrumb
color: "transparent"
Blur{id:blur}
Component.onCompleted: {
blur.setBlur(sidebar, true);
}
pageStack.columnView.columnResizeMode: Kirigami.ColumnView.SingleColumn
property alias searchField: searchLoader // TODO
property bool wideScreen: width >= 600
property bool showSearch: false // only applicable if not widescreen
@@ -22,12 +32,24 @@ Kirigami.ApplicationWindow {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
visible: wideScreen
}
Sidebar {
id:sidebar
visible: wideScreen
height: pageStack.height - playerFooter.implicitHeight
}
NavigationBar{
id: bottombar
visible: !wideScreen
visible: pageStack.currentItem.objectName == "libraryPage"
&& pageStack.layers.depth == 1
}
header: Controls.Control {
visible: wideScreen || root.showSearch
padding: Kirigami.Units.largeSpacing
background: Rectangle {
@@ -40,54 +62,45 @@ Kirigami.ApplicationWindow {
}
contentItem: RowLayout {
Controls.ToolButton {
id: searchBack
spacing: 0
Row {
Layout.alignment: Qt.AlignLeft
visible:
(!root.wideScreen && root.showSearch && root.searchField.text === "")
|| pageStack.layers.depth > 1
text: i18n("Back")
icon.name: "go-previous-view"
display: Controls.ToolButton.IconOnly
onClicked: if (root.showSearch)
root.showSearch = false
else
pageStack.layers.pop()
}
Kirigami.Heading {
Layout.alignment: Qt.AlignLeft
Layout.leftMargin: Kirigami.Units.largeSpacing
level: 1
text: "AudioTube"
visible: !root.wideScreen && !root.showSearch
Controls.ToolButton {
id: back
enabled: applicationWindow().pageStack.layers.depth > 1 || (applicationWindow().pageStack.depth > 1 && (applicationWindow().pageStack.currentIndex > 0 || applicationWindow().pageStack.contentItem.contentX > 0)) // Copied from https://invent.kde.org/frameworks/kirigami/-/blob/master/src/controls/templates/private/BackButton.qml#L16
icon.name: "draw-arrow-back"
onClicked: pageStack.goBack()
visible: wideScreen
}
Controls.ToolButton {
icon.name: "draw-arrow-forward"
enabled: applicationWindow().pageStack.currentIndex < applicationWindow().pageStack.depth-1
onClicked: pageStack.goForward()
visible: wideScreen
}
}
// spacer
Item {
visible: wideScreen
Layout.fillWidth: !root.wideScreen
}
Loader {
SearchWithDropdown {
id: searchLoader
visible: root.wideScreen || root.showSearch
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
Layout.maximumWidth: 400
sourceComponent: searchFieldComponent
Layout.fillHeight: true
height: back.height
width: wideScreen?null:root.width
Layout.maximumWidth: wideScreen ? 400 : root.width
}
Controls.ToolButton {
Layout.alignment: Qt.AlignRight
visible: !root.wideScreen && !root.showSearch
text: i18n("Search")
icon.name: "search"
display: Controls.ToolButton.TextBesideIcon
onClicked: {
root.showSearch = true
root.searchField.forceActiveFocus();
root.searchField.popup.open();
}
Item {
width: 2*back.width
visible: wideScreen
}
}
}
@@ -114,6 +127,15 @@ Kirigami.ApplicationWindow {
UserPlaylistModel.playlistId = playlistId
}
function playFavourites(shuffle) {
UserPlaylistModel.playFavourites(Library.favourites, shuffle)
}
function playPlaybackHistory(model, shuffle) {
UserPlaylistModel.playPlaybackHistory(model, shuffle)
}
function focusSearch(){searchLoader.forceFocus()}
Connections {
target: ErrorHandler
@@ -127,7 +149,6 @@ Kirigami.ApplicationWindow {
id: searchAlbum
ColumnLayout {
Layout.alignment: Qt.AlignTop
id: mpdelegateItem
width: 100
@@ -143,8 +164,16 @@ Kirigami.ApplicationWindow {
onEntered: {
if (!Kirigami.Settings.hasTransientTouchInput)
recSelected.visible = true
searchTitle.color = Kirigami.Theme.hoverColor
searchTitle.font.bold = true
}
onExited:{
recSelected.visible = false
searchTitle.color = Kirigami.Theme.textColor
searchTitle.font.bold = false
}
onExited: recSelected.visible = false
}
Layout.margins: 5
@@ -194,6 +223,7 @@ Kirigami.ApplicationWindow {
}
}
Controls.Label {
id: searchTitle
leftPadding:5
Layout.maximumWidth: 70
text: model ? model.title : ""
@@ -206,126 +236,18 @@ Kirigami.ApplicationWindow {
}
}
}
Component {
id: searchFieldComponent
Kirigami.SearchField {
id: searchField
autoAccept: false
selectByMouse: true
onPressed: {
popup.open()
}
property alias popup: popup
property var filterExpression: new RegExp(`.*${searchField.text}.*`, "i")
Controls.Popup {
padding: 1
id: popup
x: searchField.y
y: searchField.y + searchField.height
width: searchField.width
height: completionList
? Math.min(completionList.count * Kirigami.Units.gridUnit * 2 + Kirigami.Units.gridUnit * 2 + recents.implicitHeight, Kirigami.Units.gridUnit * 20)
: Kirigami.Units.gridUnit * 20
contentItem: Controls.ScrollView {
contentWidth: -1
ColumnLayout {
width: popup.width
Controls.ScrollView {
id: recents
Layout.fillWidth: true
Layout.maximumWidth: popup.width - 23
visible: searchField.text && recentsRepeater.count > 0
leftPadding: 10
topPadding: 10
Controls.ScrollBar.horizontal.policy: Controls.ScrollBar.AlwaysOff
RowLayout {
spacing: 10
Layout.fillWidth: true
Layout.maximumWidth: popup.width - 23
Repeater {
id: recentsRepeater
Layout.fillWidth: true
model: SortFilterModel {
filterRole: PlaybackHistoryModel.Title
filterRegularExpression: searchField.filterExpression
sourceModel: Library.playbackHistory
}
delegate: Kirigami.DelegateRecycler {
sourceComponent: searchAlbum
}
}
}
}
Kirigami.Separator{
Layout.fillWidth: true
}
Repeater {
Layout.fillWidth: true
id: completionList
model: SortFilterModel {
sourceModel: Library.searches
filterRegularExpression: searchField.filterExpression
}
delegate: Controls.ItemDelegate {
Kirigami.Theme.colorSet: Kirigami.Theme.Window
Kirigami.Theme.inherit: false
Layout.fillWidth: true
id: completionDelegate
width: parent.width
height: Kirigami.Units.gridUnit * 2
text: model.display
onClicked: {
searchField.text = model.display
searchField.accepted()
}
}
}
}
}
}
onAccepted: {
while (pageStack.depth > 0) {
pageStack.pop()
}
pageStack.layers.clear()
if (text) {
Library.addSearch(text)
pageStack.push("qrc:/SearchPage.qml", {
"searchQuery": text})
} else {
pageStack.push("qrc:/LibraryPage.qml")
}
popup.close()
}
}
}
pageStack.anchors.bottomMargin: playerFooter.minimizedPlayerHeight + 1
pageStack.anchors.bottomMargin: wideScreen ? playerFooter.minimizedPlayerHeight: playerFooter.minimizedPlayerHeight+bottombar.height
pageStack.anchors.leftMargin: wideScreen ? sidebar.width:0
// media player
PlayerFooter {
id: playerFooter
anchors.topMargin: -root.header.height
anchors.fill: parent
footerSpacing: wideScreen ? 0 : bottombar.height
// only expand flicking area to full screen when it is open
z: (contentY === 0) ? -1 : 999
}
+110 -13
View File
@@ -28,6 +28,25 @@ Library::Library(QObject *parent)
}()))
{
m_database->runMigrations(":/migrations/");
m_searches = new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
connect(this, &Library::changeFavourites, [this]() {
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
m_favourites= new FavouritesModel(std::move(future), this);
Q_EMIT favouritesChanged();
});
Q_EMIT changeFavourites();
connect(this, &Library::changePlaybackHistory, [this]() {
//playbackHistory
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
m_playbackHistory = new PlaybackHistoryModel(std::move(future), this);
//mostPlayed
auto future2 = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
m_mostPlayed = new PlaybackHistoryModel(std::move(future2), this);
Q_EMIT playbackHistoryChanged();
});
Q_EMIT changePlaybackHistory();
}
Library::~Library() = default;
@@ -40,20 +59,19 @@ Library &Library::instance()
FavouritesModel *Library::favourites()
{
auto future = m_database->getResults<Song>("select * from favourites natural join songs order by favourites.rowid desc");
return new FavouritesModel(std::move(future), this);
return m_favourites;
}
void Library::addFavourite(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
connectFuture(addSong(videoId, title, artist, album), this, [=, this] {
connectFuture(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::favouritesChanged);
connectFuture(m_database->execute("insert or ignore into favourites (video_id) values (?)", videoId), this, &Library::changeFavourites);
});
}
void Library::removeFavourite(const QString &videoId)
{
connectFuture(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::favouritesChanged);
connectFuture(m_database->execute("delete from favourites where video_id = ?", videoId), this, &Library::changeFavourites);
}
FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
@@ -66,33 +84,51 @@ FavouriteWatcher *Library::favouriteWatcher(const QString &videoId)
SearchHistoryModel *Library::searches()
{
return new SearchHistoryModel(m_database->getResults<SingleValue<QString>>("select distinct (search_query) from searches order by search_id desc"), this);
return m_searches;
}
void Library::addSearch(const QString &text)
{
m_searches->addSearch(text);
connectFuture(m_database->execute("insert into searches (search_query) values (?)", text), this, &Library::searchesChanged);
}
void Library::removeSearch(const QString &text) {
m_searches->removeSearch(text);
connectFuture(m_database->execute("delete from searches where search_query = ?", text), this, &Library::searchesChanged);
}
PlaybackHistoryModel *Library::playbackHistory()
{
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs");
return new PlaybackHistoryModel(std::move(future), this);
return m_playbackHistory;
}
void Library::addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album)
{
connectFuture(addSong(videoId, title, artist, album), this, [=, this] {
connectFuture(m_database->execute("insert or ignore into played_songs (video_id, plays) values (?, ?)", videoId, 0), this, [=, this] {
connectFuture(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::playbackHistoryChanged);
connectFuture(m_database->execute("update played_songs set plays = plays + 1 where video_id = ? ", videoId), this, &Library::changePlaybackHistory);
});
});
}
void Library::removePlaybackHistoryItem(const QString &videoId)
{
connectFuture(m_database->execute("delete from played_songs where video_id = ?", videoId), this, &Library::changePlaybackHistory);
}
WasPlayedWatcher *Library::wasPlayedWatcher(const QString& videoId)
{
if(videoId.isEmpty()){
return nullptr;
}
return new WasPlayedWatcher(this, videoId);
}
PlaybackHistoryModel *Library::mostPlayed()
{
auto future = m_database->getResults<PlayedSong>("select * from played_songs natural join songs order by plays desc limit 10");
return new PlaybackHistoryModel(std::move(future), this);
return m_mostPlayed;
}
QNetworkAccessManager &Library::nam()
@@ -198,6 +234,12 @@ QVariant PlaybackHistoryModel::data(const QModelIndex &index, int role) const {
Q_UNREACHABLE();
}
std::vector<PlayedSong> PlaybackHistoryModel::getPlayedSong() const
{
return m_playedSongs;
}
FavouritesModel::FavouritesModel(QFuture<std::vector<Song>> &&songs, QObject *parent)
: QAbstractListModel(parent)
{
@@ -241,6 +283,10 @@ QVariant FavouritesModel::data(const QModelIndex &index, int role) const {
Q_UNREACHABLE();
}
std::vector<Song> FavouritesModel::getFavouriteSongs() const {
return m_favouriteSongs;
}
FavouriteWatcher::FavouriteWatcher(Library *library, const QString &videoId)
: QObject(library), m_videoId(videoId), m_library(library)
{
@@ -274,11 +320,62 @@ int SearchHistoryModel::rowCount(const QModelIndex &parent) const {
return parent.isValid() ? 0 : m_history.size();
}
void SearchHistoryModel::removeSearch(const QString &search) {
int row = getRow(search);
beginRemoveRows({}, row, row);
m_history.erase(m_history.begin() + row);
endRemoveRows();
}
size_t SearchHistoryModel::getRow(const QString &search) const {
auto itr = find_if(m_history.begin(), m_history.end(), [&](const auto &checkedValue) {
return checkedValue.value == search;
});
size_t i = std::distance(m_history.begin(), itr);
Q_ASSERT(i < m_history.size());
return i;
}
QVariant SearchHistoryModel::data(const QModelIndex &index, int role) const {
switch (role) {
case Qt::DisplayRole:
return m_history[index.row()].value;
case Qt::DisplayRole:
return m_history[index.row()].value;
}
Q_UNREACHABLE();
}
void SearchHistoryModel::addSearch(const QString& search) {
beginInsertRows({}, m_history.size(), m_history.size());
m_history.insert(m_history.begin(), {search});
endInsertRows();
}
WasPlayedWatcher::WasPlayedWatcher(Library* library, const QString& videoId)
: QObject(library), m_videoId(videoId), m_library(library)
{
connect(m_library, &Library::playbackHistoryChanged, this, &WasPlayedWatcher::query);
query();
}
void WasPlayedWatcher::query()
{
connectFuture(m_library->database().getResult<SingleValue<bool>>("select count(*) > 0 from played_songs where video_id = ?", m_videoId), this, &WasPlayedWatcher::update);
}
bool WasPlayedWatcher::wasPlayed() const
{
return m_wasPlayed;
}
void WasPlayedWatcher::update(std::optional<SingleValue<bool>> result)
{
if(result.has_value())
{
m_wasPlayed = result->value;
Q_EMIT wasPlayedChanged();
}
}
+36 -1
View File
@@ -16,6 +16,7 @@
#include "asyncdatabase.h"
class FavouriteWatcher;
class WasPlayedWatcher;
struct Song {
using ColumnTypes = std::tuple<QString, QString, QString, QString>;
@@ -47,6 +48,7 @@ public:
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
std::vector<Song> getFavouriteSongs() const;
private:
std::vector<Song> m_favouriteSongs;
@@ -85,6 +87,7 @@ public:
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
std::vector<PlayedSong> getPlayedSong() const;
private:
std::vector<PlayedSong> m_playedSongs;
@@ -96,9 +99,12 @@ class SearchHistoryModel : public QAbstractListModel {
public:
SearchHistoryModel(QFuture<std::vector<SingleValue<QString>>> &&historyFuture, QObject *parent = nullptr);
int rowCount(const QModelIndex &parent) const override;
void removeSearch(const QString &search);
QVariant data(const QModelIndex &index, int role) const override;
void addSearch(QString const& search);
private:
size_t getRow(QString const &search) const;
std::vector<SingleValue<QString>> m_history;
};
@@ -106,7 +112,7 @@ class Library : public QObject
{
Q_OBJECT
Q_PROPERTY(QAbstractListModel *favourites READ favourites NOTIFY favouritesChanged)
Q_PROPERTY(QAbstractListModel *searches READ searches NOTIFY searchesChanged)
Q_PROPERTY(QAbstractListModel *searches READ searches CONSTANT)
Q_PROPERTY(QAbstractListModel *playbackHistory READ playbackHistory NOTIFY playbackHistoryChanged)
Q_PROPERTY(QAbstractListModel *mostPlayed READ mostPlayed NOTIFY playbackHistoryChanged)
@@ -118,6 +124,7 @@ public:
FavouritesModel *favourites();
Q_SIGNAL void favouritesChanged();
Q_SIGNAL void changeFavourites();
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);
@@ -125,10 +132,14 @@ public:
SearchHistoryModel *searches();
Q_SIGNAL void searchesChanged();
Q_INVOKABLE void addSearch(const QString &text);
Q_INVOKABLE void removeSearch(const QString &text);
PlaybackHistoryModel *playbackHistory();
Q_SIGNAL void playbackHistoryChanged();
Q_SIGNAL void changePlaybackHistory();
Q_INVOKABLE void addPlaybackHistoryItem(const QString &videoId, const QString &title, const QString &artist, const QString &album);
Q_INVOKABLE void removePlaybackHistoryItem(const QString &videoId);
Q_INVOKABLE WasPlayedWatcher *wasPlayedWatcher(const QString &videoId);
PlaybackHistoryModel *mostPlayed();
@@ -142,6 +153,10 @@ private:
QNetworkAccessManager m_networkImageCacher;
std::unique_ptr<ThreadedDatabase> m_database;
SearchHistoryModel *m_searches;
FavouritesModel *m_favourites;
PlaybackHistoryModel *m_mostPlayed;
PlaybackHistoryModel *m_playbackHistory;
};
@@ -189,3 +204,23 @@ private:
Library *m_library;
bool m_isFavourite = false;
};
class WasPlayedWatcher : public QObject {
Q_OBJECT
Q_PROPERTY(bool wasPlayed READ wasPlayed NOTIFY wasPlayedChanged)
public:
WasPlayedWatcher(Library *Library, const QString &VideoId);
bool wasPlayed() const;
Q_SIGNAL void wasPlayedChanged();
private:
bool m_wasPlayed = false;
QString m_videoId;
Library *m_library;
Q_SLOT void update(std::optional<SingleValue<bool>> result);
Q_SLOT void query();
};
+29 -1
View File
@@ -11,6 +11,7 @@
#include <KLocalizedString>
#include <KCrash>
#include <KAboutData>
#include <QQuickWindow>
#include "searchmodel.h"
#include "albummodel.h"
@@ -21,6 +22,7 @@
#include "playlistmodel.h"
#include "playerutils.h"
#include "library.h"
#include "blur.h"
#include "asyncdatabase.h"
@@ -36,7 +38,25 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
KLocalizedString::setApplicationDomain("audiotube");
KAboutData::setApplicationData(KAboutData(QStringLiteral("audiotube"), QStringLiteral("AudioTube")));
KAboutData about(QStringLiteral("audiotube"),
i18n("AudioTube"),
QStringLiteral(AUDIOTUBE_VERSION_STRING),
i18n("YouTube Music Player"),
KAboutLicense::GPL_V3,
i18n("© 2021-2023 Jonah Brüchert, 2021-2023 KDE Community"));
about.addAuthor(i18n("Jonah Brüchert"), i18n("Maintainer"), QStringLiteral("[email protected]"));
about.addAuthor(i18n("Mathis Brüchert"), i18n("Designer"), QStringLiteral("[email protected]"));
about.setTranslator(i18nc("NAME OF TRANSLATORS", "Your names"), i18nc("EMAIL OF TRANSLATORS", "Your emails"));
about.setOrganizationDomain("kde.org");
about.setBugAddress("https://bugs.kde.org/describecomponents.cgi?product=audiotube");
auto future = YTMusicThread::instance()->version();
connectFuture(future, &app, [&about](const auto &version) {
about.addComponent(QStringLiteral("ytmusicapi"), i18n("Unofficial API for YouTube Music"), version);
KAboutData::setApplicationData(about);
});
QGuiApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("org.kde.audiotube")));
KCrash::initialize();
QQmlApplicationEngine engine;
@@ -48,18 +68,26 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
qmlRegisterType<PlaylistModel>(URI, 1, 0, "PlaylistModel");
qmlRegisterUncreatableType<PlaybackHistoryModel>(URI, 1, 0, "PlaybackHistoryModel","");
qmlRegisterType<QSortFilterProxyModel>(URI, 1, 0, "SortFilterModel");
qmlRegisterType<Blur>(URI, 1, 0, "Blur");
qmlRegisterSingletonType(URI, 1, 0, "About", [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
return engine->toScriptValue(KAboutData::applicationData());
});
qmlRegisterSingletonType<UserPlaylistModel>(URI, 1, 0, "UserPlaylistModel", [](QQmlEngine *, QJSEngine *) {
return new UserPlaylistModel();
});
qmlRegisterSingletonType<ErrorHandler>(URI, 1, 0, "ErrorHandler", [](QQmlEngine *, QJSEngine *) {
return new ErrorHandler();
});
qmlRegisterSingletonType<PlayerUtils>(URI, 1, 0, "PlayerUtils", [](QQmlEngine *, QJSEngine *) {
return new PlayerUtils();
});
qmlRegisterSingletonInstance<Library>(URI, 1, 0, "Library", &Library::instance());
qmlRegisterType<ThumbnailSource>(URI, 1, 0, "ThumbnailSource");
qmlRegisterAnonymousType<FavouriteWatcher>(URI, 1);
qmlRegisterAnonymousType<WasPlayedWatcher>(URI, 1);
engine.rootContext()->setContextObject(new KLocalizedContext(&engine));
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
+1
View File
@@ -11,6 +11,7 @@
class PlayerUtils : public QObject
{
Q_OBJECT
public:
explicit PlayerUtils(QObject *parent = nullptr);
+8
View File
@@ -10,6 +10,9 @@
#include "asyncytmusic.h"
#include "playlistutils.h"
#include <QStringBuilder>
PlaylistModel::PlaylistModel(QObject *parent)
: AbstractYTMusicModel(parent)
{
@@ -99,3 +102,8 @@ QString PlaylistModel::title() const
{
return QString::fromStdString(m_playlist.title);
}
QUrl PlaylistModel::webUrl() const
{
return QUrl(YTMUSIC_WEB_BASE_URL % "playlist?list=" % playlistId());
}
+5
View File
@@ -19,6 +19,8 @@ class PlaylistModel : public AbstractYTMusicModel
// output
Q_PROPERTY(QUrl thumbnailUrl READ thumbnailUrl NOTIFY thumbnailUrlChanged)
Q_PROPERTY(QString title READ title NOTIFY titleChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY playlistIdChanged)
public:
explicit PlaylistModel(QObject *parent = nullptr);
@@ -45,6 +47,9 @@ public:
QString title() const;
Q_SIGNAL void titleChanged();
QUrl webUrl() const;
private:
QString m_playlistId;
+9 -2
View File
@@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: 2021 Jonah Brüchert <[email protected]>
SPDX-FileCopyrightText: 2022 Jonah Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-->
@@ -19,9 +19,16 @@ SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted
<file>migrations/2022-05-20-194850_init/down.sql</file>
<file>migrations/2022-05-20-194850_init/up.sql</file>
<file alias="PlaybackHistory.qml">contents/ui/PlaybackHistory.qml</file>
<file alias="RoundedMask.qml">contents/ui/RoundedMask.qml</file>
<file alias="SongMenu.qml">contents/ui/SongMenu.qml</file>
<file alias="ListHeader.qml">contents/ui/ListHeader.qml</file>
<file alias="RoundedImage.qml">contents/ui/RoundedImage.qml</file>
<file alias="Sidebar.qml">contents/ui/Sidebar.qml</file>
<file alias="NavigationBar.qml">contents/ui/NavigationBar.qml</file>
<file alias="SearchHistoryPage.qml">contents/ui/SearchHistoryPage.qml</file>
<file alias="SearchWithDropdown.qml">contents/ui/SearchWithDropdown.qml</file>
<file>resources/favourites_placeholder.svg</file>
<file>resources/played_placeholder.svg</file>
<file alias="AboutAudiotube.qml">contents/ui/AboutAudiotube.qml</file>
<file alias="ShareMenu.qml">contents/ui/ShareMenu.qml</file>
</qresource>
</RCC>
+93
View File
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-->
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="410mm"
height="200mm"
viewBox="0 0 410 199.99998"
version="1.1"
id="svg5"
xml:space="preserve"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="favourites_placeholder.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.64658308"
inkscape:cx="852.9453"
inkscape:cy="645.70202"
inkscape:window-width="1707"
inkscape:window-height="990"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"><inkscape:grid
type="xygrid"
id="grid1378"
originx="-36.839489"
originy="49.025167" /></sodipodi:namedview><defs
id="defs2" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-36.839491,49.025176)"><g
id="g3754"
transform="translate(1.0239803,48.048198)"><path
id="path2136"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.86189;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 440.67683,-32.99624 c -12.80337,1.985129 -26.29162,9.680256 -39.10109,11.658868 l -1.33455,11.4329407 -5.14902,44.1397733 c -1.82871,-1.736935 -4.17283,-2.833887 -6.67796,-3.126198 -6.39434,-0.746382 -12.18423,3.830112 -12.93037,10.224494 -0.0906,0.775869 -0.10208,1.545901 -0.0416,2.296047 l -1.26165,1.759668 c 1.98087,2.357577 2.98079,3.562436 4.86071,5.753708 0.007,0.0069 0.0142,0.01424 0.0213,0.02136 1.76301,1.667675 4.05668,2.802348 6.65171,3.105172 6.39434,0.746383 12.18421,-3.835358 12.93037,-10.22975 l 6.37844,-54.684776 33.64731,-5.196316 -5.00192,42.857776 c -1.8287,-1.736995 -4.16757,-2.833886 -6.67272,-3.126197 -6.39433,-0.746383 -12.18418,3.835419 -12.93036,10.22975 -0.0956,0.821011 -0.10393,1.630593 -0.0316,2.42214 l -2.30656,0.257437 4.76548,5.884602 c 0.0172,0.02136 0.0355,0.04169 0.0529,0.06304 l 0.23121,0.288955 0.005,-0.0053 c 1.84309,2.159621 4.47063,3.659097 7.51339,4.01414 6.39435,0.746384 12.17896,-3.830121 12.92511,-10.224492 l 6.23137,-53.402774 1.3398,-11.432941 z"
sodipodi:nodetypes="cccccsccccccccccscccscccsccc" /><path
id="path2134"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.49536;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 218.05645,-38.280046 a 20.012256,20.012265 17.519729 0 0 -25.10697,13.059977 c -3.40195,10.753794 -2.04184,28.2651872 22.1953,54.681772 l 0.004,-0.0029 0.003,0.005 c 35.01078,-7.713326 46.17698,-21.2704644 49.56589,-32.0283659 l -0.007,-0.00212 -10e-4,-3.858e-4 a 20.012256,20.012256 0 0 0 -13.05955,-25.1082743 20.012256,20.012256 0 0 0 -19.95876,4.738745 20.012256,20.012265 17.519729 0 0 -13.63368,-15.34313 z" /><path
id="path2132"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.53185;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 47.065658,-47.571342 6.262552,10.574758 10.981614,51.374016 C 61.210315,12.9092 57.718215,12.485874 54.357672,13.170999 45.779848,14.919656 40.24373,23.290951 41.992449,31.868766 43.741106,40.44659 52.112412,45.982697 60.690225,44.233979 69.268051,42.485321 74.804158,34.114026 73.055439,25.536212 L 61.28653,-29.699689 C 80.958225,-21.28437 83.410948,2.2050731 82.443029,5.8174106 l 3.749617,2.4150647 C 98.341428,-22.694892 68.952283,-23.159305 53.105037,-48.318315 Z"
sodipodi:nodetypes="cccssscccccc" /><path
id="path234"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.53185;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 47.083379,-47.229598 1.414458,6.93869 10.981613,51.374017 C 56.379942,9.6148752 52.887844,9.191549 49.527299,9.8766741 40.949475,11.625331 35.413357,19.996628 37.162076,28.574441 38.910733,37.152266 47.282039,42.688372 55.859853,40.939654 64.437677,39.190997 69.973785,30.819701 68.225065,22.241888 L 56.456157,-32.994014 C 71.640443,-20.266549 82.613067,-16.645 82.443029,5.8174106 94.591811,-25.109957 69.143154,-23.336999 53.295908,-48.496009 Z"
sodipodi:nodetypes="cccsssccccc" /><path
id="path1206"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.86189;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 440.67491,-32.994014 -4.78137,0.737131 -4.5e-4,0.0038 -38.43113,5.936232 -1.3359,11.436417 -5.14833,44.138482 c -1.82871,-1.736934 -4.1708,-2.833246 -6.67596,-3.125556 -6.39434,-0.746384 -12.18473,3.831504 -12.93086,10.225907 -0.74639,6.394351 3.8354,12.185169 10.22974,12.931338 6.39435,0.746384 12.1809,-3.831952 12.92706,-10.226364 l 6.38021,-54.684527 33.64971,-5.199365 -5.00263,42.860104 c -1.82871,-1.736996 -4.17036,-2.83713 -6.67551,-3.12944 -6.39435,-0.746384 -12.18131,3.835856 -12.92748,10.230207 -0.74638,6.394341 3.83194,12.18089 10.22635,12.927028 6.39437,0.746383 12.1809,-3.831951 12.92704,-10.226343 l 6.23365,-53.398483 z" /><path
id="path1761"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.49536;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 216.50808,-45.145682 a 20.012256,20.012265 17.519729 0 0 -25.10696,13.059976 c -3.40194,10.753794 -2.04184,28.2651868 22.19531,54.681772 l 0.004,-0.0029 0.003,0.005 C 248.6142,14.88484 259.7804,1.3277008 263.16933,-9.4302005 l -0.007,-0.00208 -10e-4,-3.863e-4 a 20.012256,20.012256 0 0 0 -13.05955,-25.1082752 20.012256,20.012256 0 0 0 -19.95876,4.738746 20.012256,20.012265 17.519729 0 0 -13.63368,-15.343131 z" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:22.9781;stroke-dasharray:none;stroke-opacity:0.882353"
id="path2242"
cx="100.14573"
cy="-33.542244"
r="7.3963723" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:34.0385;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2244"
cx="160.65797"
cy="30.305696"
r="10.956545" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:34.4533;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2246"
cx="308.24826"
cy="-28.016548"
r="11.090084" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:22.9781;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2248"
cx="321.48218"
cy="29.99456"
r="7.3963723" /></g></g></svg>

After

Width:  |  Height:  |  Size: 7.1 KiB

+121
View File
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<!--
SPDX-FileCopyrightText: 2023 Mathis Brüchert <[email protected]>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
-->
<svg
width="410mm"
height="200mm"
viewBox="0 0 410.00001 199.99999"
version="1.1"
id="svg5"
xml:space="preserve"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="played_placeholder.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.26286253"
inkscape:cx="549.717"
inkscape:cy="682.86645"
inkscape:window-width="853"
inkscape:window-height="990"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"
showguides="false"><inkscape:grid
type="xygrid"
id="grid1378"
originx="-39.082456"
originy="83.308533" /></sodipodi:namedview><defs
id="defs2"><inkscape:path-effect
effect="fillet_chamfer"
id="path-effect3380"
is_visible="true"
lpeversion="1"
nodesatellites_param="F,0,0,1,0,5.2916667,0,1 @ F,0,0,1,0,5.2916667,0,1 @ F,0,0,1,0,5.2916667,0,1"
unit="px"
method="auto"
mode="F"
radius="20"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" /></defs><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-39.082456,83.30855)"><g
id="g3784"
transform="translate(5.5779931,16.882453)"><path
id="path2136"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.86189;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 250.59587,-83.30855 c -12.80337,1.985129 -26.29162,9.680256 -39.10109,11.658868 l -1.33455,11.432941 -5.14902,44.139773 c -1.82871,-1.736935 -4.17283,-2.833887 -6.67796,-3.126198 -6.39434,-0.746382 -12.18423,3.830112 -12.93037,10.2244936 -0.0906,0.775869 -0.10208,1.545901 -0.0416,2.296047 l -1.26165,1.759668 c 1.98087,2.357577 2.98079,3.562436 4.86071,5.75370803 0.007,0.0069 0.0142,0.01424 0.0213,0.02136 1.76301,1.66767497 4.05668,2.80234797 6.65171,3.10517197 6.39434,0.746383 12.18421,-3.83535797 12.93037,-10.22975 l 6.37844,-54.6847756 33.64731,-5.196316 -5.00192,42.857775 c -1.8287,-1.736995 -4.16757,-2.833886 -6.67272,-3.126197 -6.39433,-0.746383 -12.18418,3.835419 -12.93036,10.229751 -0.0956,0.821011 -0.10393,1.630593 -0.0316,2.42214 l -2.30656,0.257437 4.76548,5.8846016 c 0.0172,0.02136 0.0355,0.04169 0.0529,0.06304 l 0.23121,0.288955 0.005,-0.0053 c 1.84309,2.159621 4.47063,3.659097 7.51339,4.01414 6.39435,0.746384 12.17896,-3.830121 12.92511,-10.2244916 l 6.23137,-53.402774 1.3398,-11.432941 z"
sodipodi:nodetypes="cccccsccccccccccscccscccsccc" /><path
id="path2132"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.53185;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 414.76305,-42.591595 1.52996,12.194434 -10.39972,51.494964 c -2.25772,-2.581735 -5.2919,-4.361549 -8.64712,-5.072299 -8.56418,-1.814311 -16.9776,3.657567 -18.79186,12.221761 -1.81431,8.564179 3.65758,16.977596 12.22178,18.791851 8.56417,1.81431 16.97759,-3.657572 18.79184,-12.221765 l 11.21655,-55.350711 c 14.689,15.5572013 7.57838,38.078497 5.25117,41.005941 l 2.47668,3.709204 c 23.46666,-23.52468967 -3.30326,-35.661777 -7.81246,-65.051881 z"
sodipodi:nodetypes="cccssscccccc" /><path
id="path234"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2.53185;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 414.64312,-42.271095 -1.46766,6.927632 -10.39973,51.494961 c -2.25773,-2.581737 -5.29189,-4.361547 -8.64712,-5.072297 -8.56417,-1.8143106 -16.9776,3.657569 -18.79185,12.221761 -1.81431,8.56418 3.65758,16.977596 12.22178,18.791851 8.56417,1.814311 16.97759,-3.657572 18.79184,-12.221765 l 11.21655,-55.35071 c 8.85494,17.7240249 17.47561,25.41804533 8.36872,45.952243 23.46665,-23.5246907 -0.58071,-32.03949 -5.08991,-61.429595 z"
sodipodi:nodetypes="cccsssccccc" /><path
id="path1206"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.86189;stroke-dasharray:none;stroke-opacity:0.882353"
d="m 250.59395,-83.306324 -4.78137,0.737131 -4.5e-4,0.0038 -38.43113,5.936232 -1.3359,11.436417 -5.14833,44.138482 c -1.82871,-1.736935 -4.1708,-2.833247 -6.67596,-3.125557 -6.39434,-0.746384 -12.18473,3.831505 -12.93086,10.225908 -0.74639,6.3943506 3.8354,12.1851686 10.22974,12.9313376 6.39435,0.74638403 12.1809,-3.831952 12.92706,-10.2263636 l 6.38021,-54.684527 33.64971,-5.199365 -5.00263,42.860103 c -1.82871,-1.736995 -4.17036,-2.837129 -6.67551,-3.129439 -6.39435,-0.746384 -12.18131,3.835855 -12.92748,10.230207 -0.74638,6.394341 3.83194,12.1808896 10.22635,12.9270276 6.39437,0.746383 12.1809,-3.8319506 12.92704,-10.2263426 l 6.23365,-53.398483 z" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:22.9781;stroke-dasharray:none;stroke-opacity:0.882353"
id="path2242"
cx="46.478828"
cy="-28.027006"
r="7.3963723" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:34.0385;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2244"
cx="160.65797"
cy="29.776529"
r="10.956545" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:34.4533;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2246"
cx="308.24826"
cy="-28.545715"
r="11.090084" /><circle
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:22.9781;stroke-dasharray:none;stroke-opacity:0.882353"
id="circle2248"
cx="358.07913"
cy="27.152491"
r="7.3963723" /><path
id="path3189"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.564999;stroke-dasharray:none;stroke-opacity:1"
d="M 88.302198,-20.630633 A 28.690096,29.400146 0 0 0 59.612472,8.7696393 28.690096,29.400146 0 0 0 88.302198,38.169912 28.690096,29.400146 0 0 0 116.99244,8.7696393 28.690096,29.400146 0 0 0 88.302198,-20.630633 Z m 0,21.7413083 a 7.4738884,7.6588593 0 0 1 7.47397,7.658964 7.4738884,7.6588593 0 0 1 -7.47397,7.6589647 7.4738884,7.6588593 0 0 1 -7.473967,-7.6589647 7.4738884,7.6588593 0 0 1 7.473967,-7.658964 z" /><path
id="path3271"
style="opacity:0.31;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.564999;stroke-dasharray:none;stroke-opacity:1"
d="M 90.948048,-17.455631 A 28.690096,29.400146 0 0 0 62.258307,11.94464 28.690096,29.400146 0 0 0 90.948048,41.344914 28.690096,29.400146 0 0 0 119.63829,11.94464 28.690096,29.400146 0 0 0 90.948048,-17.455631 Z m 0,21.7413065 a 7.4738884,7.6588593 0 0 1 7.47397,7.6589645 7.4738884,7.6588593 0 0 1 -7.47397,7.658966 7.4738884,7.6588593 0 0 1 -7.47397,-7.658966 7.4738884,7.6588593 0 0 1 7.47397,-7.6589645 z" /><path
id="path3325"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.214388;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="-4.959854"
inkscape:transform-center-y="4.9598554"
d="m 239.8962,20.171856 a 4.3815311,4.3815311 0 0 0 -4.54524,5.504241 l 13.25331,49.461093 a 4.381492,4.381492 0 0 0 7.33034,1.964688 L 292.1424,40.893356 a 4.3814927,4.3814927 0 0 0 -1.96395,-7.330342 l -49.46109,-13.25257 a 4.3815311,4.3815311 0 0 0 -0.82116,-0.138588 z" /><path
id="path3383"
style="opacity:0.33;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.214388;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-x="-4.959769"
inkscape:transform-center-y="4.9598588"
d="m 243.6907,24.72525 c -3.0042,-0.215135 -5.32469,2.594953 -4.54523,5.504241 -0.32195,7.307721 10.08785,46.26688 10.08785,46.26688 l 4.6507,5.473874 0.007,-0.01556 c 1.73787,1.402494 4.25249,1.273523 5.83774,-0.29941 L 295.93673,45.44675 c 1.46747,-1.470769 1.70023,-3.769945 0.55731,-5.504982 l 0.004,-0.0022 -0.0334,-0.04447 c -0.069,-0.101093 -0.14213,-0.199256 -0.21937,-0.294223 l -3.74508,-4.49848 c -14.28035,8.610206 -33.42491,-5.131775 -47.989,-10.238538 -0.2687,-0.07216 -0.54366,-0.118568 -0.82116,-0.138588 z"
sodipodi:nodetypes="ccccccccccccccc" /></g></g></svg>

After

Width:  |  Height:  |  Size: 8.9 KiB

-2
View File
@@ -123,8 +123,6 @@ QVariant SearchModel::data(const QModelIndex &index, int role) const
}, m_searchResults.at(index.row()));
case ThumbnailUrl:
return std::visit([&](auto &&arg) {
using T = std::decay_t<decltype(arg)>;
if (!arg.thumbnails.empty()) {
return QString::fromStdString(arg.thumbnails.front().url);
}
+107 -2
View File
@@ -11,6 +11,8 @@
#include <QRandomGenerator>
#include <QFutureWatcher>
#include <QStringBuilder>
#include <iostream>
#include "playlistutils.h"
@@ -24,6 +26,7 @@ UserPlaylistModel::UserPlaylistModel(QObject *parent)
beginResetModel();
m_playlist = playlist;
endResetModel();
setCurrentVideoId({});
if (m_shuffle) {
shufflePlaylist();
@@ -32,8 +35,6 @@ UserPlaylistModel::UserPlaylistModel(QObject *parent)
}
if (!m_playlist.tracks.empty()) {
setCurrentVideoId(QString::fromStdString(m_playlist.tracks.front().video_id));
} else {
setCurrentVideoId({});
}
};
connect(this, &UserPlaylistModel::initialVideoIdChanged, this, [=, this] {
@@ -129,6 +130,20 @@ QString UserPlaylistModel::nextVideoId() const
return QString::fromStdString((currentTrack + 1)->video_id);
}
QString UserPlaylistModel::previousVideoId() const
{
auto currentTrack = std::find_if(m_playlist.tracks.begin(), m_playlist.tracks.end(),
[this](const watch::Playlist::Track &track) {
return track.video_id == m_currentVideoId.toStdString();
});
if (currentTrack == m_playlist.tracks.end() || currentTrack - 1 == m_playlist.tracks.end()) {
return {};
}
return QString::fromStdString((currentTrack - 1)->video_id);
}
QString UserPlaylistModel::currentVideoId() const
{
return m_currentVideoId;
@@ -141,6 +156,8 @@ void UserPlaylistModel::setCurrentVideoId(const QString &videoId)
emitCurrentVideoChanged(old);
Q_EMIT currentVideoIdChanged();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
int UserPlaylistModel::currentIndex() const
@@ -164,12 +181,32 @@ bool UserPlaylistModel::canSkip() const
&& currentTrackIt != m_playlist.tracks.end()
&& !m_playlist.tracks.empty();
}
bool UserPlaylistModel::canSkipBack() const
{
const auto currentTrackIt = std::ranges::find_if(m_playlist.tracks, [this](const watch::Playlist::Track &track) {
return track.video_id == m_currentVideoId.toStdString();
});
return currentTrackIt != m_playlist.tracks.begin()
&& !m_playlist.tracks.empty();
}
void UserPlaylistModel::next()
{
setCurrentVideoId(nextVideoId());
Q_EMIT currentVideoIdChanged();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::previous()
{
setCurrentVideoId(previousVideoId());
Q_EMIT currentVideoIdChanged();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::skipTo(const QString &videoId)
@@ -179,6 +216,8 @@ void UserPlaylistModel::skipTo(const QString &videoId)
emitCurrentVideoChanged(old);
Q_EMIT currentVideoIdChanged();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::playNext(const QString &videoId, const QString &title, const std::vector<meta::Artist> &artists)
@@ -199,6 +238,8 @@ void UserPlaylistModel::playNext(const QString &videoId, const QString &title, c
endInsertRows();
setCurrentVideoId(videoId);
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
return;
}
@@ -208,6 +249,8 @@ void UserPlaylistModel::playNext(const QString &videoId, const QString &title, c
m_playlist.tracks.push_back(std::move(track));
endInsertRows();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
return;
}
@@ -216,6 +259,8 @@ void UserPlaylistModel::playNext(const QString &videoId, const QString &title, c
m_playlist.tracks.insert(currentIt + 1, std::move(track));
endInsertRows();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::append(const QString &videoId, const QString &title, const std::vector<meta::Artist> &artists)
@@ -242,8 +287,31 @@ void UserPlaylistModel::clear()
setCurrentVideoId({});
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::clearExceptCurrent()
{
int index = currentIndex();
Q_ASSERT(checkIndex(createIndex(index, 0), CheckIndexOption::IndexIsValid | CheckIndexOption::DoNotUseParent));
if((unsigned) index < m_playlist.tracks.size() - 1) {
beginRemoveRows({}, index + 1, m_playlist.tracks.size() - 1);
m_playlist.tracks.erase(m_playlist.tracks.begin() + index + 1, m_playlist.tracks.end());
endRemoveRows();
}
if(index > 0) {
beginRemoveRows({}, 0, index - 1);
m_playlist.tracks.erase(m_playlist.tracks.begin(), m_playlist.tracks.begin() + index);
endRemoveRows();
}
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::remove(const QString &videoId)
{
if (m_currentVideoId == videoId) {
@@ -259,6 +327,8 @@ void UserPlaylistModel::remove(const QString &videoId)
endRemoveRows();
Q_EMIT canSkipChanged();
Q_EMIT canSkipBackChanged();
}
void UserPlaylistModel::shufflePlaylist()
@@ -277,6 +347,35 @@ void UserPlaylistModel::shufflePlaylist()
Q_EMIT dataChanged(index(0), index(m_playlist.tracks.size() - 1), {});
}
void UserPlaylistModel::playFavourites(FavouritesModel *favouriteModel, bool shuffled)
{
clear();
std::vector<Song> favourites(favouriteModel->getFavouriteSongs());
if(shuffled) {
std::shuffle(favourites.begin(), favourites.end(), *QRandomGenerator::global());
}
std::for_each(favourites.begin(), favourites.end(), [this](Song song) {
meta::Artist artist;
artist.name = song.artist.toStdString();
append(song.videoId, song.title, std::vector<meta::Artist>({artist}));
});
}
void UserPlaylistModel::playPlaybackHistory(PlaybackHistoryModel *playbackHistory, bool shuffle)
{
clear();
std::vector<PlayedSong> playedSongs(playbackHistory->getPlayedSong());
if(shuffle) {
std::shuffle(playedSongs.begin(), playedSongs.end(), *QRandomGenerator::global());
}
std::for_each(playedSongs.begin(), playedSongs.end(), [this](PlayedSong song) {
meta::Artist artist;
artist.name = song.artist.toStdString();
append(song.videoId, song.title, std::vector<meta::Artist>({artist}));
});
}
void UserPlaylistModel::emitCurrentVideoChanged(const QString &oldVideoId)
{
const auto oldVideoIt = std::find_if(m_playlist.tracks.begin(), m_playlist.tracks.end(),
@@ -333,3 +432,9 @@ void UserPlaylistModel::setPlaylistId(const QString &playlistId)
m_playlistId = playlistId;
Q_EMIT playlistIdChanged();
}
QUrl UserPlaylistModel::webUrl() const
{
return QUrl(YTMUSIC_WEB_BASE_URL % "watch?v=" % m_currentVideoId);
}
+17
View File
@@ -9,6 +9,7 @@
#include <ytmusic.h>
#include "abstractytmusicmodel.h"
#include "library.h"
class UserPlaylistModel : public AbstractYTMusicModel
{
@@ -23,7 +24,10 @@ class UserPlaylistModel : public AbstractYTMusicModel
Q_PROPERTY(QString currentVideoId READ currentVideoId NOTIFY currentVideoIdChanged)
Q_PROPERTY(int currentIndex READ currentIndex NOTIFY currentVideoIdChanged)
Q_PROPERTY(bool canSkip READ canSkip NOTIFY canSkipChanged)
Q_PROPERTY(bool canSkipBack READ canSkipBack NOTIFY canSkipBackChanged)
Q_PROPERTY(QString lyrics READ lyrics NOTIFY lyricsChanged)
Q_PROPERTY(QUrl webUrl READ webUrl NOTIFY currentVideoIdChanged)
public:
enum Role {
@@ -46,6 +50,7 @@ public:
Q_SIGNAL void initialVideoIdChanged();
QString nextVideoId() const;
QString previousVideoId() const;
QString currentVideoId() const;
void setCurrentVideoId(const QString &videoId);
@@ -54,7 +59,11 @@ public:
int currentIndex() const;
bool canSkip() const;
bool canSkipBack() const;
Q_SIGNAL void canSkipChanged();
Q_SIGNAL void canSkipBackChanged();
QString playlistId() const;
void setPlaylistId(const QString &playlistId);
@@ -67,14 +76,22 @@ public:
QString lyrics() const;
Q_SIGNAL void lyricsChanged();
QUrl webUrl() const;
Q_INVOKABLE void next();
Q_INVOKABLE void previous();
Q_INVOKABLE void skipTo(const QString &videoId);
Q_INVOKABLE void playNext(const QString &videoId, const QString &title, const std::vector<meta::Artist> &artists);
Q_INVOKABLE void append(const QString &videoId, const QString &title, const std::vector<meta::Artist> &artists);
Q_INVOKABLE void clear();
Q_INVOKABLE void clearExceptCurrent();
Q_INVOKABLE void remove(const QString &videoId);
Q_INVOKABLE void shufflePlaylist();
Q_INVOKABLE void playFavourites(FavouritesModel *favouriteModel, bool shuffle);
Q_INVOKABLE void playPlaybackHistory(PlaybackHistoryModel *playbackHistory, bool shuffle);
private:
void emitCurrentVideoChanged(const QString &oldVideoId);
+16 -7
View File
@@ -22,7 +22,7 @@ void pyPrintPretty(py::handle obj) {
#define UNEXPORT __attribute__ ((visibility("hidden")))
constexpr auto TESTED_YTMUSICAPI_VERSION = "0.24.0";
constexpr auto TESTED_YTMUSICAPI_VERSION = "0.25.0";
struct UNEXPORT YTMusicPrivate {
py::scoped_interpreter guard {};
@@ -35,20 +35,20 @@ struct UNEXPORT YTMusicPrivate {
py::object get_ytmusic() {
if (ytmusic.is_none()) {
const auto module = py::module::import("ytmusicapi");
ytmusic = module.attr("YTMusic")(auth, user, requests_session, proxies, language);
ytmusicapi_module = py::module::import("ytmusicapi");
ytmusic = ytmusicapi_module.attr("YTMusic")(auth, user, requests_session, proxies, language);
// Some of the called python code randomly fails if the encoding is not utf8
setenv("LC_ALL", "en_US.utf8", true);
auto oldVersion = module.attr("__dict__").contains("_version");
auto oldVersion = ytmusicapi_module.attr("__dict__").contains("_version");
if (oldVersion) {
std::cerr << "Running with outdated and untested version of ytmusicapi." << std::endl;
std::cerr << "The currently tested and supported version is " << TESTED_YTMUSICAPI_VERSION << std::endl;
} else {
const auto version = module.attr("version")("ytmusicapi").cast<std::string>();
const auto version = ytmusicapi_module.attr("__version__").cast<std::string>();
if (version != TESTED_YTMUSICAPI_VERSION) {
std::cerr << "Running with untested version of ytmusicapi." << std::endl;
std::cerr << "Running with untested version of ytmusicapi " << version << "." << std::endl;
std::cerr << "The currently tested and supported version is " << TESTED_YTMUSICAPI_VERSION << std::endl;
}
}
@@ -66,6 +66,9 @@ struct UNEXPORT YTMusicPrivate {
return ytdl;
}
public:
py::module ytmusicapi_module;
private:
py::object ytmusic = py::none();
py::object ytdl = py::none();
@@ -144,7 +147,7 @@ album::Track extract_album_track(py::handle track) {
video_info::Format extract_format(py::handle format) {
return {
optional_key<int>(format, "quality"),
optional_key<float>(format, "quality"),
format["url"].cast<std::string>(),
format["vcodec"].cast<std::string>(),
format["acodec"].cast<std::string>()
@@ -507,3 +510,9 @@ Lyrics YTMusic::get_lyrics(const std::string &browse_id) const
lyrics["lyrics"].cast<std::string>()
};
}
std::string YTMusic::get_version() const
{
d->get_ytmusic();
return d->ytmusicapi_module.attr("__version__").cast<std::string>();
}
+3 -1
View File
@@ -234,7 +234,7 @@ struct Playlist {
namespace video_info {
struct Format {
std::optional<int> quality;
std::optional<float> quality;
std::string url;
std::string vcodec;
std::string acodec;
@@ -319,6 +319,8 @@ public:
Lyrics get_lyrics(const std::string &browse_id) const;
std::string get_version() const;
// TODO wrap more methods
private: