Compare commits

...

23 Commits

Author SHA1 Message Date
Martin Wagner 71a4a7d3bb
Merge pull request #75 from Newbytee/fix-build-instructions
Use `meson setup` in build instructions
2023-08-02 15:20:17 +02:00
Stefan Hansson f7e2a6c17a
Use `meson setup` in build instructions
Running `setup` without explicitly mentioning it is depreciated and will
be removed in a future version of Meson, so let's do it the correct way.
2023-08-02 12:37:40 +02:00
Martin Wagner b0c0a29291 removed workaround for python-mpd2<3.1 2023-05-04 18:16:36 +02:00
Martin Wagner 8783e9b33b preparations for 1.10.2 2023-03-18 13:11:31 +01:00
Martin Wagner 7054643080 fixed dbus timeouts 2023-02-28 00:32:18 +01:00
Martin Wagner 0ee982f7e4 work around inactive but available org.freedesktop.FileManager1 2023-02-28 00:30:41 +01:00
Martin Wagner 2b150f8a19 fixed some return types in MPRIS interface 2023-02-27 23:38:11 +01:00
Martin Wagner c1b8fd211c test for org.freedesktop.FileManager1 2023-02-26 11:53:32 +01:00
Martin Wagner 97e6a37144 preparations for 1.10.1 2023-01-30 17:48:35 +01:00
Martin Wagner 53e55e38fd updated Bulgarian translation 2023-01-30 17:46:48 +01:00
Martin Wagner b0b1cf9e51 minor css provider fixes 2023-01-23 19:04:31 +01:00
Martin Wagner cf22013983 allow text zooming in lyrics window 2023-01-23 19:02:00 +01:00
Martin Wagner 1b743c96ee avoid cursor reset to show better keyboard focus 2023-01-20 18:15:55 +01:00
Martin Wagner 4c65908050
Merge pull request #70 from MasFlam/master
Update the Polish translation strings
2023-01-19 17:16:44 +01:00
MasFlam 42a1308a85
Update the Polish translation strings 2023-01-19 12:54:56 +01:00
Martin Wagner da1e516f51 made release-events act more like actual buttons 2023-01-16 20:46:02 +01:00
Martin Wagner b17106b45e unified button release and press events 2023-01-16 20:21:34 +01:00
Martin Wagner 7302bea05d updated Dutch translation 2023-01-15 18:20:33 +01:00
Martin Wagner 847c5782a7
Merge pull request #69 from ersen0/po
update turkish translation for 1.10
2023-01-13 19:33:53 +01:00
Oğuz Ersen 40e6899c08
update turkish translation 2023-01-13 21:05:39 +03:00
Martin Wagner 71dbf7d786
Merge pull request #68 from grosmanal/french-1.10
french translations for 1.10
2023-01-13 17:45:03 +01:00
Emmanuel Averty 7378557b7f french translations for 1.10 2023-01-13 17:39:15 +01:00
Martin Wagner 4d01dd6109 updated copyright 2023-01-04 15:33:08 +01:00
11 changed files with 805 additions and 771 deletions

View File

@ -63,7 +63,7 @@ Run:
```bash
git clone https://github.com/SoongNoonien/mpdevil.git
cd mpdevil
meson builddir --prefix=/usr/local
meson setup builddir --prefix=/usr/local
sudo ninja -C builddir install
sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas
sudo gtk-update-icon-cache

View File

@ -3,7 +3,7 @@
<object class="GtkAboutDialog" id="about_dialog">
<property name="modal">True</property>
<property name="program_name">mpdevil</property>
<property name="version">1.10.0</property>
<property name="version">1.10.2</property>
<property name="comments" translatable="yes">A simple music browser for MPD</property>
<property name="authors">Martin Wagner</property>
<property name="translator_credits">Martin Wagner
@ -13,7 +13,7 @@ Oğuz Ersen
Łukasz Drukała
Emmanuel Averty</property>
<property name="website">https://github.com/SoongNoonien/mpdevil</property>
<property name="copyright">Copyright © 2020-2022 Martin Wagner</property>
<property name="copyright">Copyright © 2020-2023 Martin Wagner</property>
<property name="license_type">gpl-3-0</property>
<property name="logo_icon_name">org.mpdevil.mpdevil</property>
</object>

View File

@ -17,7 +17,7 @@
</ul>
</description>
<releases>
<release version="1.10.0" date="2022-12-29"/>
<release version="1.10.2" date="2023-03-18"/>
</releases>
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
<screenshots>

View File

@ -1,4 +1,4 @@
project('mpdevil', version: '1.10.0')
project('mpdevil', version: '1.10.2')
i18n = import('i18n')
gnome = import('gnome')

299
po/bg.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-06 11:32+0100\n"
"PO-Revision-Date: 2022-11-06 11:37+0100\n"
"POT-Creation-Date: 2022-12-26 20:43+0100\n"
"PO-Revision-Date: 2023-01-16 18:43+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: bg\n"
@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3.1\n"
"X-Generator: Poedit 3.1.1\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,30,-1,-1,-1,-1,-1\n"
#: src/mpdevil.py:502
@ -33,72 +33,68 @@ msgid_plural "{channels} channels"
msgstr[0] "{channels} канал"
msgstr[1] "{channels} канали"
#: src/mpdevil.py:1002
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(необходим е рестарт)"
#: src/mpdevil.py:1048
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "Използвай декорация от Клиентска страна"
#: src/mpdevil.py:1049
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Покажи бутон стоп"
#: src/mpdevil.py:1050
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Покажи аудио формат"
#: src/mpdevil.py:1051
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Покажи бутон за лирики"
#: src/mpdevil.py:1052
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Постави плейлитът на страни"
#: src/mpdevil.py:1058
#: src/mpdevil.py:1061
msgid "Album view cover size"
msgstr "Големина за основна облечка"
#: src/mpdevil.py:1059
#: src/mpdevil.py:1062
msgid "Action bar icon size"
msgstr "Големина за иконите на бутоните"
#: src/mpdevil.py:1069
#: src/mpdevil.py:1072
msgid "Support “MPRIS”"
msgstr "Поддръжка на “MPRIS”"
#: src/mpdevil.py:1070
#: src/mpdevil.py:1073
msgid "Sort albums by year"
msgstr "Сортирай албумите по година"
#: src/mpdevil.py:1071
#: src/mpdevil.py:1074
msgid "Send notification on title change"
msgstr "Прати известие при промяна на заглавие"
#: src/mpdevil.py:1072
msgid "Play selected albums and titles immediately"
msgstr "Възпроизведи избраните албуми и заглавия веднага"
#: src/mpdevil.py:1073
#: src/mpdevil.py:1075
msgid "Rewind via previous button"
msgstr "Пренавий чрез бутон назад"
#: src/mpdevil.py:1074
#: src/mpdevil.py:1076
msgid "Stop playback on quit"
msgstr "Прекрати възпроизвеждането при изход"
#: src/mpdevil.py:1101
#: src/mpdevil.py:1103
msgid "Choose directory"
msgstr "Избери директория"
#. labels and entries
#: src/mpdevil.py:1116
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Свържи чрез Unix domain socket"
#: src/mpdevil.py:1135
#: src/mpdevil.py:1137
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@ -108,264 +104,268 @@ msgstr ""
"този регулярен израз. %AlbumArtist% и %Album% ще бъдат заместени от "
"съответстващите тагове от песента."
#: src/mpdevil.py:1140
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Сокет:"
#: src/mpdevil.py:1142
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Хост:"
#: src/mpdevil.py:1144
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Парола:"
#: src/mpdevil.py:1145
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Музикална библиотека:"
#: src/mpdevil.py:1147
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Обложка - регулярен израз:"
#. connect button
#: src/mpdevil.py:1150 src/mpdevil.py:3139
#: src/mpdevil.py:1152 src/mpdevil.py:3155
msgid "Connect"
msgstr "Свържи"
#: src/mpdevil.py:1173 src/mpdevil.py:1175 src/mpdevil.py:3140
#: src/mpdevil.py:3236
#: src/mpdevil.py:1175 src/mpdevil.py:1177 src/mpdevil.py:3156
#: src/mpdevil.py:3245
msgid "Preferences"
msgstr "Предпочитания"
#: src/mpdevil.py:1187 src/mpdevil.py:1197
#: src/mpdevil.py:1189 src/mpdevil.py:1199
msgid "View"
msgstr "Поглед"
#: src/mpdevil.py:1188 src/mpdevil.py:1198
#: src/mpdevil.py:1190 src/mpdevil.py:1200
msgid "Behavior"
msgstr "Държане"
#: src/mpdevil.py:1189 src/mpdevil.py:1199
#: src/mpdevil.py:1191 src/mpdevil.py:1201
#, fuzzy
msgid "Connection"
msgstr "Връзка"
#: src/mpdevil.py:1216
#: src/mpdevil.py:1218
msgid "Stats"
msgstr "Статистика"
#: src/mpdevil.py:1225
#: src/mpdevil.py:1227
msgid "<b>Protocol:</b>"
msgstr "<b>Протокол:</b>"
#: src/mpdevil.py:1226
#: src/mpdevil.py:1228
msgid "<b>Uptime:</b>"
msgstr "<b>Време на работа:</b>"
#: src/mpdevil.py:1227
#: src/mpdevil.py:1229
msgid "<b>Playtime:</b>"
msgstr "<b>Време на възпроизвеждане:</b>"
#: src/mpdevil.py:1228
#: src/mpdevil.py:1230
msgid "<b>Artists:</b>"
msgstr "<b>Артисти:</b>"
#: src/mpdevil.py:1229
#: src/mpdevil.py:1231
msgid "<b>Albums:</b>"
msgstr "<b>Албуми:</b>"
#: src/mpdevil.py:1230
#: src/mpdevil.py:1232
msgid "<b>Songs:</b>"
msgstr "<b>Песни::</b>"
#: src/mpdevil.py:1231
#: src/mpdevil.py:1233
msgid "<b>Total Playtime:</b>"
msgstr "<b>Цялостно време на възпроизвеждане:</b>"
#: src/mpdevil.py:1232
#: src/mpdevil.py:1234
msgid "<b>Database Update:</b>"
msgstr "<b>Актуализация на базата с данни:</b>"
#: src/mpdevil.py:1292
msgid "Show in file manager"
msgstr ""
#: src/mpdevil.py:1301 src/mpdevil.py:2175
msgid "No"
msgstr ""
#: src/mpdevil.py:1296 data/ShortcutsWindow.ui:208
#: src/mpdevil.py:1302 src/mpdevil.py:2176
msgid "Title"
msgstr "Заглавие"
#: src/mpdevil.py:1303 src/mpdevil.py:2177
msgid "Length"
msgstr "Дължина"
#: src/mpdevil.py:1317 src/mpdevil.py:1339
msgid "Append"
msgstr "Добави"
#: src/mpdevil.py:1296 src/mpdevil.py:2690 src/mpdevil.py:2723
#: src/mpdevil.py:1318 src/mpdevil.py:1340 src/mpdevil.py:2668
#: src/mpdevil.py:2701
#, fuzzy
msgid "Play"
msgstr "Свири"
#: src/mpdevil.py:1312
msgid "MPD-Tag"
msgstr "MPD-Етикет"
#: src/mpdevil.py:1341 src/mpdevil.py:2197
msgid "Show"
msgstr "Покажи"
#: src/mpdevil.py:1315
msgid "Value"
msgstr "Стойност"
#: src/mpdevil.py:1385 src/mpdevil.py:2212
msgid "No"
msgstr "№"
#: src/mpdevil.py:1386 src/mpdevil.py:2213
msgid "Title"
msgstr "Заглавие"
#: src/mpdevil.py:1387 src/mpdevil.py:2214
msgid "Length"
msgstr "Дължина"
#: src/mpdevil.py:1400
msgid "Add all titles to playlist"
msgstr "Добави всички заглавия към плейлист"
#: src/mpdevil.py:1401
msgid "Directly play all titles"
msgstr "Директно възпроизведи всички заглавия"
#: src/mpdevil.py:1494
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} песен ({duration})"
msgstr[1] "{number} песни ({duration})"
#: src/mpdevil.py:1557
#: src/mpdevil.py:1432
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} попадение"
msgstr[1] "{hits} попадения"
#: src/mpdevil.py:1642
#: src/mpdevil.py:1517
msgid "all tags"
msgstr "всички тагове"
#: src/mpdevil.py:1774
#: src/mpdevil.py:1652
msgid "all genres"
msgstr "всички жанрове"
#: src/mpdevil.py:1797
#: src/mpdevil.py:1675
msgid "all artists"
msgstr "всички артисти"
#: src/mpdevil.py:2384
#: src/mpdevil.py:2041
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} песен ({duration})"
msgstr[1] "{number} песни ({duration})"
#: src/mpdevil.py:2196
#, fuzzy
msgid "Remove"
msgstr "Премахни избраната песен"
#: src/mpdevil.py:2199
#, fuzzy
#| msgid "Enqueue"
msgid "Enqueue Album"
msgstr "На опашката"
#: src/mpdevil.py:2200
msgid "Tidy"
msgstr "Спретнато"
#: src/mpdevil.py:2202
msgid "Clear"
msgstr "Изчисти"
#: src/mpdevil.py:2375
msgid "Scroll to current song"
msgstr "Превъртане до моментната песен"
#: src/mpdevil.py:2502
#: src/mpdevil.py:2493
msgid "searching…"
msgstr "търсене…"
#: src/mpdevil.py:2507
#: src/mpdevil.py:2498
msgid "connection error"
msgstr "грешка при свързване"
#: src/mpdevil.py:2509
#: src/mpdevil.py:2500
msgid "lyrics not found"
msgstr "лириките не са намерени"
#: src/mpdevil.py:2634
#: src/mpdevil.py:2612
msgid "Lyrics"
msgstr "Лирики"
#: src/mpdevil.py:2692 data/ShortcutsWindow.ui:105
#: src/mpdevil.py:2670 data/ShortcutsWindow.ui:105
msgid "Stop"
msgstr "Спри"
#: src/mpdevil.py:2696 data/ShortcutsWindow.ui:126
#: src/mpdevil.py:2674 data/ShortcutsWindow.ui:126
msgid "Previous title"
msgstr "Предишно заглавие"
#: src/mpdevil.py:2699 data/ShortcutsWindow.ui:119
#: src/mpdevil.py:2677 data/ShortcutsWindow.ui:119
msgid "Next title"
msgstr "Следващо заглавие"
#: src/mpdevil.py:2720
#: src/mpdevil.py:2698
#, fuzzy
msgid "Pause"
msgstr "Пауза"
#: src/mpdevil.py:2892
#: src/mpdevil.py:2901
msgid "Repeat mode"
msgstr "Повтарящ режим"
#: src/mpdevil.py:2893
#: src/mpdevil.py:2902
msgid "Random mode"
msgstr "Случаен режим"
#: src/mpdevil.py:2894
#: src/mpdevil.py:2903
msgid "Single mode"
msgstr "Единичен режим"
#: src/mpdevil.py:2895
#: src/mpdevil.py:2904
msgid "Consume mode"
msgstr "Консумиращ режим"
#: src/mpdevil.py:3109
#: src/mpdevil.py:3125
msgid "Updating Database…"
msgstr "Актуализиране на базата с данни…"
#: src/mpdevil.py:3157
#: src/mpdevil.py:3173
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Свързването със “{socket}” се провали"
#: src/mpdevil.py:3159
#: src/mpdevil.py:3175
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Свързването със “{host}:{port}” се провали"
#: src/mpdevil.py:3220
#: src/mpdevil.py:3229
msgid "Search"
msgstr "Търси"
#: src/mpdevil.py:3223 data/ShortcutsWindow.ui:85
msgid "Back to current album"
msgstr "Обратно в моментния албум"
#: src/mpdevil.py:3232
msgid "Back"
msgstr "Назад"
#: src/mpdevil.py:3237
#: src/mpdevil.py:3246
msgid "Keyboard Shortcuts"
msgstr "Преки пътища на клавиатурата"
#: src/mpdevil.py:3238
#: src/mpdevil.py:3247
msgid "Help"
msgstr "Помощ"
#: src/mpdevil.py:3239
#: src/mpdevil.py:3248
msgid "About mpdevil"
msgstr "За mpdevil"
#: src/mpdevil.py:3241
#: src/mpdevil.py:3250
msgid "Update Database"
msgstr "Актуализирай базата с данни"
#: src/mpdevil.py:3242
#: src/mpdevil.py:3251
msgid "Server Stats"
msgstr "Статистика на сървърът"
#: src/mpdevil.py:3244
#: src/mpdevil.py:3253
msgid "Mini Player"
msgstr "Мини Плеър"
#: src/mpdevil.py:3245
#: src/mpdevil.py:3254
msgid "Genre Filter"
msgstr "Филтър на Жанрове"
#: src/mpdevil.py:3254
#: src/mpdevil.py:3263
msgid "Menu"
msgstr "Меню"
#: src/mpdevil.py:3438 src/mpdevil.py:3440
#: src/mpdevil.py:3437 src/mpdevil.py:3439
msgid "connecting…"
msgstr "свързване…"
#: src/mpdevil.py:3478
#: src/mpdevil.py:3477
msgid "Debug mode"
msgstr "Debug режим"
@ -402,26 +402,30 @@ msgid "Update database"
msgstr "Актуализирай базата с данни"
#: data/ShortcutsWindow.ui:44
msgid "Clear playlist"
msgstr "Изчисти плейлист"
#: data/ShortcutsWindow.ui:51
msgid "Quit"
msgstr "Излез"
#: data/ShortcutsWindow.ui:53
#: data/ShortcutsWindow.ui:60
msgid "Window"
msgstr "Прозорец"
#: data/ShortcutsWindow.ui:57
#: data/ShortcutsWindow.ui:64
msgid "Toggle mini player"
msgstr "Превключи Мини Плеър"
#: data/ShortcutsWindow.ui:64
#: data/ShortcutsWindow.ui:71
msgid "Toggle genre filter"
msgstr "Превключи Филтър на Жанрове"
#: data/ShortcutsWindow.ui:71
#: data/ShortcutsWindow.ui:78
msgid "Toggle lyrics"
msgstr "Превключи лириките"
#: data/ShortcutsWindow.ui:78
#: data/ShortcutsWindow.ui:85
msgid "Toggle search"
msgstr "Превключи търсенето"
@ -462,32 +466,40 @@ msgstr "Превключи единичен режим"
msgid "Toggle consume mode"
msgstr "Превключи консумиращ режим"
#: data/ShortcutsWindow.ui:177
msgid "Playlist"
msgstr "Плейлист"
#~ msgid "Play selected albums and titles immediately"
#~ msgstr "Възпроизведи избраните албуми и заглавия веднага"
#~ msgid "Show in file manager"
#~ msgstr "Покажи в менаджер на файлове"
#~ msgid "MPD-Tag"
#~ msgstr "MPD-Етикет"
#~ msgid "Value"
#~ msgstr "Стойност"
#~ msgid "Add all titles to playlist"
#~ msgstr "Добави всички заглавия към плейлист"
#~ msgid "Directly play all titles"
#~ msgstr "Директно възпроизведи всички заглавия"
#~ msgid "Back to current album"
#~ msgstr "Обратно в моментния албум"
#~ msgid "Playlist"
#~ msgstr "Плейлист"
#: data/ShortcutsWindow.ui:181
#, fuzzy
msgid "Remove song"
msgstr "Премахни избраната песен"
#~ msgid "Show information"
#~ msgstr "Покажи допълнителна информация"
#: data/ShortcutsWindow.ui:188
msgid "Clear playlist"
msgstr "Изчисти плейлист"
#~ msgid "Search, Album Dialog and Album List"
#~ msgstr "Търси, Диалог за албум и Лист на Албум"
#: data/ShortcutsWindow.ui:195 data/ShortcutsWindow.ui:222
#, fuzzy
msgid "Show information"
msgstr "Покажи допълнителна информация"
#: data/ShortcutsWindow.ui:204
msgid "Search, Album Dialog and Album List"
msgstr "Търси, Диалог за албум и Лист на Албум"
#: data/ShortcutsWindow.ui:215
#, fuzzy
msgid "Play immediately"
msgstr "Възпроизведи избрания предмет веднага"
#~ msgid "Play immediately"
#~ msgstr "Възпроизведи избрания предмет веднага"
#~ msgid "Profile 1"
#~ msgstr "Профил 1"
@ -501,9 +513,6 @@ msgstr "Възпроизведи избрания предмет веднага"
#~ msgid "Profiles"
#~ msgstr "Профили"
#~ msgid "Enqueue"
#~ msgstr "На опашката"
#~ msgid ""
#~ "Append all titles after the currently playing track and clear the "
#~ "playlist from all other songs"

278
po/fr.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-06 11:32+0100\n"
"PO-Revision-Date: 2022-11-19 15:38+0100\n"
"POT-Creation-Date: 2022-12-26 20:43+0100\n"
"PO-Revision-Date: 2023-01-13 17:32+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@ -32,72 +32,68 @@ msgid_plural "{channels} channels"
msgstr[0] "{channels} canal"
msgstr[1] "{channels} canaux"
#: src/mpdevil.py:1002
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(redémarrage nécessaire)"
#: src/mpdevil.py:1048
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "Utiliser les décorations côté client"
#: src/mpdevil.py:1049
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Afficher le bouton stop"
#: src/mpdevil.py:1050
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Afficher le format audio"
#: src/mpdevil.py:1051
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Afficher le bouton paroles"
#: src/mpdevil.py:1052
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Placer la liste de lecture sur le côté"
#: src/mpdevil.py:1058
#: src/mpdevil.py:1061
msgid "Album view cover size"
msgstr "Taille de la vue couverture d'album"
#: src/mpdevil.py:1059
#: src/mpdevil.py:1062
msgid "Action bar icon size"
msgstr "Taille de la barre des icônes d'action"
#: src/mpdevil.py:1069
#: src/mpdevil.py:1072
msgid "Support “MPRIS”"
msgstr "Support du \"MPRIS\""
#: src/mpdevil.py:1070
#: src/mpdevil.py:1073
msgid "Sort albums by year"
msgstr "Trier les albums par année"
#: src/mpdevil.py:1071
#: src/mpdevil.py:1074
msgid "Send notification on title change"
msgstr "Notifier lors du changement de titre"
#: src/mpdevil.py:1072
msgid "Play selected albums and titles immediately"
msgstr "Jouer l'album sélectionné et les titres immédiatement"
#: src/mpdevil.py:1073
#: src/mpdevil.py:1075
msgid "Rewind via previous button"
msgstr "Retour au début via bouton précédent"
#: src/mpdevil.py:1074
#: src/mpdevil.py:1076
msgid "Stop playback on quit"
msgstr "Arrêt de la lecture en quittant"
#: src/mpdevil.py:1101
#: src/mpdevil.py:1103
msgid "Choose directory"
msgstr "Choisir le répertoire"
#. labels and entries
#: src/mpdevil.py:1116
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Connexion via socket Unix"
#: src/mpdevil.py:1135
#: src/mpdevil.py:1137
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@ -107,261 +103,262 @@ msgstr ""
"correspondant à l'expression régulière sera affiché. %AlbumArtist% et "
"%Album% seront replacés par les étiquettes correspondantes de la chanson."
#: src/mpdevil.py:1140
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Socket :"
#: src/mpdevil.py:1142
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Hôte :"
#: src/mpdevil.py:1144
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Mot de passe :"
#: src/mpdevil.py:1145
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Bibliothèque musicale :"
#: src/mpdevil.py:1147
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Regex des couvertures :"
#. connect button
#: src/mpdevil.py:1150 src/mpdevil.py:3139
#: src/mpdevil.py:1152 src/mpdevil.py:3155
msgid "Connect"
msgstr "Se connecter"
#: src/mpdevil.py:1173 src/mpdevil.py:1175 src/mpdevil.py:3140
#: src/mpdevil.py:3236
#: src/mpdevil.py:1175 src/mpdevil.py:1177 src/mpdevil.py:3156
#: src/mpdevil.py:3245
msgid "Preferences"
msgstr "Préférences"
#: src/mpdevil.py:1187 src/mpdevil.py:1197
#: src/mpdevil.py:1189 src/mpdevil.py:1199
msgid "View"
msgstr "Vue"
#: src/mpdevil.py:1188 src/mpdevil.py:1198
#: src/mpdevil.py:1190 src/mpdevil.py:1200
msgid "Behavior"
msgstr "Comportement"
#: src/mpdevil.py:1189 src/mpdevil.py:1199
#: src/mpdevil.py:1191 src/mpdevil.py:1201
msgid "Connection"
msgstr "Connexion"
#: src/mpdevil.py:1216
#: src/mpdevil.py:1218
msgid "Stats"
msgstr "Statistiques"
#: src/mpdevil.py:1225
#: src/mpdevil.py:1227
msgid "<b>Protocol:</b>"
msgstr "<b>Protocole :</b>"
#: src/mpdevil.py:1226
#: src/mpdevil.py:1228
msgid "<b>Uptime:</b>"
msgstr "<b>Durée dactivité :</b>"
#: src/mpdevil.py:1227
#: src/mpdevil.py:1229
msgid "<b>Playtime:</b>"
msgstr "<b>Durée de lecture :</b>"
#: src/mpdevil.py:1228
#: src/mpdevil.py:1230
msgid "<b>Artists:</b>"
msgstr "<b>Artistes :</b>"
#: src/mpdevil.py:1229
#: src/mpdevil.py:1231
msgid "<b>Albums:</b>"
msgstr "<b>Albums :</b>"
#: src/mpdevil.py:1230
#: src/mpdevil.py:1232
msgid "<b>Songs:</b>"
msgstr "<b>Chansons :</b>"
#: src/mpdevil.py:1231
#: src/mpdevil.py:1233
msgid "<b>Total Playtime:</b>"
msgstr "<b>Temps total de lecture :</b>"
#: src/mpdevil.py:1232
#: src/mpdevil.py:1234
msgid "<b>Database Update:</b>"
msgstr "<b>Mise à jour de la base :</b>"
#: src/mpdevil.py:1292
msgid "Show in file manager"
msgstr "Afficher dans le gestionnaire de fichiers"
#: src/mpdevil.py:1296 data/ShortcutsWindow.ui:208
msgid "Append"
msgstr "Ajouter"
#: src/mpdevil.py:1296 src/mpdevil.py:2690 src/mpdevil.py:2723
msgid "Play"
msgstr "Jouer"
#: src/mpdevil.py:1312
msgid "MPD-Tag"
msgstr "Étiquette MPD"
#: src/mpdevil.py:1315
msgid "Value"
msgstr "Valeur"
#: src/mpdevil.py:1385 src/mpdevil.py:2212
#: src/mpdevil.py:1301 src/mpdevil.py:2175
msgid "No"
msgstr "Non"
#: src/mpdevil.py:1386 src/mpdevil.py:2213
#: src/mpdevil.py:1302 src/mpdevil.py:2176
msgid "Title"
msgstr "Titre"
#: src/mpdevil.py:1387 src/mpdevil.py:2214
#: src/mpdevil.py:1303 src/mpdevil.py:2177
msgid "Length"
msgstr "Longueur"
#: src/mpdevil.py:1400
msgid "Add all titles to playlist"
msgstr "Ajouter tous les titres à la liste de lecture"
#: src/mpdevil.py:1317 src/mpdevil.py:1339
msgid "Append"
msgstr "Ajouter"
#: src/mpdevil.py:1401
msgid "Directly play all titles"
msgstr "Jouer directement tous les titres"
#: src/mpdevil.py:1318 src/mpdevil.py:1340 src/mpdevil.py:2668
#: src/mpdevil.py:2701
msgid "Play"
msgstr "Jouer"
#: src/mpdevil.py:1494
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} chanson ({duration})"
msgstr[1] "{number} chansons ({duration})"
#: src/mpdevil.py:1341 src/mpdevil.py:2197
msgid "Show"
msgstr "Montrer"
#: src/mpdevil.py:1557
#: src/mpdevil.py:1432
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} hits"
#: src/mpdevil.py:1642
#: src/mpdevil.py:1517
msgid "all tags"
msgstr "toutes les étiquettes"
#: src/mpdevil.py:1774
#: src/mpdevil.py:1652
msgid "all genres"
msgstr "tous les genres"
#: src/mpdevil.py:1797
#: src/mpdevil.py:1675
msgid "all artists"
msgstr "tous les artistes"
#: src/mpdevil.py:2384
#: src/mpdevil.py:2041
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} chanson ({duration})"
msgstr[1] "{number} chansons ({duration})"
#: src/mpdevil.py:2196
msgid "Remove"
msgstr "Supprimer"
#: src/mpdevil.py:2199
msgid "Enqueue Album"
msgstr "Ajouter l'album"
#: src/mpdevil.py:2200
msgid "Tidy"
msgstr "Épurer"
#: src/mpdevil.py:2202
msgid "Clear"
msgstr "Vider"
#: src/mpdevil.py:2375
msgid "Scroll to current song"
msgstr "Défiler jusqu'à la chanson courante"
#: src/mpdevil.py:2502
#: src/mpdevil.py:2493
msgid "searching…"
msgstr "recherche…"
#: src/mpdevil.py:2507
#: src/mpdevil.py:2498
msgid "connection error"
msgstr "erreur de connexion"
#: src/mpdevil.py:2509
#: src/mpdevil.py:2500
msgid "lyrics not found"
msgstr "paroles introuvables"
#: src/mpdevil.py:2634
#: src/mpdevil.py:2612
msgid "Lyrics"
msgstr "Paroles"
#: src/mpdevil.py:2692 data/ShortcutsWindow.ui:105
#: src/mpdevil.py:2670 data/ShortcutsWindow.ui:105
msgid "Stop"
msgstr "Stop"
#: src/mpdevil.py:2696 data/ShortcutsWindow.ui:126
#: src/mpdevil.py:2674 data/ShortcutsWindow.ui:126
msgid "Previous title"
msgstr "Titre précédent"
#: src/mpdevil.py:2699 data/ShortcutsWindow.ui:119
#: src/mpdevil.py:2677 data/ShortcutsWindow.ui:119
msgid "Next title"
msgstr "Titre suivant"
#: src/mpdevil.py:2720
#: src/mpdevil.py:2698
msgid "Pause"
msgstr "Pause"
#: src/mpdevil.py:2892
#: src/mpdevil.py:2901
msgid "Repeat mode"
msgstr "Mode répétition"
#: src/mpdevil.py:2893
#: src/mpdevil.py:2902
msgid "Random mode"
msgstr "Mode aléatoire"
#: src/mpdevil.py:2894
#: src/mpdevil.py:2903
msgid "Single mode"
msgstr "Mode chanson unique"
#: src/mpdevil.py:2895
#: src/mpdevil.py:2904
msgid "Consume mode"
msgstr "Mode consommer"
#: src/mpdevil.py:3109
#: src/mpdevil.py:3125
msgid "Updating Database…"
msgstr "Mise à jour de la base…"
#: src/mpdevil.py:3157
#: src/mpdevil.py:3173
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "La connexion à “{socket}” a échoué"
#: src/mpdevil.py:3159
#: src/mpdevil.py:3175
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "La connexion à “{host}:{port}” a échoué"
#: src/mpdevil.py:3220
#: src/mpdevil.py:3229
msgid "Search"
msgstr "Rechercher"
#: src/mpdevil.py:3223 data/ShortcutsWindow.ui:85
msgid "Back to current album"
msgstr "Retour à l'album courant"
#: src/mpdevil.py:3232
msgid "Back"
msgstr "Retour"
#: src/mpdevil.py:3237
#: src/mpdevil.py:3246
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: src/mpdevil.py:3238
#: src/mpdevil.py:3247
msgid "Help"
msgstr "Aide"
#: src/mpdevil.py:3239
#: src/mpdevil.py:3248
msgid "About mpdevil"
msgstr "À propos de mpdevil"
#: src/mpdevil.py:3241
#: src/mpdevil.py:3250
msgid "Update Database"
msgstr "Mettre à jour la base"
#: src/mpdevil.py:3242
#: src/mpdevil.py:3251
msgid "Server Stats"
msgstr "Statistiques serveur"
#: src/mpdevil.py:3244
#: src/mpdevil.py:3253
msgid "Mini Player"
msgstr "Mini lecteur"
#: src/mpdevil.py:3245
#: src/mpdevil.py:3254
msgid "Genre Filter"
msgstr "Filtre genre"
#: src/mpdevil.py:3254
#: src/mpdevil.py:3263
msgid "Menu"
msgstr "Menu"
#: src/mpdevil.py:3438 src/mpdevil.py:3440
#: src/mpdevil.py:3437 src/mpdevil.py:3439
msgid "connecting…"
msgstr "connexion…"
#: src/mpdevil.py:3478
#: src/mpdevil.py:3477
msgid "Debug mode"
msgstr "Mode debug"
@ -398,26 +395,30 @@ msgid "Update database"
msgstr "Mettre à jour la base"
#: data/ShortcutsWindow.ui:44
msgid "Clear playlist"
msgstr "Effacer la liste de lecture"
#: data/ShortcutsWindow.ui:51
msgid "Quit"
msgstr "Quitter"
#: data/ShortcutsWindow.ui:53
#: data/ShortcutsWindow.ui:60
msgid "Window"
msgstr "Fenêtre"
#: data/ShortcutsWindow.ui:57
#: data/ShortcutsWindow.ui:64
msgid "Toggle mini player"
msgstr "(Dés-)activer mini lecteur"
#: data/ShortcutsWindow.ui:64
#: data/ShortcutsWindow.ui:71
msgid "Toggle genre filter"
msgstr "(Dés-)activer le filtre de genre"
#: data/ShortcutsWindow.ui:71
#: data/ShortcutsWindow.ui:78
msgid "Toggle lyrics"
msgstr "(Dés-)activer les paroles"
#: data/ShortcutsWindow.ui:78
#: data/ShortcutsWindow.ui:85
msgid "Toggle search"
msgstr "(Dés-)activer la recherche"
@ -457,26 +458,35 @@ msgstr "(Dés-)activer le mode titre unique"
msgid "Toggle consume mode"
msgstr "(Dés-)activer le mode consommer"
#: data/ShortcutsWindow.ui:177
msgid "Playlist"
msgstr "Liste de lecture"
#~ msgid "Play selected albums and titles immediately"
#~ msgstr "Jouer l'album sélectionné et les titres immédiatement"
#: data/ShortcutsWindow.ui:181
msgid "Remove song"
msgstr "Supprimer la chanson"
#~ msgid "Show in file manager"
#~ msgstr "Afficher dans le gestionnaire de fichiers"
#: data/ShortcutsWindow.ui:188
msgid "Clear playlist"
msgstr "Effacer la liste de lecture"
#~ msgid "MPD-Tag"
#~ msgstr "Étiquette MPD"
#: data/ShortcutsWindow.ui:195 data/ShortcutsWindow.ui:222
msgid "Show information"
msgstr "Afficher les informations"
#~ msgid "Value"
#~ msgstr "Valeur"
#: data/ShortcutsWindow.ui:204
msgid "Search, Album Dialog and Album List"
msgstr "Recherche, Boîte de dialogue album et Liste dalbum"
#~ msgid "Add all titles to playlist"
#~ msgstr "Ajouter tous les titres à la liste de lecture"
#: data/ShortcutsWindow.ui:215
msgid "Play immediately"
msgstr "Jouer immédiatement"
#~ msgid "Directly play all titles"
#~ msgstr "Jouer directement tous les titres"
#~ msgid "Back to current album"
#~ msgstr "Retour à l'album courant"
#~ msgid "Playlist"
#~ msgstr "Liste de lecture"
#~ msgid "Show information"
#~ msgstr "Afficher les informations"
#~ msgid "Search, Album Dialog and Album List"
#~ msgstr "Recherche, Boîte de dialogue album et Liste dalbum"
#~ msgid "Play immediately"
#~ msgstr "Jouer immédiatement"

283
po/nl.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-06 11:32+0100\n"
"PO-Revision-Date: 2022-11-06 11:34+0100\n"
"POT-Creation-Date: 2022-12-26 20:43+0100\n"
"PO-Revision-Date: 2023-01-15 18:17+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
@ -32,72 +32,68 @@ msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: src/mpdevil.py:1002
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(herstart vereist)"
#: src/mpdevil.py:1048
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: src/mpdevil.py:1049
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Toon stopknop"
#: src/mpdevil.py:1050
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Toon audioformaat"
#: src/mpdevil.py:1051
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: src/mpdevil.py:1052
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: src/mpdevil.py:1058
#: src/mpdevil.py:1061
msgid "Album view cover size"
msgstr "Hoesgrootte in albumlijst"
#: src/mpdevil.py:1059
#: src/mpdevil.py:1062
msgid "Action bar icon size"
msgstr "Grootte iconen werkbalk"
#: src/mpdevil.py:1069
#: src/mpdevil.py:1072
msgid "Support “MPRIS”"
msgstr "Ondersteun „MPRIS”"
#: src/mpdevil.py:1070
#: src/mpdevil.py:1073
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: src/mpdevil.py:1071
#: src/mpdevil.py:1074
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: src/mpdevil.py:1072
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: src/mpdevil.py:1073
#: src/mpdevil.py:1075
msgid "Rewind via previous button"
msgstr "Terugspoelen met „vorige” knop"
#: src/mpdevil.py:1074
#: src/mpdevil.py:1076
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: src/mpdevil.py:1101
#: src/mpdevil.py:1103
msgid "Choose directory"
msgstr "Kies een map"
#. labels and entries
#: src/mpdevil.py:1116
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Verbinden via Unix domain socket"
#: src/mpdevil.py:1135
#: src/mpdevil.py:1137
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@ -107,261 +103,262 @@ msgstr ""
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand."
#: src/mpdevil.py:1140
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Socket:"
#: src/mpdevil.py:1142
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Host:"
#: src/mpdevil.py:1144
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Wachtwoord:"
#: src/mpdevil.py:1145
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Muziekmap:"
#: src/mpdevil.py:1147
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Regex albumhoes:"
#. connect button
#: src/mpdevil.py:1150 src/mpdevil.py:3139
#: src/mpdevil.py:1152 src/mpdevil.py:3155
msgid "Connect"
msgstr "Verbinden"
#: src/mpdevil.py:1173 src/mpdevil.py:1175 src/mpdevil.py:3140
#: src/mpdevil.py:3236
#: src/mpdevil.py:1175 src/mpdevil.py:1177 src/mpdevil.py:3156
#: src/mpdevil.py:3245
msgid "Preferences"
msgstr "Voorkeuren"
#: src/mpdevil.py:1187 src/mpdevil.py:1197
#: src/mpdevil.py:1189 src/mpdevil.py:1199
msgid "View"
msgstr "Beeld"
#: src/mpdevil.py:1188 src/mpdevil.py:1198
#: src/mpdevil.py:1190 src/mpdevil.py:1200
msgid "Behavior"
msgstr "Gedrag"
#: src/mpdevil.py:1189 src/mpdevil.py:1199
#: src/mpdevil.py:1191 src/mpdevil.py:1201
msgid "Connection"
msgstr "Verbinding"
#: src/mpdevil.py:1216
#: src/mpdevil.py:1218
msgid "Stats"
msgstr "Statistieken"
#: src/mpdevil.py:1225
#: src/mpdevil.py:1227
msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>"
#: src/mpdevil.py:1226
#: src/mpdevil.py:1228
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: src/mpdevil.py:1227
#: src/mpdevil.py:1229
msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>"
#: src/mpdevil.py:1228
#: src/mpdevil.py:1230
msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>"
#: src/mpdevil.py:1229
#: src/mpdevil.py:1231
msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>"
#: src/mpdevil.py:1230
#: src/mpdevil.py:1232
msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>"
#: src/mpdevil.py:1231
#: src/mpdevil.py:1233
msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>"
#: src/mpdevil.py:1232
#: src/mpdevil.py:1234
msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>"
#: src/mpdevil.py:1292
msgid "Show in file manager"
msgstr ""
#: src/mpdevil.py:1296 data/ShortcutsWindow.ui:208
msgid "Append"
msgstr "Toevoegen"
#: src/mpdevil.py:1296 src/mpdevil.py:2690 src/mpdevil.py:2723
msgid "Play"
msgstr "Afspelen"
#: src/mpdevil.py:1312
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: src/mpdevil.py:1315
msgid "Value"
msgstr "Waarde"
#: src/mpdevil.py:1385 src/mpdevil.py:2212
#: src/mpdevil.py:1301 src/mpdevil.py:2175
msgid "No"
msgstr "Nr"
#: src/mpdevil.py:1386 src/mpdevil.py:2213
#: src/mpdevil.py:1302 src/mpdevil.py:2176
msgid "Title"
msgstr "Titel"
#: src/mpdevil.py:1387 src/mpdevil.py:2214
#: src/mpdevil.py:1303 src/mpdevil.py:2177
msgid "Length"
msgstr "Lengte"
#: src/mpdevil.py:1400
msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst"
#: src/mpdevil.py:1317 src/mpdevil.py:1339
msgid "Append"
msgstr "Toevoegen"
#: src/mpdevil.py:1401
msgid "Directly play all titles"
msgstr "Alle titels direct afspelen"
#: src/mpdevil.py:1318 src/mpdevil.py:1340 src/mpdevil.py:2668
#: src/mpdevil.py:2701
msgid "Play"
msgstr "Afspelen"
#: src/mpdevil.py:1494
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} nummer ({duration})"
msgstr[1] "{number} nummers ({duration})"
#: src/mpdevil.py:1341 src/mpdevil.py:2197
msgid "Show"
msgstr "Tonen"
#: src/mpdevil.py:1557
#: src/mpdevil.py:1432
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: src/mpdevil.py:1642
#: src/mpdevil.py:1517
msgid "all tags"
msgstr "alle tags"
#: src/mpdevil.py:1774
#: src/mpdevil.py:1652
msgid "all genres"
msgstr "alle genres"
#: src/mpdevil.py:1797
#: src/mpdevil.py:1675
msgid "all artists"
msgstr "alle artiesten"
#: src/mpdevil.py:2384
#: src/mpdevil.py:2041
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} nummer ({duration})"
msgstr[1] "{number} nummers ({duration})"
#: src/mpdevil.py:2196
msgid "Remove"
msgstr "Verwijderen"
#: src/mpdevil.py:2199
msgid "Enqueue Album"
msgstr "Album invoegen"
#: src/mpdevil.py:2200
msgid "Tidy"
msgstr "Opruimen"
#: src/mpdevil.py:2202
msgid "Clear"
msgstr "Wissen"
#: src/mpdevil.py:2375
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: src/mpdevil.py:2502
#: src/mpdevil.py:2493
msgid "searching…"
msgstr "bezig met zoeken…"
#: src/mpdevil.py:2507
#: src/mpdevil.py:2498
msgid "connection error"
msgstr "verbindingsfout"
#: src/mpdevil.py:2509
#: src/mpdevil.py:2500
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: src/mpdevil.py:2634
#: src/mpdevil.py:2612
msgid "Lyrics"
msgstr "Songtekst"
#: src/mpdevil.py:2692 data/ShortcutsWindow.ui:105
#: src/mpdevil.py:2670 data/ShortcutsWindow.ui:105
msgid "Stop"
msgstr "Stoppen"
#: src/mpdevil.py:2696 data/ShortcutsWindow.ui:126
#: src/mpdevil.py:2674 data/ShortcutsWindow.ui:126
msgid "Previous title"
msgstr "Vorige titel"
#: src/mpdevil.py:2699 data/ShortcutsWindow.ui:119
#: src/mpdevil.py:2677 data/ShortcutsWindow.ui:119
msgid "Next title"
msgstr "Volgende titel"
#: src/mpdevil.py:2720
#: src/mpdevil.py:2698
msgid "Pause"
msgstr "Pauzeren"
#: src/mpdevil.py:2892
#: src/mpdevil.py:2901
msgid "Repeat mode"
msgstr "Herhaalmodus"
#: src/mpdevil.py:2893
#: src/mpdevil.py:2902
msgid "Random mode"
msgstr "Willekeurige modus"
#: src/mpdevil.py:2894
#: src/mpdevil.py:2903
msgid "Single mode"
msgstr "Enkele modus"
#: src/mpdevil.py:2895
#: src/mpdevil.py:2904
msgid "Consume mode"
msgstr "Verbruiksmodus"
#: src/mpdevil.py:3109
#: src/mpdevil.py:3125
msgid "Updating Database…"
msgstr "Database bijwerken…"
#: src/mpdevil.py:3157
#: src/mpdevil.py:3173
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Verbinding met „{socket}” mislukt"
#: src/mpdevil.py:3159
#: src/mpdevil.py:3175
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Verbinding met „{host}:{port}” mislukt"
#: src/mpdevil.py:3220
#: src/mpdevil.py:3229
msgid "Search"
msgstr "Zoeken"
#: src/mpdevil.py:3223 data/ShortcutsWindow.ui:85
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: src/mpdevil.py:3232
msgid "Back"
msgstr "Terug"
#: src/mpdevil.py:3237
#: src/mpdevil.py:3246
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: src/mpdevil.py:3238
#: src/mpdevil.py:3247
msgid "Help"
msgstr "Hulp"
#: src/mpdevil.py:3239
#: src/mpdevil.py:3248
msgid "About mpdevil"
msgstr "Over mpdevil"
#: src/mpdevil.py:3241
#: src/mpdevil.py:3250
msgid "Update Database"
msgstr "Database bijwerken"
#: src/mpdevil.py:3242
#: src/mpdevil.py:3251
msgid "Server Stats"
msgstr "Serverstatistieken"
#: src/mpdevil.py:3244
#: src/mpdevil.py:3253
msgid "Mini Player"
msgstr "Minispeler"
#: src/mpdevil.py:3245
#: src/mpdevil.py:3254
msgid "Genre Filter"
msgstr "Genrefilter"
#: src/mpdevil.py:3254
#: src/mpdevil.py:3263
msgid "Menu"
msgstr "Menu"
#: src/mpdevil.py:3438 src/mpdevil.py:3440
#: src/mpdevil.py:3437 src/mpdevil.py:3439
msgid "connecting…"
msgstr "verbinding maken…"
#: src/mpdevil.py:3478
#: src/mpdevil.py:3477
msgid "Debug mode"
msgstr "Debugmodus"
@ -398,26 +395,30 @@ msgid "Update database"
msgstr "Database bijwerken"
#: data/ShortcutsWindow.ui:44
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#: data/ShortcutsWindow.ui:51
msgid "Quit"
msgstr "Stoppen"
#: data/ShortcutsWindow.ui:53
#: data/ShortcutsWindow.ui:60
msgid "Window"
msgstr "Venster"
#: data/ShortcutsWindow.ui:57
#: data/ShortcutsWindow.ui:64
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: data/ShortcutsWindow.ui:64
#: data/ShortcutsWindow.ui:71
msgid "Toggle genre filter"
msgstr "Genrefilter aan/uitzetten"
#: data/ShortcutsWindow.ui:71
#: data/ShortcutsWindow.ui:78
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: data/ShortcutsWindow.ui:78
#: data/ShortcutsWindow.ui:85
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
@ -457,32 +458,37 @@ msgstr "Omschakelen naar enkele modus"
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: data/ShortcutsWindow.ui:177
msgid "Playlist"
msgstr "Afspeellijst"
#~ msgid "Play selected albums and titles immediately"
#~ msgstr "Geselecteerde albums en titels direct afspelen"
#~ msgid "MPD-Tag"
#~ msgstr "MPD-Tag"
#~ msgid "Value"
#~ msgstr "Waarde"
#~ msgid "Add all titles to playlist"
#~ msgstr "Voeg alle titels toe aan de afspeellijst"
#~ msgid "Directly play all titles"
#~ msgstr "Alle titels direct afspelen"
#~ msgid "Back to current album"
#~ msgstr "Terug naar huidige album"
#~ msgid "Playlist"
#~ msgstr "Afspeellijst"
#: data/ShortcutsWindow.ui:181
#, fuzzy
msgid "Remove song"
msgstr "Titel verwijderen"
#~ msgid "Show information"
#~ msgstr "Toon informatie"
#: data/ShortcutsWindow.ui:188
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#~ msgid "Search, Album Dialog and Album List"
#~ msgstr "Zoeken, Albumdialoog en Albumlijst"
#: data/ShortcutsWindow.ui:195 data/ShortcutsWindow.ui:222
#, fuzzy
msgid "Show information"
msgstr "Toon informatie"
#: data/ShortcutsWindow.ui:204
msgid "Search, Album Dialog and Album List"
msgstr "Zoeken, Albumdialoog en Albumlijst"
#: data/ShortcutsWindow.ui:215
#, fuzzy
msgid "Play immediately"
msgstr "Direct afspelen"
#~ msgid "Play immediately"
#~ msgstr "Direct afspelen"
#~ msgid "Profile 1"
#~ msgstr "Profiel 1"
@ -496,9 +502,6 @@ msgstr "Direct afspelen"
#~ msgid "Profiles"
#~ msgstr "Profielen"
#~ msgid "Enqueue"
#~ msgstr "In wachtrij plaatsen"
#~ msgid ""
#~ "Append all titles after the currently playing track and clear the "
#~ "playlist from all other songs"

291
po/pl.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-06 11:32+0100\n"
"PO-Revision-Date: 2022-11-06 11:35+0100\n"
"POT-Creation-Date: 2022-12-26 20:43+0100\n"
"PO-Revision-Date: 2023-01-19 12:52+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pl\n"
@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 "
"|| n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 2.3.1\n"
"X-Generator: Poedit 3.2.2\n"
#: src/mpdevil.py:502
#, python-brace-format
@ -35,72 +35,68 @@ msgstr[0] "{channels} kanał"
msgstr[1] "{channels} kanały"
msgstr[2] "{channels} kanałów"
#: src/mpdevil.py:1002
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(wymagane ponowne uruchomienie)"
#: src/mpdevil.py:1048
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "Używaj dekoracji po stronie klienta"
#: src/mpdevil.py:1049
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Pokaż przycisk „stop”"
#: src/mpdevil.py:1050
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Pokaż format audio"
#: src/mpdevil.py:1051
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Pokaż przycisk tekstu utworu"
#: src/mpdevil.py:1052
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Umieść playlistę z boku"
#: src/mpdevil.py:1058
#: src/mpdevil.py:1061
msgid "Album view cover size"
msgstr "Rozmiar okładek w przeglądarce"
#: src/mpdevil.py:1059
#: src/mpdevil.py:1062
msgid "Action bar icon size"
msgstr "Rozmiar ikon na pasku akcji"
#: src/mpdevil.py:1069
#: src/mpdevil.py:1072
msgid "Support “MPRIS”"
msgstr "Wspieraj „MPRIS”"
#: src/mpdevil.py:1070
#: src/mpdevil.py:1073
msgid "Sort albums by year"
msgstr "Sortuj albumy według roku"
#: src/mpdevil.py:1071
#: src/mpdevil.py:1074
msgid "Send notification on title change"
msgstr "Wysyłaj powiadomienie przy zmianie utworu"
#: src/mpdevil.py:1072
msgid "Play selected albums and titles immediately"
msgstr "Odtwarzaj wybrane albumy i utwory od razu"
#: src/mpdevil.py:1073
#: src/mpdevil.py:1075
msgid "Rewind via previous button"
msgstr "Przewijaj w tył za pomocą przycisku „poprzedni”"
#: src/mpdevil.py:1074
#: src/mpdevil.py:1076
msgid "Stop playback on quit"
msgstr "Zatrzymaj odtwarzanie przy wyjściu"
#: src/mpdevil.py:1101
#: src/mpdevil.py:1103
msgid "Choose directory"
msgstr "Wybierz katalog"
#. labels and entries
#: src/mpdevil.py:1116
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Połącz się poprzez Unix domain socket"
#: src/mpdevil.py:1135
#: src/mpdevil.py:1137
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@ -110,134 +106,110 @@ msgstr ""
"wyrażenia regularnego, zostanie wyświetlony. %AlbumArtist% oraz %Album% "
"zostaną zastąpione odpowiednimi tagami utworu."
#: src/mpdevil.py:1140
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Socket:"
#: src/mpdevil.py:1142
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Host:"
#: src/mpdevil.py:1144
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Hasło:"
#: src/mpdevil.py:1145
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Biblioteka muzyczna:"
#: src/mpdevil.py:1147
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Wyrażenie regularne okładki:"
#. connect button
#: src/mpdevil.py:1150 src/mpdevil.py:3139
#: src/mpdevil.py:1152 src/mpdevil.py:3155
msgid "Connect"
msgstr "Połącz się"
#: src/mpdevil.py:1173 src/mpdevil.py:1175 src/mpdevil.py:3140
#: src/mpdevil.py:3236
#: src/mpdevil.py:1175 src/mpdevil.py:1177 src/mpdevil.py:3156
#: src/mpdevil.py:3245
msgid "Preferences"
msgstr "Preferencje"
#: src/mpdevil.py:1187 src/mpdevil.py:1197
#: src/mpdevil.py:1189 src/mpdevil.py:1199
msgid "View"
msgstr "Widok"
#: src/mpdevil.py:1188 src/mpdevil.py:1198
#: src/mpdevil.py:1190 src/mpdevil.py:1200
msgid "Behavior"
msgstr "Zachowanie"
#: src/mpdevil.py:1189 src/mpdevil.py:1199
#, fuzzy
#: src/mpdevil.py:1191 src/mpdevil.py:1201
msgid "Connection"
msgstr "Połączenie"
#: src/mpdevil.py:1216
#: src/mpdevil.py:1218
msgid "Stats"
msgstr "Statystyki"
#: src/mpdevil.py:1225
#: src/mpdevil.py:1227
msgid "<b>Protocol:</b>"
msgstr "<b>Protokół:</b>"
#: src/mpdevil.py:1226
#: src/mpdevil.py:1228
msgid "<b>Uptime:</b>"
msgstr "<b>Czas działania:</b>"
#: src/mpdevil.py:1227
#: src/mpdevil.py:1229
msgid "<b>Playtime:</b>"
msgstr "<b>Czas odtwarzania:</b>"
#: src/mpdevil.py:1228
#: src/mpdevil.py:1230
msgid "<b>Artists:</b>"
msgstr "<b>Artyści:</b>"
#: src/mpdevil.py:1229
#: src/mpdevil.py:1231
msgid "<b>Albums:</b>"
msgstr "<b>Albumy:</b>"
#: src/mpdevil.py:1230
#: src/mpdevil.py:1232
msgid "<b>Songs:</b>"
msgstr "<b>Utwory:</b>"
#: src/mpdevil.py:1231
#: src/mpdevil.py:1233
msgid "<b>Total Playtime:</b>"
msgstr "<b>Całkowity czas odtwarzania:</b>"
#: src/mpdevil.py:1232
#: src/mpdevil.py:1234
msgid "<b>Database Update:</b>"
msgstr "<b>Aktualizacja bazy danych:</b>"
#: src/mpdevil.py:1292
msgid "Show in file manager"
msgstr "Pokaż w menedżerze plików"
#: src/mpdevil.py:1296 data/ShortcutsWindow.ui:208
msgid "Append"
msgstr "Dodaj"
#: src/mpdevil.py:1296 src/mpdevil.py:2690 src/mpdevil.py:2723
msgid "Play"
msgstr "Odtwórz"
#: src/mpdevil.py:1312
msgid "MPD-Tag"
msgstr "Tag MPD"
#: src/mpdevil.py:1315
msgid "Value"
msgstr "Wartość"
#: src/mpdevil.py:1385 src/mpdevil.py:2212
#: src/mpdevil.py:1301 src/mpdevil.py:2175
msgid "No"
msgstr "Nie"
#: src/mpdevil.py:1386 src/mpdevil.py:2213
#: src/mpdevil.py:1302 src/mpdevil.py:2176
msgid "Title"
msgstr "Tytuł"
#: src/mpdevil.py:1387 src/mpdevil.py:2214
#: src/mpdevil.py:1303 src/mpdevil.py:2177
msgid "Length"
msgstr "Długość"
#: src/mpdevil.py:1400
msgid "Add all titles to playlist"
msgstr "Dodaj wszystkie utwory do playlisty"
#: src/mpdevil.py:1317 src/mpdevil.py:1339
msgid "Append"
msgstr "Dodaj"
#: src/mpdevil.py:1401
msgid "Directly play all titles"
msgstr "Bezpośrednio odtwórz wszystkie utwory"
#: src/mpdevil.py:1318 src/mpdevil.py:1340 src/mpdevil.py:2668
#: src/mpdevil.py:2701
msgid "Play"
msgstr "Odtwórz"
#: src/mpdevil.py:1494
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} utwór ({duration})"
msgstr[1] "{number} utwory ({duration})"
msgstr[2] "{number} utworów ({duration})"
#: src/mpdevil.py:1341 src/mpdevil.py:2197
msgid "Show"
msgstr "Pokaż"
#: src/mpdevil.py:1557
#: src/mpdevil.py:1432
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
@ -245,129 +217,153 @@ msgstr[0] "{hits} trafienie"
msgstr[1] "{hits} trafienia"
msgstr[2] "{hits} trafień"
#: src/mpdevil.py:1642
#: src/mpdevil.py:1517
msgid "all tags"
msgstr "wszystkie tagi"
#: src/mpdevil.py:1774
#: src/mpdevil.py:1652
msgid "all genres"
msgstr "wszystkie gatunki"
#: src/mpdevil.py:1797
#: src/mpdevil.py:1675
msgid "all artists"
msgstr "wszyscy artyści"
#: src/mpdevil.py:2384
#: src/mpdevil.py:2041
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} utwór ({duration})"
msgstr[1] "{number} utwory ({duration})"
msgstr[2] "{number} utworów ({duration})"
#: src/mpdevil.py:2196
msgid "Remove"
msgstr "Usuń wybrany utwór"
#: src/mpdevil.py:2199
msgid "Enqueue Album"
msgstr "Dodaj album do kolejki"
#: src/mpdevil.py:2200
msgid "Tidy"
msgstr "Uporządkuj"
#: src/mpdevil.py:2202
msgid "Clear"
msgstr "Wyczyść"
#: src/mpdevil.py:2375
msgid "Scroll to current song"
msgstr "Przewiń do aktualnego utworu"
#: src/mpdevil.py:2502
#: src/mpdevil.py:2493
msgid "searching…"
msgstr "wyszukiwanie…"
#: src/mpdevil.py:2507
#: src/mpdevil.py:2498
msgid "connection error"
msgstr "błąd połączenia"
#: src/mpdevil.py:2509
#: src/mpdevil.py:2500
msgid "lyrics not found"
msgstr "nie znaleziono tekstu utworu"
#: src/mpdevil.py:2634
#: src/mpdevil.py:2612
msgid "Lyrics"
msgstr "Tekst utworu"
#: src/mpdevil.py:2692 data/ShortcutsWindow.ui:105
#: src/mpdevil.py:2670 data/ShortcutsWindow.ui:105
msgid "Stop"
msgstr "Stop"
#: src/mpdevil.py:2696 data/ShortcutsWindow.ui:126
#: src/mpdevil.py:2674 data/ShortcutsWindow.ui:126
msgid "Previous title"
msgstr "Poprzedni utwór"
#: src/mpdevil.py:2699 data/ShortcutsWindow.ui:119
#: src/mpdevil.py:2677 data/ShortcutsWindow.ui:119
msgid "Next title"
msgstr "Następny utwór"
#: src/mpdevil.py:2720
#: src/mpdevil.py:2698
msgid "Pause"
msgstr "Pauza"
#: src/mpdevil.py:2892
#: src/mpdevil.py:2901
msgid "Repeat mode"
msgstr "Tryb powtarzania"
#: src/mpdevil.py:2893
#: src/mpdevil.py:2902
msgid "Random mode"
msgstr "Tryb losowy"
#: src/mpdevil.py:2894
#: src/mpdevil.py:2903
msgid "Single mode"
msgstr "Tryb pojedynczy"
#: src/mpdevil.py:2895
#: src/mpdevil.py:2904
msgid "Consume mode"
msgstr "Tryb wyczerpywania"
#: src/mpdevil.py:3109
#: src/mpdevil.py:3125
msgid "Updating Database…"
msgstr "Aktualizowanie bazy danych…"
#: src/mpdevil.py:3157
#: src/mpdevil.py:3173
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Nie udało połączyć się do „{socket}”"
#: src/mpdevil.py:3159
#: src/mpdevil.py:3175
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Nie udało połączyć się do „{host}:{port}”"
#: src/mpdevil.py:3220
#: src/mpdevil.py:3229
msgid "Search"
msgstr "Szukaj"
#: src/mpdevil.py:3223 data/ShortcutsWindow.ui:85
msgid "Back to current album"
msgstr "Wróć do aktualnego albumu"
#: src/mpdevil.py:3232
msgid "Back"
msgstr "Cofnij"
#: src/mpdevil.py:3237
#: src/mpdevil.py:3246
msgid "Keyboard Shortcuts"
msgstr "Skróty klawiszowe"
#: src/mpdevil.py:3238
#: src/mpdevil.py:3247
msgid "Help"
msgstr "Pomoc"
#: src/mpdevil.py:3239
#: src/mpdevil.py:3248
msgid "About mpdevil"
msgstr "O mpdevil"
#: src/mpdevil.py:3241
#: src/mpdevil.py:3250
msgid "Update Database"
msgstr "Aktualizuj bazę danych"
#: src/mpdevil.py:3242
#: src/mpdevil.py:3251
msgid "Server Stats"
msgstr "Statystyki serwera"
#: src/mpdevil.py:3244
#: src/mpdevil.py:3253
msgid "Mini Player"
msgstr "Mini odtwarzacz"
#: src/mpdevil.py:3245
#: src/mpdevil.py:3254
msgid "Genre Filter"
msgstr "Filtr gatunku"
#: src/mpdevil.py:3254
#: src/mpdevil.py:3263
msgid "Menu"
msgstr "Menu"
#: src/mpdevil.py:3438 src/mpdevil.py:3440
#: src/mpdevil.py:3437 src/mpdevil.py:3439
msgid "connecting…"
msgstr "łączenie…"
#: src/mpdevil.py:3478
#: src/mpdevil.py:3477
msgid "Debug mode"
msgstr "Tryb debugowania"
@ -404,26 +400,30 @@ msgid "Update database"
msgstr "Aktualizuj bazę danych"
#: data/ShortcutsWindow.ui:44
msgid "Clear playlist"
msgstr "Wyczyść playlistę"
#: data/ShortcutsWindow.ui:51
msgid "Quit"
msgstr "Wyjdź"
#: data/ShortcutsWindow.ui:53
#: data/ShortcutsWindow.ui:60
msgid "Window"
msgstr "Okno"
#: data/ShortcutsWindow.ui:57
#: data/ShortcutsWindow.ui:64
msgid "Toggle mini player"
msgstr "Włącz/wyłącz mini odtwarzacz"
#: data/ShortcutsWindow.ui:64
#: data/ShortcutsWindow.ui:71
msgid "Toggle genre filter"
msgstr "Włącz/wyłącz filtr gatunku"
#: data/ShortcutsWindow.ui:71
#: data/ShortcutsWindow.ui:78
msgid "Toggle lyrics"
msgstr "Włącz/wyłącz tekst utworu"
#: data/ShortcutsWindow.ui:78
#: data/ShortcutsWindow.ui:85
msgid "Toggle search"
msgstr "Włącz/wyłącz wyszukiwanie"
@ -463,32 +463,40 @@ msgstr "Włącz/wyłącz tryb pojedynczy"
msgid "Toggle consume mode"
msgstr "Włącz/wyłącz tryb wyczerpywania"
#: data/ShortcutsWindow.ui:177
msgid "Playlist"
msgstr "Playlista"
#~ msgid "Play selected albums and titles immediately"
#~ msgstr "Odtwarzaj wybrane albumy i utwory od razu"
#~ msgid "Show in file manager"
#~ msgstr "Pokaż w menedżerze plików"
#~ msgid "MPD-Tag"
#~ msgstr "Tag MPD"
#~ msgid "Value"
#~ msgstr "Wartość"
#~ msgid "Add all titles to playlist"
#~ msgstr "Dodaj wszystkie utwory do playlisty"
#~ msgid "Directly play all titles"
#~ msgstr "Bezpośrednio odtwórz wszystkie utwory"
#~ msgid "Back to current album"
#~ msgstr "Wróć do aktualnego albumu"
#~ msgid "Playlist"
#~ msgstr "Playlista"
#: data/ShortcutsWindow.ui:181
#, fuzzy
msgid "Remove song"
msgstr "Usuń wybrany utwór"
#~ msgid "Show information"
#~ msgstr "Wyświetl dodatkowe informacje"
#: data/ShortcutsWindow.ui:188
msgid "Clear playlist"
msgstr "Wyczyść playlistę"
#~ msgid "Search, Album Dialog and Album List"
#~ msgstr "Wyszukiwanie, Okno albumu i Lista albumów"
#: data/ShortcutsWindow.ui:195 data/ShortcutsWindow.ui:222
#, fuzzy
msgid "Show information"
msgstr "Wyświetl dodatkowe informacje"
#: data/ShortcutsWindow.ui:204
msgid "Search, Album Dialog and Album List"
msgstr "Wyszukiwanie, Okno albumu i Lista albumów"
#: data/ShortcutsWindow.ui:215
#, fuzzy
msgid "Play immediately"
msgstr "Odtwórz wybraną pozycję natychmiast"
#~ msgid "Play immediately"
#~ msgstr "Odtwórz wybraną pozycję natychmiast"
#~ msgid "Profile 1"
#~ msgstr "Profil 1"
@ -505,9 +513,6 @@ msgstr "Odtwórz wybraną pozycję natychmiast"
#~ msgid "Add to playlist"
#~ msgstr "Dodaj do playlisty"
#~ msgid "Enqueue"
#~ msgstr "Dodaj do kolejki"
#~ msgid ""
#~ "Append all titles after the currently playing track and clear the "
#~ "playlist from all other songs"

290
po/tr.po
View File

@ -2,14 +2,14 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the mpdevil package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Oğuz Ersen <oguz@ersen.moe>, 2022.
# Oğuz Ersen <oguz@ersen.moe>, 2022-2023.
#
msgid ""
msgstr ""
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-06 11:32+0100\n"
"PO-Revision-Date: 2022-11-06 11:36+0100\n"
"POT-Creation-Date: 2022-12-26 20:43+0100\n"
"PO-Revision-Date: 2023-01-13 21:01+0300\n"
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
"Language-Team: Turkish <tr>\n"
"Language: tr\n"
@ -17,7 +17,6 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.3.1\n"
#: src/mpdevil.py:502
#, python-brace-format
@ -31,72 +30,68 @@ msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanal"
#: src/mpdevil.py:1002
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(yeniden başlatma gerekli)"
#: src/mpdevil.py:1048
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "İstemci tarafı süslemelerini kullan"
#: src/mpdevil.py:1049
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Durdur düğmesini göster"
#: src/mpdevil.py:1050
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Ses biçimini göster"
#: src/mpdevil.py:1051
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Şarkı sözleri düğmesini göster"
#: src/mpdevil.py:1052
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Oynatma listesini yan tarafa yerleştir"
#: src/mpdevil.py:1058
#: src/mpdevil.py:1061
msgid "Album view cover size"
msgstr "Albüm görünümü kapak resmi boyutu"
#: src/mpdevil.py:1059
#: src/mpdevil.py:1062
msgid "Action bar icon size"
msgstr "Eylem çubuğu simge boyutu"
#: src/mpdevil.py:1069
#: src/mpdevil.py:1072
msgid "Support “MPRIS”"
msgstr "“MPRIS” destekle"
#: src/mpdevil.py:1070
#: src/mpdevil.py:1073
msgid "Sort albums by year"
msgstr "Albümleri yıla göre sırala"
#: src/mpdevil.py:1071
#: src/mpdevil.py:1074
msgid "Send notification on title change"
msgstr "Şarkı değişikliğinde bildirim gönder"
#: src/mpdevil.py:1072
msgid "Play selected albums and titles immediately"
msgstr "Seçilen albümleri ve şarkıları hemen oynat"
#: src/mpdevil.py:1073
#: src/mpdevil.py:1075
msgid "Rewind via previous button"
msgstr "Önceki düğmesi ile geri sar"
#: src/mpdevil.py:1074
#: src/mpdevil.py:1076
msgid "Stop playback on quit"
msgstr "Çıkışta oynatmayı durdur"
#: src/mpdevil.py:1101
#: src/mpdevil.py:1103
msgid "Choose directory"
msgstr "Dizin seç"
#. labels and entries
#: src/mpdevil.py:1116
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Unix etki alanı soketi ile bağlan"
#: src/mpdevil.py:1135
#: src/mpdevil.py:1137
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@ -106,260 +101,260 @@ msgstr ""
"görüntülenecektir. %AlbumArtist% ve %Album% şarkının ilgili etiketleri ile "
"değiştirilecektir."
#: src/mpdevil.py:1140
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Soket:"
#: src/mpdevil.py:1142
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Ana makine:"
#: src/mpdevil.py:1144
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Parola:"
#: src/mpdevil.py:1145
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Müzik kütüphanesi:"
#: src/mpdevil.py:1147
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Kapak resmi düzenli ifadesi:"
#. connect button
#: src/mpdevil.py:1150 src/mpdevil.py:3139
#: src/mpdevil.py:1152 src/mpdevil.py:3155
msgid "Connect"
msgstr "Bağlan"
#: src/mpdevil.py:1173 src/mpdevil.py:1175 src/mpdevil.py:3140
#: src/mpdevil.py:3236
#: src/mpdevil.py:1175 src/mpdevil.py:1177 src/mpdevil.py:3156
#: src/mpdevil.py:3245
msgid "Preferences"
msgstr "Tercihler"
#: src/mpdevil.py:1187 src/mpdevil.py:1197
#: src/mpdevil.py:1189 src/mpdevil.py:1199
msgid "View"
msgstr "Gürünüm"
#: src/mpdevil.py:1188 src/mpdevil.py:1198
#: src/mpdevil.py:1190 src/mpdevil.py:1200
msgid "Behavior"
msgstr "Davranış"
#: src/mpdevil.py:1189 src/mpdevil.py:1199
#, fuzzy
#: src/mpdevil.py:1191 src/mpdevil.py:1201
msgid "Connection"
msgstr "Bağ"
msgstr "Bağlantı"
#: src/mpdevil.py:1216
#: src/mpdevil.py:1218
msgid "Stats"
msgstr "İstatistikler"
#: src/mpdevil.py:1225
#: src/mpdevil.py:1227
msgid "<b>Protocol:</b>"
msgstr "<b>Protokol:</b>"
#: src/mpdevil.py:1226
#: src/mpdevil.py:1228
msgid "<b>Uptime:</b>"
msgstr "<b>Çalışma Süresi:</b>"
#: src/mpdevil.py:1227
#: src/mpdevil.py:1229
msgid "<b>Playtime:</b>"
msgstr "<b>Oynatma Süresi:</b>"
#: src/mpdevil.py:1228
#: src/mpdevil.py:1230
msgid "<b>Artists:</b>"
msgstr "<b>Sanatçılar:</b>"
#: src/mpdevil.py:1229
#: src/mpdevil.py:1231
msgid "<b>Albums:</b>"
msgstr "<b>Albümler:</b>"
#: src/mpdevil.py:1230
#: src/mpdevil.py:1232
msgid "<b>Songs:</b>"
msgstr "<b>Şarkılar:</b>"
#: src/mpdevil.py:1231
#: src/mpdevil.py:1233
msgid "<b>Total Playtime:</b>"
msgstr "<b>Toplam Oynatma Süresi:</b>"
#: src/mpdevil.py:1232
#: src/mpdevil.py:1234
msgid "<b>Database Update:</b>"
msgstr "<b>Veri Tabanı Güncellemesi:</b>"
#: src/mpdevil.py:1292
msgid "Show in file manager"
msgstr "Dosya yöneticisinde göster"
#: src/mpdevil.py:1296 data/ShortcutsWindow.ui:208
msgid "Append"
msgstr "Sona ekle"
#: src/mpdevil.py:1296 src/mpdevil.py:2690 src/mpdevil.py:2723
msgid "Play"
msgstr "Oynat"
#: src/mpdevil.py:1312
msgid "MPD-Tag"
msgstr "MPD-Etiketi"
#: src/mpdevil.py:1315
msgid "Value"
msgstr "Değer"
#: src/mpdevil.py:1385 src/mpdevil.py:2212
#: src/mpdevil.py:1301 src/mpdevil.py:2175
msgid "No"
msgstr "Sayı"
#: src/mpdevil.py:1386 src/mpdevil.py:2213
#: src/mpdevil.py:1302 src/mpdevil.py:2176
msgid "Title"
msgstr "Şarkı"
#: src/mpdevil.py:1387 src/mpdevil.py:2214
#: src/mpdevil.py:1303 src/mpdevil.py:2177
msgid "Length"
msgstr "Uzunluk"
#: src/mpdevil.py:1400
msgid "Add all titles to playlist"
msgstr "Tüm şarkıları oynatma listesine ekle"
#: src/mpdevil.py:1317 src/mpdevil.py:1339
msgid "Append"
msgstr "Sona ekle"
#: src/mpdevil.py:1401
msgid "Directly play all titles"
msgstr "Tüm şarkıları doğrudan oynat"
#: src/mpdevil.py:1318 src/mpdevil.py:1340 src/mpdevil.py:2668
#: src/mpdevil.py:2701
msgid "Play"
msgstr "Oynat"
#: src/mpdevil.py:1494
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} şarkı ({duration})"
#: src/mpdevil.py:1341 src/mpdevil.py:2197
msgid "Show"
msgstr "Göster"
#: src/mpdevil.py:1557
#: src/mpdevil.py:1432
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} oynatma"
#: src/mpdevil.py:1642
#: src/mpdevil.py:1517
msgid "all tags"
msgstr "tüm etiketler"
#: src/mpdevil.py:1774
#: src/mpdevil.py:1652
msgid "all genres"
msgstr "tüm türler"
#: src/mpdevil.py:1797
#: src/mpdevil.py:1675
msgid "all artists"
msgstr "tüm sanatçılar"
#: src/mpdevil.py:2384
#: src/mpdevil.py:2041
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} şarkı ({duration})"
#: src/mpdevil.py:2196
msgid "Remove"
msgstr "Kaldır"
#: src/mpdevil.py:2199
msgid "Enqueue Album"
msgstr "Albümü sıraya al"
#: src/mpdevil.py:2200
msgid "Tidy"
msgstr "Düzenle"
#: src/mpdevil.py:2202
msgid "Clear"
msgstr "Temizle"
#: src/mpdevil.py:2375
msgid "Scroll to current song"
msgstr "Geçerli şarkıya kaydır"
#: src/mpdevil.py:2502
#: src/mpdevil.py:2493
msgid "searching…"
msgstr "aranıyor…"
#: src/mpdevil.py:2507
#: src/mpdevil.py:2498
msgid "connection error"
msgstr "bağlantı hatası"
#: src/mpdevil.py:2509
#: src/mpdevil.py:2500
msgid "lyrics not found"
msgstr "şarkı sözleri bulunamadı"
#: src/mpdevil.py:2634
#: src/mpdevil.py:2612
msgid "Lyrics"
msgstr "Şarkı sözleri"
#: src/mpdevil.py:2692 data/ShortcutsWindow.ui:105
#: src/mpdevil.py:2670 data/ShortcutsWindow.ui:105
msgid "Stop"
msgstr "Durdur"
#: src/mpdevil.py:2696 data/ShortcutsWindow.ui:126
#: src/mpdevil.py:2674 data/ShortcutsWindow.ui:126
msgid "Previous title"
msgstr "Önceki şarkı"
#: src/mpdevil.py:2699 data/ShortcutsWindow.ui:119
#: src/mpdevil.py:2677 data/ShortcutsWindow.ui:119
msgid "Next title"
msgstr "Sonraki şarkı"
#: src/mpdevil.py:2720
#: src/mpdevil.py:2698
msgid "Pause"
msgstr "Duraklat"
#: src/mpdevil.py:2892
#: src/mpdevil.py:2901
msgid "Repeat mode"
msgstr "Tekrar modu"
#: src/mpdevil.py:2893
#: src/mpdevil.py:2902
msgid "Random mode"
msgstr "Rastgele modu"
#: src/mpdevil.py:2894
#: src/mpdevil.py:2903
msgid "Single mode"
msgstr "Tekli modu"
#: src/mpdevil.py:2895
#: src/mpdevil.py:2904
msgid "Consume mode"
msgstr "Tüketim modu"
#: src/mpdevil.py:3109
#: src/mpdevil.py:3125
msgid "Updating Database…"
msgstr "Veri Tabanı Güncelleniyor…"
#: src/mpdevil.py:3157
#: src/mpdevil.py:3173
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "“{socket}” bağlantısı başarısız"
#: src/mpdevil.py:3159
#: src/mpdevil.py:3175
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "“{host}:{port}” bağlantısı başarısız"
#: src/mpdevil.py:3220
#: src/mpdevil.py:3229
msgid "Search"
msgstr "Ara"
#: src/mpdevil.py:3223 data/ShortcutsWindow.ui:85
msgid "Back to current album"
msgstr "Geçerli albüme geri dön"
#: src/mpdevil.py:3232
msgid "Back"
msgstr "Geri"
#: src/mpdevil.py:3237
#: src/mpdevil.py:3246
msgid "Keyboard Shortcuts"
msgstr "Klavye Kısayolları"
#: src/mpdevil.py:3238
#: src/mpdevil.py:3247
msgid "Help"
msgstr "Yardım"
#: src/mpdevil.py:3239
#: src/mpdevil.py:3248
msgid "About mpdevil"
msgstr "mpdevil Hakkında"
#: src/mpdevil.py:3241
#: src/mpdevil.py:3250
msgid "Update Database"
msgstr "Veri Tabanını Güncelle"
#: src/mpdevil.py:3242
#: src/mpdevil.py:3251
msgid "Server Stats"
msgstr "Sunucu İstatistikleri"
#: src/mpdevil.py:3244
#: src/mpdevil.py:3253
msgid "Mini Player"
msgstr "Küçük Oynatıcı"
#: src/mpdevil.py:3245
#: src/mpdevil.py:3254
msgid "Genre Filter"
msgstr "Tür Filtresi"
#: src/mpdevil.py:3254
#: src/mpdevil.py:3263
msgid "Menu"
msgstr "Menü"
#: src/mpdevil.py:3438 src/mpdevil.py:3440
#: src/mpdevil.py:3437 src/mpdevil.py:3439
msgid "connecting…"
msgstr "bağlanıyor…"
#: src/mpdevil.py:3478
#: src/mpdevil.py:3477
msgid "Debug mode"
msgstr "Hata ayıklama modu"
@ -396,26 +391,30 @@ msgid "Update database"
msgstr "Veri tabanını güncelle"
#: data/ShortcutsWindow.ui:44
msgid "Clear playlist"
msgstr "Oynatma listesini temizle"
#: data/ShortcutsWindow.ui:51
msgid "Quit"
msgstr "Çıkış"
#: data/ShortcutsWindow.ui:53
#: data/ShortcutsWindow.ui:60
msgid "Window"
msgstr "Pencere"
#: data/ShortcutsWindow.ui:57
#: data/ShortcutsWindow.ui:64
msgid "Toggle mini player"
msgstr "Küçük oynatıcıyı aç/kapat"
#: data/ShortcutsWindow.ui:64
#: data/ShortcutsWindow.ui:71
msgid "Toggle genre filter"
msgstr "Tür filtresini aç/kapat"
#: data/ShortcutsWindow.ui:71
#: data/ShortcutsWindow.ui:78
msgid "Toggle lyrics"
msgstr "Şarkı sözlerini aç/kapat"
#: data/ShortcutsWindow.ui:78
#: data/ShortcutsWindow.ui:85
msgid "Toggle search"
msgstr "Aramayı aç/kapat"
@ -455,32 +454,40 @@ msgstr "Tekli modunu aç/kapat"
msgid "Toggle consume mode"
msgstr "Tüketim modunu aç/kapat"
#: data/ShortcutsWindow.ui:177
msgid "Playlist"
msgstr "Oynatma listesi"
#~ msgid "Play selected albums and titles immediately"
#~ msgstr "Seçilen albümleri ve şarkıları hemen oynat"
#~ msgid "Show in file manager"
#~ msgstr "Dosya yöneticisinde göster"
#~ msgid "MPD-Tag"
#~ msgstr "MPD-Etiketi"
#~ msgid "Value"
#~ msgstr "Değer"
#~ msgid "Add all titles to playlist"
#~ msgstr "Tüm şarkıları oynatma listesine ekle"
#~ msgid "Directly play all titles"
#~ msgstr "Tüm şarkıları doğrudan oynat"
#~ msgid "Back to current album"
#~ msgstr "Geçerli albüme geri dön"
#~ msgid "Playlist"
#~ msgstr "Oynatma listesi"
#: data/ShortcutsWindow.ui:181
#, fuzzy
msgid "Remove song"
msgstr "Seçilen şarkıyı kaldır"
#~ msgid "Show information"
#~ msgstr "Ek bilgileri göster"
#: data/ShortcutsWindow.ui:188
msgid "Clear playlist"
msgstr "Oynatma listesini temizle"
#~ msgid "Search, Album Dialog and Album List"
#~ msgstr "Ara, Albüm İletişim Kutusu ve Albüm Listesi"
#: data/ShortcutsWindow.ui:195 data/ShortcutsWindow.ui:222
#, fuzzy
msgid "Show information"
msgstr "Ek bilgileri göster"
#: data/ShortcutsWindow.ui:204
msgid "Search, Album Dialog and Album List"
msgstr "Ara, Albüm İletişim Kutusu ve Albüm Listesi"
#: data/ShortcutsWindow.ui:215
#, fuzzy
msgid "Play immediately"
msgstr "Seçilen ögeyi hemen oynat"
#~ msgid "Play immediately"
#~ msgstr "Seçilen ögeyi hemen oynat"
#~ msgid "Profile 1"
#~ msgstr "Profil 1"
@ -494,9 +501,6 @@ msgstr "Seçilen ögeyi hemen oynat"
#~ msgid "Profiles"
#~ msgstr "Profiller"
#~ msgid "Enqueue"
#~ msgstr "Sıraya al"
#~ msgid ""
#~ "Append all titles after the currently playing track and clear the "
#~ "playlist from all other songs"

View File

@ -1,3 +1,3 @@
python-mpd2 >=1.1
python-mpd2 >=3.1
PyGObject
pycairo

View File

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
#
# mpdevil - MPD Client.
# Copyright (C) 2020-2022 Martin Wagner <martin.wagner.dev@gmail.com>
# Copyright (C) 2020-2023 Martin Wagner <martin.wagner.dev@gmail.com>
#
# 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
@ -185,8 +185,8 @@ class MPRISInterface: # TODO emit Seeked if needed
"HasTrackList": (GLib.Variant("b", False), None),
"Identity": (GLib.Variant("s", "mpdevil"), None),
"DesktopEntry": (GLib.Variant("s", "org.mpdevil.mpdevil"), None),
"SupportedUriSchemes": (GLib.Variant("s", "None"), None),
"SupportedMimeTypes": (GLib.Variant("s", "None"), None)},
"SupportedUriSchemes": (GLib.Variant("as", []), None),
"SupportedMimeTypes": (GLib.Variant("as", []), None)},
self._MPRIS_PLAYER_IFACE:
{"PlaybackStatus": (self._get_playback_status, None),
"LoopStatus": (self._get_loop_status, self._set_loop_status),
@ -656,41 +656,11 @@ class Client(MPDClient):
self._start_idle_id=None
self.music_directory=None
self.current_cover=None
self._bus=Gio.bus_get_sync(Gio.BusType.SESSION, None) # used for "show in file manager"
# connect
self._settings.connect("changed::socket-connection", lambda *args: self.reconnect())
# workaround for list group
# see: https://github.com/Mic92/python-mpd2/pull/187
def _parse_objects(self, lines, delimiters=[], lookup_delimiter=False):
obj = {}
for key, value in self._parse_pairs(lines):
key = key.lower()
if lookup_delimiter and key not in delimiters:
delimiters = delimiters + [key]
if obj:
if key in delimiters:
if lookup_delimiter:
if key in obj:
yield obj
obj = obj.copy()
while delimiters[-1] != key:
obj.pop(delimiters[-1], None)
delimiters.pop()
else:
yield obj
obj = {}
elif key in obj:
if not isinstance(obj[key], list):
obj[key] = [obj[key], value]
else:
obj[key].append(value)
continue
obj[key] = value
if obj:
yield obj
_parse_objects_direct = _parse_objects
# overloads to use Song class
def currentsong(self, *args):
return Song(super().currentsong(*args))
@ -868,13 +838,18 @@ class Client(MPDClient):
else:
return None
def can_show_in_file_manager(self, uri):
try:
self._bus.call_sync("org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "StartServiceByName",
GLib.Variant("(su)",("org.freedesktop.FileManager1",0)), GLib.VariantType("(u)"), Gio.DBusCallFlags.NONE, -1, None)
except GLib.GError:
return False
return self.get_absolute_path(uri) is not None
def show_in_file_manager(self, uri):
if (path:=self.get_absolute_path(uri)) is not None:
file=Gio.File.new_for_path(path)
bus=Gio.bus_get_sync(Gio.BusType.SESSION, None)
proxy=Gio.DBusProxy.new_sync(bus, Gio.DBusProxyFlags.NONE, None, "org.freedesktop.FileManager1",
"/org/freedesktop/FileManager1", "org.freedesktop.FileManager1", None)
proxy.call_sync("ShowItems", GLib.Variant("(ass)", ((file.get_uri(),),"")), Gio.DBusCallFlags.NONE, 500, None)
file=Gio.File.new_for_path(self.get_absolute_path(uri))
self._bus.call_sync("org.freedesktop.FileManager1", "/org/freedesktop/FileManager1", "org.freedesktop.FileManager1",
"ShowItems", GLib.Variant("(ass)", ((file.get_uri(),),"")), None, Gio.DBusCallFlags.NONE, -1, None)
def toggle_play(self):
status=self.status()
@ -1358,7 +1333,7 @@ class SongsList(TreeView):
rect=Gdk.Rectangle()
rect.x,rect.y=x,y
self._menu.set_pointing_to(rect)
self._show_action.set_enabled(self._client.get_absolute_path(uri) is not None)
self._show_action.set_enabled(self._client.can_show_in_file_manager(uri))
self._menu.popup()
def _on_row_activated(self, widget, path, view_column):
@ -1367,9 +1342,7 @@ class SongsList(TreeView):
def _on_button_press_event(self, widget, event):
if (path_re:=widget.get_path_at_pos(int(event.x), int(event.y))) is not None:
path=path_re[0]
if event.button == 1 and event.type == Gdk.EventType._2BUTTON_PRESS:
self._client.files_to_playlist([self._store[path][3]], "play")
elif event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
if event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
self._client.files_to_playlist([self._store[path][3]], "append")
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
uri=self._store[path][3]
@ -1614,7 +1587,7 @@ class SelectionList(TreeView):
return len(self._store)-1
def select_path(self, path):
self.set_cursor(path)
self.set_cursor(path, None, False)
def select(self, item):
row_num=len(self._store)
@ -2009,7 +1982,7 @@ class AlbumView(Gtk.Box):
# connect
self.connect("hide", lambda *args: print("test"))
event_box.connect("button-press-event", self._on_button_press_event)
event_box.connect("button-release-event", self._on_button_release_event)
# packing
event_box.add(self._cover)
@ -2055,7 +2028,7 @@ class AlbumView(Gtk.Box):
else:
title_artist=f"<b>{GLib.markup_escape_text(song['title'][0])}</b> • {GLib.markup_escape_text(artist)}"
self.songs_list.append(song["track"][0], title_artist, str(song["duration"]), song["file"], song["title"][0])
self.songs_list.save_set_cursor(Gtk.TreePath(0))
self.songs_list.save_set_cursor(Gtk.TreePath(0), None, False)
self.songs_list.columns_autosize()
if (cover:=self._client.get_cover({"file": songs[0]["file"], "albumartist": albumartist, "album": album})) is None:
size=self._settings.get_int("album-cover")*1.5
@ -2065,9 +2038,10 @@ class AlbumView(Gtk.Box):
size=self._settings.get_int("album-cover")*1.5
self._cover.set_from_pixbuf(cover.get_pixbuf(size))
def _on_button_press_event(self, widget, event):
if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS:
self.emit("close")
def _on_button_release_event(self, widget, event):
if event.button == 1:
if 0 <= event.x <= widget.get_allocated_width() and 0 <= event.y <= widget.get_allocated_height():
self.emit("close")
class Browser(Gtk.Paned):
def __init__(self, client, settings):
@ -2224,7 +2198,7 @@ class PlaylistView(TreeView):
rect=Gdk.Rectangle()
rect.x,rect.y=x,y
self._menu.set_pointing_to(rect)
self._show_action.set_enabled(self._client.get_absolute_path(uri) is not None)
self._show_action.set_enabled(self._client.can_show_in_file_manager(uri))
self._menu.popup()
def _clear(self, *args):
@ -2260,11 +2234,10 @@ class PlaylistView(TreeView):
self._store.remove(self._store.get_iter(path))
def _scroll_to_path(self, path):
self.set_cursor(path, None, False)
self.save_scroll_to_cell(path, None, True, 0.25)
def _refresh_selection(self): # Gtk.TreePath(len(self._store) is used to generate an invalid TreePath (needed to unset cursor)
if not self._menu.get_visible():
self.set_cursor(Gtk.TreePath(len(self._store)), None, False)
def _refresh_selection(self):
song=self._client.status().get("song")
if song is None:
self._unselect()
@ -2411,9 +2384,6 @@ class PlaylistWindow(Gtk.Overlay):
GLib.idle_add(callback) # workaround for the Gtk bug from above
def _on_back_to_current_song_button_clicked(self, *args):
self._treeview.set_cursor(Gtk.TreePath(len(self._treeview.get_model())), None, False) # unset cursor
if self._treeview.get_property("selected-path") is not None:
self._treeview.get_selection().select_path(self._treeview.get_property("selected-path"))
self._treeview.scroll_to_selected_title()
####################
@ -2458,7 +2428,14 @@ class LyricsWindow(Gtk.ScrolledWindow):
# text buffer
self._text_buffer=self._text_view.get_buffer()
# css zoom
self._scale=100
self._provider=Gtk.CssProvider()
self._text_view.get_style_context().add_provider(self._provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
# connect
self._text_view.connect("scroll-event", self._on_scroll_event)
self._text_view.connect("key-press-event", self._on_key_press_event)
self._client.emitter.connect("disconnected", self._on_disconnected)
self._song_changed=self._client.emitter.connect("current_song", self._refresh)
self._client.emitter.handler_block(self._song_changed)
@ -2479,6 +2456,11 @@ class LyricsWindow(Gtk.ScrolledWindow):
def disable(self, *args):
self._client.emitter.handler_block(self._song_changed)
def _zoom(self, scale):
if 30 <= scale <= 500:
self._provider.load_from_data(bytes(f"textview{{font-size: {scale}%}}", "utf-8"))
self._scale=scale
def _get_lyrics(self, title, artist):
title=urllib.parse.quote_plus(title)
artist=urllib.parse.quote_plus(artist)
@ -2513,6 +2495,25 @@ class LyricsWindow(Gtk.ScrolledWindow):
self._displayed_song_file=None
self._text_buffer.set_text("", -1)
def _on_scroll_event(self, widget, event):
if event.state & Gdk.ModifierType.CONTROL_MASK:
if event.delta_y < 0:
self._zoom(self._scale+10)
elif event.delta_y > 0:
self._zoom(self._scale-10)
return True
else:
return False
def _on_key_press_event(self, widget, event):
if event.state & Gdk.ModifierType.CONTROL_MASK:
if event.keyval == Gdk.keyval_from_name("plus"):
self._zoom(self._scale+10)
elif event.keyval == Gdk.keyval_from_name("minus"):
self._zoom(self._scale-10)
elif event.keyval == Gdk.keyval_from_name("0"):
self._zoom(100)
def _on_disconnected(self, *args):
self._displayed_song_file=None
self._text_buffer.set_text("", -1)
@ -2801,7 +2802,8 @@ class SeekBar(Gtk.Box):
self._client.seekcur(value)
def _on_label_button_release_event(self, widget, event, scroll_type):
self._scale.emit("move-slider", scroll_type.get(event.button, Gtk.ScrollType.NONE))
if 0 <= event.x <= widget.get_allocated_width() and 0 <= event.y <= widget.get_allocated_height():
self._scale.emit("move-slider", scroll_type.get(event.button, Gtk.ScrollType.NONE))
def _on_label_button_press_event(self, widget, event):
if event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
@ -2913,7 +2915,7 @@ class PlaybackOptions(Gtk.ButtonBox):
# css
self._provider=Gtk.CssProvider()
self._provider.load_from_data(b"""image {color: @error_color;}""") # red icon
self._provider.load_from_data(b"image {color: @error_color;}") # red icon
# connect
for name in ("repeat", "random", "consume"):
@ -2941,7 +2943,8 @@ class PlaybackOptions(Gtk.ButtonBox):
self._buttons["single"][0].handler_block(self._buttons["single"][1])
self._buttons["single"][0].set_active((val in ("1", "oneshot")))
if val == "oneshot":
self._buttons["single"][0].get_image().get_style_context().add_provider(self._provider, 600)
self._buttons["single"][0].get_image().get_style_context().add_provider(
self._provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
else:
self._buttons["single"][0].get_image().get_style_context().remove_provider(self._provider)
self._buttons["single"][0].handler_unblock(self._buttons["single"][1])