pax_global_header00006660000000000000000000000064132401435730014514gustar00rootroot0000000000000052 comment=1a546d85757073bb4a5929375691b3d16be2e573 alternative-toolbar-0.18.0/000077500000000000000000000000001324014357300155605ustar00rootroot00000000000000alternative-toolbar-0.18.0/.gitignore000066400000000000000000000007511324014357300175530ustar00rootroot00000000000000*.py[co] # Packages *.egg *.egg-info dist build eggs parts .idea bin var sdist develop-eggs .installed.cfg # Installer logs pip-log.txt # Unit test / coverage reports .coverage .tox #Translations *.mo *.gmo #Mr Developer .mr.developer.cfg img/usericons/popups.xml *~ aclocal.m4 autom4te.cache/ compile configure install-sh missing Makefile Makefile.in config.* po/Makefile* po/POTFILES po/stamp-it m4/intltool.m4 alternative-toolbar.plugin po/.intltool-merge-cache *.gschema.valid alternative-toolbar-0.18.0/ChangeLog000066400000000000000000001277461324014357300173530ustar00rootroot00000000000000commit a92912f4572cdffc1fef91c1a4e563ff017ddccd Author: David Mohammed Date: Sun Feb 11 15:19:07 2018 +0000 Bump copyright year alternative-toolbar.py | 2 +- alttoolbar_controller.py | 2 +- alttoolbar_plugins.py | 2 +- alttoolbar_preferences.py | 2 +- alttoolbar_rb3compat.py | 2 +- alttoolbar_repeat.py | 2 +- alttoolbar_sidebar.py | 2 +- alttoolbar_type.py | 2 +- alttoolbar_widget.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) commit 0a96f70a75a7f6f4e624b8ad4a10b0d8e76aa1dc Author: David Mohammed Date: Sun Feb 11 15:10:11 2018 +0000 Update ChangeLog ChangeLog | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) commit 336f92355e3bf99f633e27051636db53fff877fe Author: David Mohammed Date: Sun Feb 11 15:03:36 2018 +0000 Bump version README.md | 2 +- alternative-toolbar.plugin.in | 4 ++-- configure.ac | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit a5b53d8a3f6bddb116b15358ad1e5deecf881ed1 Author: David Mohammed Date: Sun Feb 11 14:58:15 2018 +0000 Install appdata to the correct system file location Makefile.am | 10 +++++++++- ... org.gnome.Rhythmbox.Plugin.AlternativeToolbar.appdata.xml} | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) commit e5bb7817910cad418adeddeff495521499685255 Merge: f9275d7 ca74921 Author: David Mohammed Date: Sun Feb 11 13:41:16 2018 +0000 Merge pull request #117 from yotamN/master Added a metainfo file commit f9275d7c130e95dde40f48dc897f52a06dc8d027 Author: David Mohammed Date: Sat Feb 10 13:56:11 2018 +0000 Add a toggle source toolbar button to headerbar to make this more discoverable alttoolbar_type.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 429485656b4f45f7f57e60f95805db44fa26c07b Author: David Mohammed Date: Fri Feb 9 23:17:15 2018 +0000 Check visibility of sources before adding #112 alttoolbar_sidebar.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d2bd08f62e584800543bc35fa07309e574ca7d88 Author: David Mohammed Date: Fri Feb 9 17:03:22 2018 +0000 Change for more logical help/about symbolic icons #90 alttoolbar_plugins.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ce8769585153b2e8f3853bbb723a9ecfe408b461 Author: David Mohammed Date: Fri Feb 9 16:40:09 2018 +0000 Don't add sources that are marked as empty #112 alttoolbar_controller.py | 3 ++- alttoolbar_sidebar.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) commit bf96af41e9f0974a460514434fe61dc3c81a39a0 Author: David Mohammed Date: Fri Feb 9 16:04:40 2018 +0000 Ensure headerbar titles are translated #114 alttoolbar_preferences.py | 6 ++++++ alttoolbar_type.py | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) commit bea057be66672a0eab33ab75c71cdc92cd3b3a44 Author: David Mohammed Date: Fri Feb 9 15:41:33 2018 +0000 Latest translations po/af.po | 71 ++++++++----- po/bg.po | 71 ++++++++----- po/ca.po | 71 ++++++++----- po/cs.po | 41 +++++--- po/da.po | 305 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/de.po | 75 ++++++++------ po/el.po | 71 ++++++++----- po/en_AU.po | 71 ++++++++----- po/en_GB.po | 75 ++++++++------ po/en_US.po | 71 ++++++++----- po/eo.po | 71 ++++++++----- po/es.po | 81 +++++++++------ po/fi.po | 71 ++++++++----- po/fr.po | 71 ++++++++----- po/id.po | 71 ++++++++----- po/it.po | 71 ++++++++----- po/ja.po | 75 ++++++++------ po/kab.po | 289 ++++++++++++++++++++++++++++++++++++++++++++++++++++ po/ko.po | 71 ++++++++----- po/ms.po | 71 ++++++++----- po/pl.po | 71 ++++++++----- po/pt.po | 71 ++++++++----- po/pt_BR.po | 71 ++++++++----- po/ru.po | 71 ++++++++----- po/sk.po | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/sl.po | 71 ++++++++----- po/sr.po | 71 ++++++++----- po/sr@latin.po | 71 ++++++++----- po/sv.po | 71 ++++++++----- po/th.po | 71 ++++++++----- po/uk.po | 71 ++++++++----- po/zh_CN.po | 71 ++++++++----- po/zh_TW.po | 71 ++++++++----- 33 files changed, 2225 insertions(+), 806 deletions(-) commit f320cb9548dd60869c0b874b6f158727622f8f99 Author: David Mohammed Date: Fri Feb 9 15:25:32 2018 +0000 Add checks for invalid set_text situations - hopefully fixes a few crashes alttoolbar_sidebar.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) commit ca74921bf4b967a83203afde4f86596fb95d56f3 Author: Yotam Nachum Date: Thu Dec 28 16:07:40 2017 +0200 Added a metainfo tag metainfo/.metainfo.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit e2ddd1fc06631ffc090f5ba4cb6e79aa137553ab Author: David Mohammed Date: Thu Oct 12 22:03:27 2017 +0000 Hide RBImportErrorsSource #112 Rhythmbox no longer displays an import errors source; this was originally displayed when errors were detected from media player imports. We similarly have to hard-code this non-display of this source alttoolbar_controller.py | 3 +-- alttoolbar_sidebar.py | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) commit 2b1de62aba70693e0d1a34c12ebeebbff20a4c79 Author: David Mohammed Date: Sun Oct 1 21:03:32 2017 +0100 regen pot to get repeat strings #111 po/POTFILES.in | 1 + po/alternative-toolbar.pot | 71 ++++++++++++++++++++++++++++------------------ 2 files changed, 45 insertions(+), 27 deletions(-) commit f89a42f44ac202450f3349ae3823a12c507737a3 Author: David Mohammed Date: Tue Sep 12 23:48:15 2017 +0100 add changelog ChangeLog | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) commit be100104fb062c18d00df72292763b9bb23ac756 Author: David Mohammed Date: Wed Sep 13 21:02:03 2017 +0100 update readme.html readme.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 98c118656bfd882fad4a84ce31a855b7832ba022 Merge: aee82ab 17198ea Author: David Mohammed Date: Wed Sep 13 21:00:02 2017 +0100 Merge branch 'master' of https://github.com/fossfreedom/alternative-toolbar commit aee82ab2d548acb54ab4207821e18d3dee1b04a5 Author: David Mohammed Date: Wed Sep 13 20:59:40 2017 +0100 bump version README.md | 2 +- alternative-toolbar.plugin.in | 2 +- configure.ac | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 17198eabe4edb9f038b3332e72c602958ea03c93 Author: David Mohammed Date: Wed Sep 13 20:42:58 2017 +0100 ensure blank source names are not attempted to be translated #110 alttoolbar_sidebar.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) commit 3608790ed35f06f879beec045dd18b0323f0fb5e Author: David Mohammed Date: Sun Sep 10 09:49:54 2017 +0100 separate appmenu - hamburger now always visible #108 alttoolbar_type.py | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) commit 5dd29bc7da1b4e5baccbb96742bbea0a8c6c3b7b Author: David Mohammed Date: Wed Aug 30 11:00:36 2017 +0100 add missing LINGUAS and latest cs translation po/LINGUAS | 2 ++ po/cs.po | 47 +++++++++++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 16 deletions(-) commit 893968f2cf3f534a61fa2053dd70d620f2abaebd Merge: ff92aa7 86bf583 Author: David Mohammed Date: Wed Aug 30 10:46:28 2017 +0100 Merge pull request #109 from AsciiWolf/patch-1 Update LINGUAS to include the Czech translation commit 86bf58372250913620b6c9c01f8a4ce7986b244f Author: AsciiWolf Date: Wed Aug 30 10:46:49 2017 +0200 update LINGUAS to include the Czech translation po/LINGUAS | 1 + 1 file changed, 1 insertion(+) commit ff92aa7cce77137831d2951790b71f37a2d202fb Author: David Mohammed Date: Sun Aug 27 20:45:11 2017 +0100 add new cs translations - update translation count in README README.md | 2 +- po/cs.po | 276 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 277 insertions(+), 1 deletion(-) commit 3774e6f80ef71de9ecd6d22750c38b7a92f69b71 Author: David Mohammed Date: Fri Aug 11 14:13:58 2017 +0100 Update README.md README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 73ba978234a3221849c4ccd3f4db51076dde953e Author: David Mohammed Date: Fri Aug 11 14:10:36 2017 +0100 add debian build dependencies #107 README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d25dc417bd02998c4972c28d0950207729a6f24e Merge: ac62cde 79ef729 Author: David Mohammed Date: Fri Aug 11 07:46:10 2017 +0100 Merge pull request #106 from fitojb/master Update Spanish translation commit 79ef729346db9061dade47d2110edbefbade0595 Author: Adolfo Jayme Barrientos Date: Thu Aug 10 23:45:18 2017 -0500 Update Spanish translation po/es.po | 90 +++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 46 insertions(+), 44 deletions(-) commit ac62cde68b99cfc95e9e4b863894fc747c55096c Author: David Mohammed Date: Thu Aug 10 22:18:35 2017 +0100 enlarge search entry #94 alttoolbar_controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2b332519b6e7316655c8179e1b2f633482ae4b83 Author: David Mohammed Date: Thu Aug 10 21:24:50 2017 +0100 correctly handle translated titles #105 alttoolbar_type.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 9128c3d5bad991b715a64e908e810021cb1d5c55 Author: David Mohammed Date: Wed Aug 9 21:56:36 2017 +0100 changelog changes ChangeLog | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 298 insertions(+), 42 deletions(-) commit fd78de8991e56acc3c617d948dc4e190622dc6e8 Author: David Mohammed Date: Wed Aug 9 21:51:03 2017 +0100 minor pep8 alternative-toolbar.py | 3 ++- alttoolbar_type.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) commit 1844b2c14bd99b77ef5393acd8b8563d7c952344 Author: David Mohammed Date: Wed Aug 9 21:36:50 2017 +0100 0.17.4 label README.md | 2 +- alternative-toolbar.plugin.in | 4 ++-- configure.ac | 2 +- readme.html | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit 2973c8d54456b583d5b34d73f845f06acc01c48e Author: David Mohammed Date: Wed Aug 9 21:32:44 2017 +0100 remove unnecessary LICENSE from built package Makefile.am | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit 36d4aaed153d57162bd71178dd503615ca3af364 Author: fossfreedom Date: Tue Aug 8 20:19:58 2017 +0100 much larger searchbar #94 alttoolbar_controller.py | 2 ++ 1 file changed, 2 insertions(+) commit cc6514969db8e9147f4d6990ed364232fbfe473a Author: fossfreedom Date: Tue Aug 8 20:00:19 2017 +0100 permissions for ja.po po/ja.po | 0 1 file changed, 0 insertions(+), 0 deletions(-) commit 2ca7a98aaeea96e739f2b4b2d26b6e9aee4f5ea2 Author: fossfreedom Date: Tue Aug 8 19:59:07 2017 +0100 latest ja translation po/ja.po | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) commit c67a739b96986df9b5019650de02b9b00e1d9d60 Author: fossfreedom Date: Tue Aug 8 19:29:13 2017 +0100 set category labels whenever the source changes #87 alttoolbar_type.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit fedb632f799356f411ff9ac654031e5a536d702c Author: fossfreedom Date: Tue Aug 8 18:58:48 2017 +0100 resolve breakage if XDG_CURRENT_DESKTOP is not set #102 alttoolbar_type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a8aafe45861ffa61bb0f78bbb70b7427dcdb4208 Merge: 49989f4 1daae58 Author: David Mohammed Date: Fri Jul 14 05:39:50 2017 +0100 Merge pull request #103 from knight-corvi/master Add gi module before using gi.require_version commit 1daae5835723bdb83f3a51c50dec5d4c2097d80a Author: Joaquin Mendez Date: Thu Jul 13 17:43:14 2017 -0700 Add gi module before using gi.require_version Rhythmbox fails to load the plugin if the gi module is not imported. alternative-toolbar.py | 1 + alttoolbar_preferences.py | 1 + 2 files changed, 2 insertions(+) commit 49989f434522ec5ea69048fab3a8c9c7d920e1ed Author: David Mohammed Date: Thu Jul 13 23:56:45 2017 +0100 some cleanup alternative-toolbar.py | 1 + alttoolbar_preferences.py | 1 + alttoolbar_type.py | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) commit 0dbac7d02f4fd8b9daefeca44a0229613a6b0233 Author: David Mohammed Date: Thu Jul 13 23:44:17 2017 +0100 update copyright year alternative-toolbar.py | 2 +- alttoolbar_controller.py | 2 +- alttoolbar_plugins.py | 2 +- alttoolbar_preferences.py | 2 +- alttoolbar_rb3compat.py | 2 +- alttoolbar_repeat.py | 2 +- alttoolbar_sidebar.py | 2 +- alttoolbar_type.py | 2 +- alttoolbar_widget.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) commit 574922e83343a0fffda04dc0a22c8217e7e892b6 Author: David Mohammed Date: Wed Jul 5 16:38:01 2017 +0100 latest translations po/af.po | 32 ++++++++--------- po/bg.po | 32 ++++++++--------- po/ca.po | 32 ++++++++--------- po/de.po | 32 ++++++++--------- po/el.po | 32 ++++++++--------- po/en_AU.po | 32 ++++++++--------- po/en_GB.po | 32 ++++++++--------- po/en_US.po | 32 ++++++++--------- po/eo.po | 34 +++++++++--------- po/es.po | 32 ++++++++--------- po/fi.po | 32 ++++++++--------- po/fr.po | 32 ++++++++--------- po/id.po | 32 ++++++++--------- po/it.po | 32 ++++++++--------- po/ja.po | 106 +++++++++++++++++++++++++++++++-------------------------- po/ko.po | 34 +++++++++--------- po/ms.po | 32 ++++++++--------- po/pl.po | 32 ++++++++--------- po/pt.po | 32 ++++++++--------- po/pt_BR.po | 32 ++++++++--------- po/ru.po | 32 ++++++++--------- po/sl.po | 32 ++++++++--------- po/sr.po | 32 ++++++++--------- po/sr@latin.po | 32 ++++++++--------- po/sv.po | 32 ++++++++--------- po/th.po | 32 ++++++++--------- po/uk.po | 32 ++++++++--------- po/zh_CN.po | 32 ++++++++--------- po/zh_TW.po | 32 ++++++++--------- 29 files changed, 508 insertions(+), 498 deletions(-) commit f597247e16d80457a3af37943ef0b5c969411b28 Merge: 2e22f7e 497c0bb Author: David Mohammed Date: Tue Apr 18 09:48:19 2017 +0100 Merge pull request #101 from bryant1410/master Fix broken headings in Markdown files commit 497c0bbf8534daf5321a88394d8aac973386da71 Author: Santiago Castro Date: Tue Apr 18 03:09:29 2017 -0300 Fix broken Markdown headings README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e22f7ec11e5f6be6304cee24f7b868d471118fa Author: David Mohammed Date: Fri Mar 10 16:32:16 2017 +0000 source toolbar should always be visible of podcasts and radio alttoolbar_controller.py | 16 +++++++++++++++- alttoolbar_type.py | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) commit d1ece552fbc331de9054c9817816f9ee507fb4f8 Author: David Mohammed Date: Fri Mar 10 12:46:15 2017 +0000 code check for pages with no entry-view method #95 alttoolbar_type.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) commit 4c13fae703822bef072a1de76cc66f5b1e291ab8 Author: David Mohammed Date: Fri Mar 10 12:34:32 2017 +0000 only columns need to be reorderable #86 alttoolbar_type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bb05abbba8de7b7ae359aef92f8b1a7c9fb60d47 Author: David Mohammed Date: Fri Mar 10 12:18:01 2017 +0000 fix no obj error when using standard toolbars alternative-toolbar.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 9f4323352f3f501fe281c6ac2eefed32e915d648 Author: David Mohammed Date: Wed Mar 1 12:33:59 2017 +0000 latest launchpad translations po/af.po | 6 +- po/bg.po | 6 +- po/ca.po | 6 +- po/de.po | 12 +-- po/el.po | 6 +- po/en_AU.po | 6 +- po/en_GB.po | 6 +- po/en_US.po | 6 +- po/eo.po | 6 +- po/es.po | 6 +- po/fi.po | 6 +- po/fr.po | 17 ++-- po/id.po | 6 +- po/it.po | 6 +- po/ja.po | 6 +- po/ko.po | 16 ++-- po/ms.po | 6 +- po/pl.po | 6 +- po/pt.po | 6 +- po/pt_BR.po | 6 +- po/ru.po | 6 +- po/sl.po | 6 +- po/sr.po | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/sr@latin.po | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ po/sv.po | 9 +- po/th.po | 6 +- po/uk.po | 6 +- po/zh_CN.po | 6 +- po/zh_TW.po | 6 +- 29 files changed, 675 insertions(+), 97 deletions(-) commit 9089bda44fbb5936e4251bf97710d79e2ae43eff Author: fossfreedom Date: Sat Nov 5 20:59:41 2016 +0000 update ChangeLog ChangeLog | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit bc804c9012a4ed33e91df2533842687fc0dd7d84 Author: fossfreedom Date: Sat Nov 5 20:55:56 2016 +0000 v0.17.3 updates README.md | 2 +- alternative-toolbar.plugin.in | 2 +- configure.ac | 2 +- readme.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit f40a5d2bfd2e7c8a623f64dd8e886feebe540ba1 Author: fossfreedom Date: Mon Sep 26 07:39:08 2016 +0100 latest zh_CN translation po/zh_CN.po | 116 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 59 insertions(+), 57 deletions(-) commit 3fe2958a75bd0ce8f9e3fe3422de191541ab204e Author: fossfreedom Date: Sun Aug 28 16:39:40 2016 +0100 add v0.17.2 changelog ChangeLog | 449 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 444 insertions(+), 5 deletions(-) commit afe807c46459e85449ba421310a4378c93417764 Author: fossfreedom Date: Sun Aug 28 16:30:14 2016 +0100 email address change README.md | 2 +- alternative-toolbar.plugin.in | 2 +- configure.ac | 2 +- readme.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) commit 366c098cb7c9ce92ca3783a1bc091d063d8ca28c Author: fossfreedom Date: Sun Aug 28 16:24:37 2016 +0100 0.17.2 version info README.md | 2 +- alternative-toolbar.plugin.in | 2 +- readme.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit dcb58981255c834d7c9f6d62f72f8976d951b8a6 Author: fossfreedom Date: Sun Aug 28 16:23:43 2016 +0100 add new pl translation po/LINGUAS | 1 + po/pl.po | 293 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 294 insertions(+) commit 9810cc687d1ae5f78c48d82a958285eb82feddfc Author: fossfreedom Date: Sun Aug 28 15:56:26 2016 +0100 use GTK equiv method to workaround #97 alttoolbar_rb3compat.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit c5b9af472860274a041b6aeba05866e1aa54777a Author: fossfreedom Date: Wed May 18 23:04:09 2016 +0100 update html readme readme.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 4902d4539e2b5ba16f9c3bae7c20c2a5e1e5f5e9 Author: fossfreedom Date: Wed May 18 22:22:20 2016 +0100 update Changelog for V0.17.1 ChangeLog | 235 ++++++++++++++------------------------------------------------ 1 file changed, 53 insertions(+), 182 deletions(-) commit 4de2cd39cfd91984b42a2d21af808578872c9ba9 Author: fossfreedom Date: Mon May 16 00:04:59 2016 +0100 py checks cleanup alttoolbar_rb3compat.py | 5 ++--- alttoolbar_type.py | 14 +++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) commit 7c23c4d98f057b0e440b62fef85e355eeb27de35 Author: fossfreedom Date: Sun May 15 23:03:56 2016 +0100 release README.md | 2 +- po/af.po | 44 ++++++++++++++++++++----------------- po/bg.po | 44 ++++++++++++++++++++----------------- po/ca.po | 46 ++++++++++++++++++++------------------ po/de.po | 44 ++++++++++++++++++++----------------- po/el.po | 44 ++++++++++++++++++++----------------- po/en_AU.po | 48 +++++++++++++++++++++------------------- po/en_GB.po | 46 ++++++++++++++++++++------------------ po/en_US.po | 46 ++++++++++++++++++++------------------ po/eo.po | 44 ++++++++++++++++++++----------------- po/es.po | 46 ++++++++++++++++++++------------------ po/fi.po | 46 ++++++++++++++++++++------------------ po/fr.po | 44 ++++++++++++++++++++----------------- po/id.po | 44 ++++++++++++++++++++----------------- po/it.po | 50 +++++++++++++++++++++++------------------- po/ja.po | 46 ++++++++++++++++++++------------------ po/ko.po | 44 ++++++++++++++++++++----------------- po/ms.po | 44 ++++++++++++++++++++----------------- po/pt.po | 46 ++++++++++++++++++++------------------ po/pt_BR.po | 73 ++++++++++++++++++++++++++++++++++--------------------------- po/ru.po | 44 ++++++++++++++++++++----------------- po/sl.po | 44 ++++++++++++++++++++----------------- po/sv.po | 44 ++++++++++++++++++++----------------- po/th.po | 44 ++++++++++++++++++++----------------- po/uk.po | 44 ++++++++++++++++++++----------------- po/zh_CN.po | 44 ++++++++++++++++++++----------------- po/zh_TW.po | 44 ++++++++++++++++++++----------------- 27 files changed, 654 insertions(+), 545 deletions(-) commit e70674bc3d6e0b5952f27b8a54056824d5a2d25b Author: fossfreedom Date: Thu May 12 19:36:24 2016 +0100 translation generation with compilation version bump alternative-toolbar.plugin.in | 2 +- configure.ac | 2 +- po/alternative-toolbar.pot | 272 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 274 insertions(+), 2 deletions(-) commit b58299141889426c354894711c7c251c8d847896 Author: fossfreedom Date: Thu May 12 19:29:09 2016 +0100 refactor and bump version to release-candidate README.md | 3 ++- alternative-toolbar.py | 2 +- alttoolbar_rb3compat.py | 1 + alttoolbar_type.py | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) commit a6c230f3e8f8b5e38aa7903c98a34f825500dac3 Author: fossfreedom Date: Thu May 12 19:25:13 2016 +0100 correctly display app-menu where the environment says it is a GNOME based environment alttoolbar_type.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 4e76c494fa20697034fbf058879818f8be463a79 Author: fossfreedom Date: Thu May 12 18:43:26 2016 +0100 add dark-theme option - issue #84 alternative-toolbar.py | 1 + alttoolbar_preferences.py | 9 ++++++++- alttoolbar_type.py | 5 +++++ ....rhythmbox.plugins.alternative_toolbar.gschema.xml | 6 ++++++ ui/altpreferences.ui | 19 +++++++++++++++++-- 5 files changed, 37 insertions(+), 3 deletions(-) commit b43ac4a8b170d686674fc88e5b2d94b5bcef2073 Author: fossfreedom Date: Thu Mar 17 21:36:44 2016 +0000 not all views have a propertyview which causes an error alttoolbar_type.py | 3 +++ 1 file changed, 3 insertions(+) commit 06abee5a518871db93168bb1435590fe0b69f72e Author: fossfreedom Date: Thu Feb 18 19:53:37 2016 +0000 latest translations id de po/de.po | 34 +++++++++++++++++----------------- po/id.po | 34 +++++++++++++++++----------------- 2 files changed, 34 insertions(+), 34 deletions(-) commit 02c6b78279d24f1dd71c3d228d731a7400f9ec96 Author: fossfreedom Date: Sat Feb 13 23:41:13 2016 +0000 latest sv translation README.md | 2 +- po/LINGUAS | 1 + po/sv.po | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 271 insertions(+), 1 deletion(-) commit 6398683e2eb2bba0fb38fc10964d586e257ba320 Author: fossfreedom Date: Sat Feb 13 23:36:09 2016 +0000 add option to force display the app-menu - issue #81 README.md | 3 +++ alternative-toolbar.py | 2 ++ alttoolbar_preferences.py | 3 ++- alttoolbar_type.py | 4 ++-- schema/org.gnome.rhythmbox.plugins.alternative_toolbar.gschema.xml | 7 +++++++ 5 files changed, 16 insertions(+), 3 deletions(-) commit 99f9e35c715b2b5c686dce3560ede21e7eebd410 Author: fossfreedom Date: Sat Feb 13 23:05:12 2016 +0000 latest translations and various cleanups README.md | 6 +- alternative-toolbar.py | 2 +- alttoolbar_controller.py | 2 +- alttoolbar_plugins.py | 2 +- alttoolbar_preferences.py | 14 +- alttoolbar_rb3compat.py | 3 +- alttoolbar_repeat.py | 2 +- alttoolbar_sidebar.py | 2 +- alttoolbar_type.py | 42 +++--- alttoolbar_widget.py | 2 +- po/LINGUAS | 1 + po/af.po | 314 +++++++++++++++++++----------------------- po/bg.po | 318 ++++++++++++++++++++---------------------- po/ca.po | 320 ++++++++++++++++++++----------------------- po/de.po | 319 ++++++++++++++++++++---------------------- po/el.po | 322 ++++++++++++++++++++----------------------- po/en_AU.po | 288 ++++++++++++++++++++++++++++++++++++++ po/en_GB.po | 319 ++++++++++++++++++++---------------------- po/en_US.po | 319 ++++++++++++++++++++---------------------- po/eo.po | 314 +++++++++++++++++++----------------------- po/es.po | 321 ++++++++++++++++++++----------------------- po/fi.po | 316 +++++++++++++++++++----------------------- po/fr.po | 325 ++++++++++++++++++++----------------------- po/id.po | 319 ++++++++++++++++++++---------------------- po/it.po | 324 ++++++++++++++++++++----------------------- po/ja.po | 314 +++++++++++++++++++----------------------- po/ko.po | 342 +++++++++++++++++++++------------------------- po/ms.po | 320 ++++++++++++++++++++----------------------- po/pt.po | 325 ++++++++++++++++++++----------------------- po/pt_BR.po | 321 ++++++++++++++++++++----------------------- po/ru.po | 318 ++++++++++++++++++++---------------------- po/sl.po | 318 ++++++++++++++++++++---------------------- po/th.po | 317 ++++++++++++++++++++---------------------- po/tr.po | 321 ++++++++++++++++++++----------------------- po/uk.po | 321 ++++++++++++++++++++----------------------- po/zh_CN.po | 314 +++++++++++++++++++----------------------- po/zh_TW.po | 332 ++++++++++++++++++++------------------------ readme.html | 6 +- 38 files changed, 3989 insertions(+), 4396 deletions(-) commit e9a4563aef02e02212ea99d1f88aada4a091900d Author: fossfreedom Date: Thu Feb 11 19:55:21 2016 +0000 remember search text when using headerbars - issue #75 alttoolbar_type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cbd8ba2c20d611d53c4e0d7d92f90a485c0a774c Author: fossfreedom Date: Sun Feb 7 23:33:30 2016 +0000 temporarily backout column size changing code - issue #79 alttoolbar_type.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) commit 87766c001067a5ca4286eae73f081b7229e40bdc Author: fossfreedom Date: Sun Feb 7 23:15:40 2016 +0000 readd missing schema file - issue #76 ...ythmbox.plugins.alternative_toolbar.gschema.xml | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) commit ee1ece23157e6e4b746515fdb45422e82ca414dc Author: fossfreedom Date: Sun Feb 7 22:37:51 2016 +0000 add new category display option - issue #76 README.md | 1 + alternative-toolbar.py | 3 + alttoolbar_preferences.py | 24 ++++++- alttoolbar_type.py | 36 ++++++++++ ...ythmbox.plugins.alternative_toolbar.gschema.xml | 71 -------------------- ui/altpreferences.ui | 77 ++++++++++++++++++++-- 6 files changed, 136 insertions(+), 76 deletions(-) commit 19c45665d90844e617a8bbb420f8d02154e1ee33 Author: fossfreedom Date: Mon Jan 25 21:49:29 2016 +0000 toggle search button using CTRL+F - issue #77 alttoolbar_type.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 36260f8039dc45f845b75fc51792f1e250ee4791 Author: fossfreedom Date: Sat Jan 23 20:01:58 2016 +0000 remember the column width - issue #74 README.md | 3 ++- alternative-toolbar.plugin.in | 2 +- alttoolbar_type.py | 61 +++++++++++++++++++++++++++++++++++-------- configure.ac | 2 +- 4 files changed, 54 insertions(+), 14 deletions(-) commit 62ce5d1e23660648bdd2921083bd5fbe5b2483e1 Author: fossfreedom Date: Sun Jan 17 10:20:05 2016 +0000 generate a changelog for 0.16.3 ChangeLog | 381 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 381 insertions(+) commit 5f2ba9721c9bc95c8a2e47a6c121b74e687ebcf4 Author: fossfreedom Date: Sun Jan 17 10:16:36 2016 +0000 ready new version 0.16.3 GENERAL | 25 ++++++++++++++++---- README.md | 2 +- configure.ac | 2 +- readme.html | 77 +++++++++++++++++++++++++++++++++++++----------------------- 4 files changed, 71 insertions(+), 35 deletions(-) commit 74e89aa2ed78088d5535049b4feab6deed0c0a29 Author: fossfreedom Date: Sun Jan 17 09:55:02 2016 +0000 more cleanup before packaging alternative-toolbar.py | 19 +++++---- alttoolbar_controller.py | 2 +- alttoolbar_plugins.py | 8 ++-- alttoolbar_preferences.py | 15 +++---- alttoolbar_rb3compat.py | 8 ++-- alttoolbar_repeat.py | 8 ++-- alttoolbar_sidebar.py | 41 +++++++++---------- alttoolbar_type.py | 102 +++++++++++++++++++++++----------------------- alttoolbar_widget.py | 4 +- 9 files changed, 103 insertions(+), 104 deletions(-) commit 83414508bf13834fc581a30a140c04ab1a2b5d55 Merge: a8cf325 f2440cd Author: fossfreedom Date: Sun Jan 17 09:38:44 2016 +0000 Merge branch 'master' of https://github.com/fossfreedom/alternative-toolbar commit a8cf325aa7b7dd233d18822710e4820ad8db8cc4 Author: fossfreedom Date: Sun Jan 17 09:38:14 2016 +0000 some cleanup before packaging GENERAL | 16 ++++++++++++++++ alternative-toolbar.py | 2 -- 2 files changed, 16 insertions(+), 2 deletions(-) commit f2440cd2a7fdc63d5993abd26db8d1f681d9efdc Author: fossfreedom Date: Mon Jan 11 19:35:44 2016 +0000 try an alternative way to save column changes to cope with different ways to close - issue #73 alternative-toolbar.py | 6 ------ alttoolbar_type.py | 39 +++++++++++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 14 deletions(-) commit b7ca77f7c6905a1fe60720c979b6c49690416b27 Author: fossfreedom Date: Sat Jan 9 22:45:02 2016 +0000 add method to get the current toolbar together with a Gtk.Box where new UI elements can be added README.md | 2 +- alternative-toolbar.plugin.in | 4 ++-- alternative-toolbar.py | 10 ++++++++++ alttoolbar_type.py | 34 ++++++++++++++++++++++++++++++++-- configure.ac | 2 +- 5 files changed, 46 insertions(+), 6 deletions(-) commit 22b471263ac7043c6eafb6ea041e590d7cd7d0d3 Author: fossfreedom Date: Thu Jan 7 20:41:55 2016 +0000 ensure Missing and ImportErrors appear correctly in the tree - issue #59 alttoolbar_controller.py | 11 ++++++++--- alttoolbar_sidebar.py | 32 ++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 17 deletions(-) commit a144eb0bdc8ed5472098e54ab2ca4601a0105d53 Author: fossfreedom Date: Tue Jan 5 19:49:34 2016 +0000 minor version update and description change README.md | 2 +- alternative-toolbar.plugin.in | 6 +++--- configure.ac | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit 4487d3fdd386dd9619ae2b94dd02568c1c313b79 Merge: 06245b1 159de9a Author: David Mohammed Date: Tue Jan 5 06:55:07 2016 +0000 Merge pull request #70 from gipawu/master Enable slider function commit 159de9a0b717025fe09dd3ff3bb2b13f74cd5479 Author: gipawu Date: Tue Jan 5 01:21:47 2016 +0100 readme note README.md | 1 + 1 file changed, 1 insertion(+) commit f5461e491cc799ce577bce6657e2dd3858779b49 Author: gipawu Date: Tue Jan 5 01:17:57 2016 +0100 enable_slider rework - part 3 alternative-toolbar.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) commit 15d3821bb7ac507781280e6b87ca556d20a2777d Author: gipawu Date: Tue Jan 5 01:13:55 2016 +0100 enable_slider rework - part 1 alttoolbar_type.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 431f99dc36ad8bc15482e8c631cf623953e5e12f Author: gipawu Date: Tue Jan 5 01:12:26 2016 +0100 enable_slider rework - part 1 alttoolbar_type.py | 2 ++ 1 file changed, 2 insertions(+) commit 68abfc5fe478f8a1e90753fc22be1a2da72ab543 Author: gipawu Date: Tue Jan 5 00:20:54 2016 +0100 disable slider on track stop alternative-toolbar.py | 1 + 1 file changed, 1 insertion(+) commit a8183379454d5e7358d57bddabfb4c1797474ecc Author: gipawu Date: Mon Jan 4 18:23:29 2016 +0100 enable_slider function alttoolbar_type.py | 10 ++++++++++ 1 file changed, 10 insertions(+) commit a298c125c97acd6bac9d478f7ca223cd40b2dd97 Author: gipawu Date: Mon Jan 4 18:20:24 2016 +0100 Enable or disable slider depending on duration existance alternative-toolbar.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 06245b1a890ddfb76ac7f5df3b09d05ee1cc4d10 Author: David Mohammed Date: Tue Dec 29 16:53:45 2015 +0000 obvious typos #68 README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 25d083a9f47f8f4350fc1a5456419a1669caf0a7 Author: fossfreedom Date: Mon Dec 28 14:28:59 2015 +0000 add ChangeLog handling GENERAL | 6 ++++++ Makefile.am | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) commit e69ed2b9a46c8a1cf3637500619a4c08d2bea309 Author: fossfreedom Date: Mon Dec 28 10:52:05 2015 +0000 add column repositioning capability via drag-and-drop - issue #67 README.md | 60 ++++++++----- alternative-toolbar.plugin.in | 2 +- alternative-toolbar.py | 9 ++ alttoolbar_type.py | 204 ++++++++++++++++++++++++++++++++++++++++++ configure.ac | 3 +- 5 files changed, 255 insertions(+), 23 deletions(-) commit dbfaf5ba343dff9da3ac4eeed1d6baedcd50e6dc Author: fossfreedom Date: Sun Dec 20 00:16:01 2015 +0000 translation display fixes - issue #64 alttoolbar_sidebar.py | 9 ++++++++- alttoolbar_type.py | 22 +++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) commit 1427c622b57d3a27bc930062e88161158a95be52 Author: fossfreedom Date: Sat Dec 19 20:47:52 2015 +0000 v15.0 updates for stable release Makefile.am | 8 ++++++-- alternative-toolbar.plugin.in | 2 +- readme.html | 33 +++++++++++++++++++++++++++------ 3 files changed, 34 insertions(+), 9 deletions(-) commit 20b26ecc8cc5e9218598c08551945c4e8f4b8ca2 Author: David Mohammed Date: Sat Dec 19 15:16:21 2015 +0000 https://github.com/ikeydoherty README.md | 1 + 1 file changed, 1 insertion(+) commit 5363166526b9757ee425598acab33c7b80c597df Author: fossfreedom Date: Sat Dec 19 10:59:02 2015 +0000 uninstallation of local and a note about DISTRO_PACKAGING (#63) DISTRO_PACKAGING | 14 ++++++++++++++ README.md | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) commit e9937f7e08403fe02c353b917502ac1c35304d89 Author: fossfreedom Date: Sat Dec 19 10:43:09 2015 +0000 corrected installation instructions for new autotools method README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 005cafaf24c13bb7e490921c8bd23cc8677a4f0e Author: fossfreedom Date: Sat Dec 19 10:37:14 2015 +0000 rework #63 to keep rhythmbox convention of ui files, build translation files, update version, revised gitignore .gitignore | 1 + Makefile.am | 11 +- README.md | 2 +- TRANSLATE_README | 37 +--- alttoolbar_preferences.py | 2 +- alttoolbar_type.py | 4 +- configure.ac | 2 +- po/POTFILES.in | 5 +- po/alternative-toolbar.pot | 295 ------------------------- ui/{altlibrary.glade => altlibrary.ui} | 0 ui/{altpreferences.glade => altpreferences.ui} | 0 ui/{alttoolbar.glade => alttoolbar.ui} | 0 12 files changed, 20 insertions(+), 339 deletions(-) commit c8ca45cf99f923c0e6daf1a332e74f1b93bde75e Merge: e49a9c1 371942f Author: fossfreedom Date: Fri Dec 18 20:08:00 2015 +0000 Merge branch 'ikeydoherty-autotools' commit 371942f1fb6d8f6802fbec32d9a1ef098eb302a1 Author: Ikey Doherty Date: Fri Dec 18 17:43:44 2015 +0000 Add a proper autotools build system Signed-off-by: Ikey Doherty .gitignore | 18 ++++++ Makefile | 24 -------- Makefile.am | 77 ++++++++++++++++++++++++ alternative-toolbar.plugin | 48 --------------- alttoolbar_preferences.py | 2 +- alttoolbar_type.py | 4 +- autogen.sh | 24 ++++++++ configure.ac | 42 +++++++++++++ install.sh | 80 ------------------------- m4/python-gi.m4 | 12 ++++ po/LINGUAS | 25 ++++++++ po/POTFILES.in | 6 ++ po/{py_files_to_be_translated => POTFILES.skip} | 0 po/create_all_po.sh | 8 --- po/files_to_be_translated | 3 - po/install_all.sh | 8 --- po/lang.sh | 15 ----- po/update_all_po.sh | 11 ---- ui/{altlibrary.ui => altlibrary.glade} | 0 ui/{altpreferences.ui => altpreferences.glade} | 0 ui/{alttoolbar.ui => alttoolbar.glade} | 0 21 files changed, 207 insertions(+), 200 deletions(-) commit e49a9c12130ff66949374b3880c6dd8df77f1de4 Author: fossfreedom Date: Tue Nov 10 21:57:44 2015 +0000 latest ja translation po/ja.po | 296 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) commit 8521d866e7e5fb1d5cb39abb3d36e51952cf16f6 Author: fossfreedom Date: Fri Nov 6 16:55:19 2015 +0000 revise gentoo instructions README.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 54155f425c4c1c04bebb83df84bab2531ddabf7b Author: fossfreedom Date: Fri Nov 6 16:47:34 2015 +0000 prepare for split debian/changelog | 6 ---- debian/compat | 1 - debian/control | 13 -------- debian/copyright | 24 --------------- debian/rules | 3 -- debian/source/format | 1 - debian/watch | 3 -- debian_cleanup.sh | 9 ------ .../alternative-toolbar-9999.ebuild | 35 ---------------------- 9 files changed, 95 deletions(-) commit 1293bcdadbcf8921289b0d2d96e77ca201df5935 Author: fossfreedom Date: Thu Nov 5 21:55:22 2015 +0000 general pep8 cleanups together with debian packaging recommendations GENERAL | 9 ++ README.md | 2 +- alternative-toolbar.plugin | 2 +- alternative-toolbar.plugin.in | 2 +- alternative-toolbar.py | 198 ++++++++++++++--------- alttoolbar_controller.py | 82 ++++++---- alttoolbar_plugins.py | 28 ++-- alttoolbar_preferences.py | 58 ++++--- alttoolbar_rb3compat.py | 140 +++++++++------- alttoolbar_repeat.py | 117 ++++++++------ alttoolbar_sidebar.py | 189 ++++++++++++---------- alttoolbar_type.py | 362 ++++++++++++++++++++++++++---------------- alttoolbar_widget.py | 31 ++-- debian/changelog | 188 +--------------------- debian/control | 2 +- debian/docs | 0 debian_cleanup.sh | 9 ++ readme.html | 178 +++++++++++++++++++++ 18 files changed, 915 insertions(+), 682 deletions(-) commit d0022bb6310a8edaac576a89379d5c94e0dedeca Author: fossfreedom Date: Wed Nov 4 23:33:17 2015 +0000 fix various debian lintian errors debian/changelog | 8 +------- debian/compat | 2 +- debian/control | 2 +- debian/copyright | 2 +- debian/watch | 3 +++ 5 files changed, 7 insertions(+), 10 deletions(-) alternative-toolbar-0.18.0/DISTRO_PACKAGING000066400000000000000000000005111324014357300200500ustar00rootroot00000000000000Use 'make distcheck' to create a tar.xz version of a version Alternatively (and preferably) use the Git Releases for the latest stable version. By default, the plugin needs user manual enablement to work. When packaging for a distro, add a patch to the .plugin.in file to include the section " [RB] InitiallyEnabled=true " alternative-toolbar-0.18.0/GENERAL000066400000000000000000000017761324014357300165730ustar00rootroot00000000000000# general dev stuff when testing with pyflakes ensure you run first export PYFLAKES_BUILTINS="_" when making a stable release, create a ChangeLog via make dist cleanup a make dist is make distclean #### Before uploading test with the following: grep -riE 'fixme|todo|hack|xxx' . suspicious-source pyflakes . pyflakes3 . pep8 --ignore W191 . find -type f \( -iname '*.po' -o -iname '*.pot' \) -exec msgfmt --check --check-compatibility --check-accelerators --output-file=/dev/null {} \; from the built and installed package: adequate rhythbox-plugin-alternative-toolbar #### change the version number in the README as well as configure.ac to create readme.html install the markdown package then markdown README.md > readme.html to sign the github tarball gpg --default-key 7B0393D9 --armor --detach-sign alternative-toolbar-0.15 .tar.gz Then add to the debian branch Then test all is well via: uscan --debug --force-download remember to remove the old compressed tarball above the source folder first!alternative-toolbar-0.18.0/LICENSE000066400000000000000000001044601324014357300165720ustar00rootroot00000000000000GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. 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 them 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 prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. 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. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey 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; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If 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 convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU 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 that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. 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. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 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. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. 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 state 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 a brief idea of what it does.} Copyright (C) {year} {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 3 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, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: {project} Copyright (C) {year} {fullname} This program 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, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read .alternative-toolbar-0.18.0/Makefile.am000066400000000000000000000055651324014357300176270ustar00rootroot00000000000000%.plugin: %.plugin.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) $(AM_V_GEN) \ $(MKDIR_P) "$(dir $@)"; \ $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache rb_plugin_libdir = $(libdir)/rhythmbox/plugins/alternative-toolbar SUBDIRS = po CLEANFILES = \ alternative-toolbar.plugin \ ./po/.intltool-merge-cache \ ./po/Makefile \ ./po/POTFILES \ ./po/Makefile.in \ ./po/Makefile.in.in \ ./po/stamp-it \ ./m4/intltool.m4 DISTCLEANFILES = \ ChangeLog \ alternative-toolbar.plugin \ ./po/.intltool-merge-cache \ ./po/Makefile \ ./po/POTFILES \ ./po/Makefile.in \ ./po/Makefile.in.in \ ./po/stamp-it \ ./m4/intltool.m4 PLUGIN_FILES = \ alttoolbar_type.py \ alttoolbar_preferences.py \ alternative-toolbar.py \ alttoolbar_repeat.py \ alttoolbar_plugins.py \ alttoolbar_widget.py \ alttoolbar_sidebar.py \ alttoolbar_rb3compat.py \ alttoolbar_controller.py IMAGE_FILES = \ $(top_srcdir)/img/audio-radio-symbolic.svg \ $(top_srcdir)/img/audio-x-playlist-automatic-symbolic.svg \ $(top_srcdir)/img/audio-x-playlist-recently-added-symbolic.svg \ $(top_srcdir)/img/audio-x-playlist-recently-played-symbolic.svg \ $(top_srcdir)/img/audio-x-playlist-symbolic.svg \ $(top_srcdir)/img/audio-x-queue-symbolic.svg \ $(top_srcdir)/img/lastfm-symbolic.svg \ $(top_srcdir)/img/librefm-symbolic.svg METAINFO_FILES = \ $(top_srcdir)/metainfo/org.gnome.rhythmbox.rhythmbox-alternative-toolbar.addon.appdata.xml UI_FILES = \ $(top_srcdir)/ui/altlibrary.ui \ $(top_srcdir)/ui/altpreferences.ui \ $(top_srcdir)/ui/alttoolbar.ui EXTRA_DIST = \ $(PLUGIN_FILES) \ alternative-toolbar.plugin.in \ $(IMAGE_FILES) \ $(UI_FILES) \ $(top_srcdir)/po/Makefile.in.in \ schema/org.gnome.rhythmbox.plugins.alternative_toolbar.gschema.xml \ LICENSE \ $(METAINFO_FILES) rb_plugin_lib_DATA = \ $(PLUGIN_FILES) \ alternative-toolbar.plugin rb_plugin_imgdir = $(datadir)/rhythmbox/plugins/alternative-toolbar/img rb_plugin_img_DATA = \ $(IMAGE_FILES) rb_plugin_uidir = $(datadir)/rhythmbox/plugins/alternative-toolbar/ui rb_plugin_ui_DATA = \ $(UI_FILES) gsettings_SCHEMAS = \ schema/org.gnome.rhythmbox.plugins.alternative_toolbar.gschema.xml rb_plugin_metainfodir = $(datadir)/metainfo rb_plugin_metainfo_DATA = \ $(METAINFO_FILES) @GSETTINGS_RULES@ CHANGELOG_START = v0.14.0 ChangeLog: @echo Creating $@ @if test -d "$(srcdir)/.git"; then \ (GIT_DIR=$(top_srcdir)/.git ./missing --run git log $(CHANGELOG_START).. --stat) > $@.tmp \ && mv -f $@.tmp $@ \ || ($(RM) $@.tmp; \ echo Failed to generate ChangeLog. Your ChangeLog may be outdated >&2; \ (test -f $@ || echo git-log is required to generate this file >> $@)); \ else \ test -f $@ || \ (echo A git checkout and git-log is required to generate ChangeLog >&2 && \ echo A git checkout and git-log is required to generate this file >> $@); \ fi .PHONY: ChangeLog alternative-toolbar-0.18.0/README.md000066400000000000000000000156551324014357300170530ustar00rootroot00000000000000
alternative-toolbar Version Support
Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact toolbar which can be hidden. v0.18.0 Flattr This! PayPal Donate
Email fossfreedom@ubuntu.com
Website https://github.com/fossfreedom
Replace the current standard toolbar: ![pic](http://i.imgur.com/9FjnAd5.png) with either a compact toolbar: ![pic](http://i.imgur.com/5XqQKcG.png) or with the new Gnome-style client-side decoration: ![pic](http://i.imgur.com/rMkxjxw.png) ## Features - Option to prefer dark-themes - Display Browse Categories horizontally or vertically - Move columns via Drag-and-Drop using a views' column headers - Toggle compact or standard toolbar on or off - Volume Control can be switched on or off for all toolbars - Source Toolbars can be toggled (`CTRL + T`) - Seek forward (fast-forward) through a track (`ALT + Right Arrow`) - Seek backward through a track (`ALT + Left Arrow`) - Redesigned sidebar - Redesigned plugin window, about box and plugin preferences window - Repeat button can now switch between repeat tracks and repeat-one-song mode - Force display of the app-menu (compact/headerbar) `gsettings set org.gnome.rhythmbox.plugins.alternative_toolbar app-menu-display true` - Plugin translated completely into [14 languages and locales (18 more on the way)](https://translations.launchpad.net/alternative-toolbar) The plugin preferences allows you to define which toolbars are used:

Plugin

## Keyboard shortcuts | Key | Action | |---------------------|----------------------------------------------| | `CTRL + T` | Toggled source toolbar. | | `CTRL + F` | Toggle search bar. | | `CTRL + P` | Start/Stop current track. | | `CTRL + R` | Open repeat menu. | | `CTRL + K` | Toggle play queue. | | `CTRL + A/?` | Select all songs in playlist. | | `ALT + Right Arrow` | Seek forward (fast-forward) through a track. | | `ALT + Left Arrrow` | Seek backward through a track. | After installation enable the plugin in the plugins window:

Enable plugin

If you need to enable the player controls & source menu, this can be done from the menu: - Menu -> - View -> - Show Play-Controls Toolbar - Show Source and Media Toolbars ## Installation **Latest Stable Release via source code compilation** Navigate to the archive and grab the newest .tar.gz from https://github.com/fossfreedom/alternative-toolbar/releases ```bash cd ~/Downloads sudo apt-get install intltool git gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-peas-1.0 gir1.2-rb-3.0 gnome-pkg-tools gobject-introspection libglib2.0-dev pkg-config python3-gi python3 tar -zxvf alternative-toolbar*.tar.gz cd alternative-toolbar* ./autogen.sh --prefix=/usr make sudo make install ``` This will install a system-wide installation. If you have a previous locally installed version of the plugin, remove it: ``` rm -rf ~/.local/share/rhythmbox/plugins/alternative-toolbar ``` **Install Latest Development Release via Git** ```bash cd ~/Downloads sudo apt-get install intltool git gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-peas-1.0 gir1.2-rb-3.0 gnome-pkg-tools gobject-introspection libglib2.0-dev pkg-config python3-gi python3 git clone https://github.com/fossfreedom/alternative-toolbar.git cd alternative-toolbar ./autogen.sh --prefix=/usr make sudo make install ``` This will install a system-wide installation. If you have a previous locally installed version of the plugin, remove it: ``` rm -rf ~/.local/share/rhythmbox/plugins/alternative-toolbar ``` **Ubuntu PPA - latest stable release** If you are using Ubuntu you can install alternative-toolbar via a [PPA](https://launchpad.net/~fossfreedom/+archive/ubuntu/rhythmbox-plugins). ```bash sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins sudo apt-get update sudo apt-get install rhythmbox-plugin-alternative-toolbar ``` **Arch AUR - latest development release** If you are using Arch you can install alternative-toolbar via the [rhythmbox-plugin-alternative-toolbar-git](https://aur.archlinux.org/packages/rhythmbox-plugin-alternative-toolbar-git/) package **Gentoo ebuild** If you are using Gentoo you can install alternative-toolbar by adding the ebuild located in the gentoo branch `gentoo/x11-plugins/alternative-toolbar` to your local overlay (`/usr/local/portage`). i.e. ``` git clone https://github.com/fossfreedom/alternative-toolbar -b gentoo add the ebuild git checkout master ``` Use the following to ebuild ``` $ ebuild alternative-toolbar-9999.ebuild digest $ emerge alternative-toolbar ``` ## To uninstall. If installed via Git you need the original code to uninstall the plugin. ```bash cd ~/Downloads/alternative-toolbar* sudo make uninstall ``` ## Contribute **Please help out with translating** We need you to help us translate the english text to your native language. Don't worry - it is easier that you think. Just visit: - https://translations.launchpad.net/alternative-toolbar Remember to set your preferred language and then just submit your translation. ## Credits Thank you to: - [me4oslav](https://github.com/me4oslav) - design inspiration for the header-bar vision - our Translators: Launchpad Translation team - [Julian Richen](https://github.com/julianrichen) - revamped README - [Ikey Doherty](https://github.com/ikeydoherty) - AutoTools installer As well as: - [sergioad](https://github.com/sergioad) - for the initial translation (spanish) used for testing translations - Thanks to the [rhythmbox-seek](https://github.com/cgarvey/rhythmbox-seek) project for the track-seeking code. - Thanks to the [repeat-one-song](https://launchpad.net/repeat-one-song) project for the repeat-one-song code - [gipawu](https://github.com/gipawu) - improved progress slider code alternative-toolbar-0.18.0/TRANSLATE_README000066400000000000000000000010621324014357300200540ustar00rootroot00000000000000# This README is dividied into two sections - # first section is for the alternative-toolbar developers # second section is for Translators # Section 1: Developers Only #+++++++++++++++++++++++++++ create a pot translation file ./autogen.sh --prefix=/usr cd po make alternative-toolbar.pot upload this pot to launchpad # Section 2: Translators #+++++++++++++++++++++++ The best way to create translations is to visit our Launchpad site - https://translations.launchpad.net/alternative-toolbar Set your preferred language and then just begin translating alternative-toolbar-0.18.0/alternative-toolbar.plugin.in000066400000000000000000000007021324014357300233620ustar00rootroot00000000000000[Plugin] Loader=python3 Module=alternative-toolbar IAge=2 Depends=rb _Name=Alternative Toolbar _Description=Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact Toolbar which can be hidden Authors=David Mohammed Copyright=© 2016-2018 David Mohammed Website=http://github.com/fossfreedom/alternative-toolbar Help=https://github.com/fossfreedom/alternative-toolbar/blob/master/README.md Version=0.18.0 alternative-toolbar-0.18.0/alternative-toolbar.py000066400000000000000000000504311324014357300221130ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 - David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. # define plugin import rb import gi from gi.repository import GObject from gi.repository import Gio from gi.repository import Gtk gi.require_version('Peas', '1.0') from gi.repository import Peas from gi.repository import RB from alttoolbar_plugins import PluginDialog from alttoolbar_preferences import CoverLocale from alttoolbar_preferences import GSetting from alttoolbar_preferences import Preferences from alttoolbar_rb3compat import ActionGroup from alttoolbar_rb3compat import ApplicationShell from alttoolbar_rb3compat import gtk_version from alttoolbar_type import AltToolbarCompact from alttoolbar_type import AltToolbarHeaderBar from alttoolbar_type import AltToolbarStandard view_menu_ui = """ """ view_seek_menu_ui = """ """ seek_backward_time = 5 seek_forward_time = 10 class AltToolbarPlugin(GObject.Object, Peas.Activatable): """ Main class of the plugin. Manages the activation and deactivation of the plugin. """ __gtype_name = 'AltToolbarPlugin' object = GObject.property(type=GObject.Object) display_page_tree_visible = GObject.property(type=bool, default=False) show_album_art = GObject.property(type=bool, default=False) show_song_position_slider = GObject.property(type=bool, default=False) playing_label = GObject.property(type=bool, default=False) # signals # toolbar-visibility - bool parameter True = visible, False = not visible __gsignals__ = { 'toolbar-visibility': (GObject.SIGNAL_RUN_LAST, None, (bool,)) } def __init__(self): """ Initialises the plugin object. """ GObject.Object.__init__(self) self.appshell = None self.sh_psc = self.sh_op = self.sh_pc = None def do_activate(self): """ Called by Rhythmbox when the plugin is activated. It creates the plugin's source and connects signals to manage the plugin's preferences. """ self.shell = self.object self.db = self.shell.props.db self.shell_player = self.shell.props.shell_player # Prepare internal variables self.song_duration = 0 self.entry = None self._plugin_dialog_width = 760 self._plugin_dialog_height = 550 # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) # for custom icons ensure we start looking in the plugin img folder # as a fallback theme = Gtk.IconTheme.get_default() theme.append_search_path(rb.find_plugin_file(self, 'img')) # Find the Rhythmbox Toolbar self.rb_toolbar = AltToolbarPlugin.find(self.shell.props.window, 'main-toolbar', 'by_id') # get values from gsettings self.gs = GSetting() self.plugin_settings = self.gs.get_setting(self.gs.Path.PLUGIN) display_type = self.plugin_settings[self.gs.PluginKey.DISPLAY_TYPE] self.volume_control = self.plugin_settings[ self.gs.PluginKey.VOLUME_CONTROL] self.show_compact_toolbar = self.plugin_settings[ self.gs.PluginKey.SHOW_COMPACT] self.start_hidden = self.plugin_settings[ self.gs.PluginKey.START_HIDDEN] self.inline_label = self.plugin_settings[ self.gs.PluginKey.INLINE_LABEL] self.compact_progressbar = self.plugin_settings[ self.gs.PluginKey.COMPACT_PROGRESSBAR] self.enhanced_sidebar = self.plugin_settings[ self.gs.PluginKey.ENHANCED_SIDEBAR] self.show_tooltips = self.plugin_settings[ self.gs.PluginKey.SHOW_TOOLTIPS] self.enhanced_plugins = self.plugin_settings[ self.gs.PluginKey.ENHANCED_PLUGINS] self.horiz_categories = self.plugin_settings[ self.gs.PluginKey.HORIZ_CATEGORIES] self.app_menu = self.plugin_settings[ self.gs.PluginKey.APP_MENU] self.prefer_dark_theme = \ self.plugin_settings[self.gs.PluginKey.DARK_THEME] # Add the various application view menus self.appshell = ApplicationShell(self.shell) self._add_menu_options() # Determine what type of toolbar is to be displayed default = Gtk.Settings.get_default() if display_type == 0: if ( not default.props.gtk_shell_shows_app_menu) or \ default.props.gtk_shell_shows_menubar: display_type = 2 else: display_type = 1 self.toolbar_type = None if display_type == 1: self.toolbar_type = AltToolbarHeaderBar() elif self.show_compact_toolbar: self.toolbar_type = AltToolbarCompact() else: self.toolbar_type = AltToolbarStandard() self.toolbar_type.initialise(self) self.toolbar_type.post_initialise() if self.enhanced_plugins: # redirect plugins action to our implementation action = Gio.SimpleAction.new('plugins', None) action.connect('activate', self._display_plugins) self.shell.props.application.add_action(action) self._connect_signals() self._connect_properties() # allow other plugins access to this toolbar self.shell.alternative_toolbar = self cl.switch_locale(cl.Locale.RB) def _display_plugins(self, *args): """ display our implementation of the LibPeas Plugin window """ has_headerbar = isinstance(self.toolbar_type, AltToolbarHeaderBar) if gtk_version() < 3.12: has_headerbar = False dlg = PluginDialog(self.shell.props.window, has_headerbar) response = 0 dlg.set_default_size(self._plugin_dialog_width, self._plugin_dialog_height) while response >= 0: response = dlg.run() print(response) self._plugin_dialog_width, self._plugin_dialog_height = dlg.get_size() dlg.destroy() def _add_menu_options(self): """ add the various menu options to the application """ self.seek_action_group = ActionGroup(self.shell, 'AltToolbarPluginSeekActions') self.seek_action_group.add_action(func=self.on_skip_backward, action_name='SeekBackward', label=_("Seek Backward"), action_type='app', accel="Left", tooltip=_( "Seek backward, in current " "track, by 5 seconds.")) self.seek_action_group.add_action(func=self.on_skip_forward, action_name='SeekForward', label=_("Seek Forward"), action_type='app', accel="Right", tooltip=_( "Seek forward, in current " "track, by 10 seconds.")) self.appshell.insert_action_group(self.seek_action_group) self.appshell.add_app_menuitems(view_seek_menu_ui, 'AltToolbarPluginSeekActions', 'view') self.toggle_action_group = ActionGroup(self.shell, 'AltToolbarPluginActions') self.toggle_action_group.add_action(func=self.toggle_visibility, action_name='ToggleToolbar', label=_( "Show Play-Controls Toolbar"), action_state=ActionGroup.TOGGLE, action_type='app', tooltip=_( "Show or hide the " "play-controls toolbar")) self.toggle_action_group.add_action( func=self.toggle_sourcemedia_visibility, action_name='ToggleSourceMediaToolbar', label=_("Show Source Toolbar"), action_state=ActionGroup.TOGGLE, action_type='app', accel="t", tooltip=_("Show or hide the source toolbar")) self.appshell.insert_action_group(self.toggle_action_group) self.appshell.add_app_menuitems(view_menu_ui, 'AltToolbarPluginActions', 'view') def _connect_properties(self): """ bind plugin properties to various gsettings that we dynamically interact with """ self.plugin_settings.bind(self.gs.PluginKey.PLAYING_LABEL, self, 'playing_label', Gio.SettingsBindFlags.GET) def _connect_signals(self): """ connect to various rhythmbox signals that the toolbars need """ self.sh_display_page_tree = self.shell.props.display_page_tree.connect( "selected", self.on_page_change ) self.sh_psc = self.shell_player.connect("playing-song-changed", self._sh_on_song_change) self.sh_op = self.shell_player.connect("elapsed-changed", self._sh_on_playing) self.sh_pc = self.shell_player.connect("playing-changed", self._sh_on_playing_change) self.sh_pspc = self.shell_player.connect( "playing-song-property-changed", self._sh_on_song_property_changed) self.rb_settings = Gio.Settings.new('org.gnome.rhythmbox') self.rb_settings.bind('show-album-art', self, 'show_album_art', Gio.SettingsBindFlags.GET) self.connect('notify::show-album-art', self.show_album_art_settings_changed) self.show_album_art_settings_changed(None) self.rb_settings.bind('show-song-position-slider', self, 'show_song_position_slider', Gio.SettingsBindFlags.GET) self.connect('notify::show-song-position-slider', self.show_song_position_slider_settings_changed) self.show_song_position_slider_settings_changed(None) def _sh_on_song_property_changed(self, sp, uri, property, old, new): """ shell-player "playing-song-property-changed" signal handler """ if sp.get_playing() and property in \ ('artist', 'album', 'title', RB.RHYTHMDB_PROP_STREAM_SONG_ARTIST, RB.RHYTHMDB_PROP_STREAM_SONG_ALBUM, RB.RHYTHMDB_PROP_STREAM_SONG_TITLE): entry = sp.get_playing_entry() self.toolbar_type.display_song(entry) def _sh_on_playing_change(self, player, playing): """ shell-player "playing-change" signal handler """ self.toolbar_type.play_control_change(player, playing) if (self.song_duration != 0): self.toolbar_type.enable_slider(True) else: self.toolbar_type.enable_slider(False) if (hasattr(self.toolbar_type, "total_time_label")): label = "" self.toolbar_type.total_time_label.set_markup(label) def _sh_on_song_change(self, player, entry): """ shell-player "playing-song-changed" signal handler """ if (entry is not None): self.song_duration = entry.get_ulong(RB.RhythmDBPropType.DURATION) else: self.song_duration = 0 self.toolbar_type.display_song(entry) def _sh_on_playing(self, player, second): """ shell-player "elapsed-changed" signal handler """ if not hasattr(self.toolbar_type, 'song_progress'): return if (self.song_duration != 0): self.toolbar_type.song_progress.progress = float( second) / self.song_duration print(self.toolbar_type.song_progress.progress) try: valid, time = player.get_playing_time() if not valid or time == 0: return except: return m, s = divmod(time, 60) h, m = divmod(m, 60) tm, ts = divmod(self.song_duration, 60) th, tm = divmod(tm, 60) if th == 0: label = "{time} / {ttime}".format( time="%02d:%02d" % (m, s), ttime="%02d:%02d" % (tm, ts)) else: label = "{time}".format( time="%d:%02d:%02d" % (h, m, s)) self.toolbar_type.total_time_label.set_markup(label) def on_skip_backward(self, *args): """ keyboard seek backwards signal handler """ sp = self.object.props.shell_player if (sp.get_playing()[1]): seek_time = sp.get_playing_time()[1] - seek_backward_time print(seek_time) if (seek_time < 0): seek_time = 0 print(seek_time) sp.set_playing_time(seek_time) def on_skip_forward(self, *args): """ keyboard seek forwards signal handler """ sp = self.object.props.shell_player if (sp.get_playing()[1]): seek_time = sp.get_playing_time()[1] + seek_forward_time song_duration = sp.get_playing_song_duration() if (song_duration > 0): # sanity check if (seek_time > song_duration): seek_time = song_duration sp.set_playing_time(seek_time) def show_song_position_slider_settings_changed(self, *args): """ rhythmbox show-slider signal handler """ self.toolbar_type.show_slider(self.show_song_position_slider) def show_album_art_settings_changed(self, *args): """ rhythmbox show-album-art signal handler """ self.toolbar_type.show_cover(self.show_album_art) def on_page_change(self, display_page_tree, page): """ sources display-tree signal handler """ print("page changed", page) self.toolbar_type.reset_categories_pos(page) self.toolbar_type.reset_toolbar(page) self.toolbar_type.reset_entryview(page) @staticmethod def find(node, search_id, search_type, button_label=None): """ find various GTK Widgets :param node: node is the starting container to find from :param search_id: search_id is the GtkWidget type string or GtkWidget name :param search_type: search_type is the type of search "by_name" to search by the type of GtkWidget e.g. GtkButton "by_id" to search by the GtkWidget (glade name) e.g. box_1 :param button_label: button_label to find specific buttons where we cannot use by_id :return:N/A """ # Couldn't find better way to find widgets than loop through them # print("by_name %s by_id %s" % (node.get_name(), # Gtk.Buildable.get_name(node))) def extract_label(button): label = button.get_label() if label: return label child = button.get_child() if child and child.get_name() == "GtkLabel": return child.get_text() return None if isinstance(node, Gtk.Buildable): if search_type == 'by_id': if Gtk.Buildable.get_name(node) == search_id: if button_label is None or \ ('Button' in node.get_name() and extract_label(node) == button_label): return node elif search_type == 'by_name': if node.get_name() == search_id: if button_label is None or \ ('Button' in node.get_name() and extract_label(node) == button_label): return node if isinstance(node, Gtk.Container): for child in node.get_children(): ret = AltToolbarPlugin.find(child, search_id, search_type, button_label) if ret: return ret return None def do_deactivate(self): """ Called by Rhythmbox when the plugin is deactivated. It makes sure to free all the resources used by the plugin. """ del self.db if self.sh_op: self.shell_player.disconnect(self.sh_op) self.shell_player.disconnect(self.sh_psc) self.shell_player.disconnect(self.sh_pc) self.shell_player.disconnect(self.sh_pspc) # self.disconnect(self.sh_display_page) self.shell.props.display_page_tree.disconnect( self.sh_display_page_tree) del self.shell_player if self.appshell: self.appshell.cleanup() self.rb_toolbar.set_visible(True) self.toolbar_type.cleanup() del self.shell def toggle_visibility(self, action, param=None, data=None): """ Display or Hide PlayControls signal handler :param action: :param param: :param data: :return: """ action = self.toggle_action_group.get_action('ToggleToolbar') self.toolbar_type.set_visible(action.get_active()) def toggle_sourcemedia_visibility(self, action, param=None, data=None): """ Display or Hide the source toolbar :param action: :param param: :param data: :return: """ action = self.toggle_action_group.get_action( 'ToggleSourceMediaToolbar') self.toolbar_type.source_toolbar_visibility(action.get_active()) def _translation_helper(self): """ a method just to help out with translation strings it is not meant to be called by itself """ # define .plugin text strings used for translation plugin = _('Alternative Toolbar') plugin += "dummy" desc = _( 'Replace the Rhythmbox large toolbar with a Client-Side ' 'Decorated or Compact Toolbar which can be hidden') desc += "dummy" # stop PyCharm removing the Preference import on optimisation pref = Preferences() return pref def get_toolbar(self, callback): """ a method to return the toolbar itself :param callback: function callback - func(AT.ToolbarCallback) passed :return: """ self.toolbar_type.setup_completed_async(callback) alternative-toolbar-0.18.0/alttoolbar_controller.py000066400000000000000000000506021324014357300225430ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. from gi.repository import GObject from gi.repository import Gio from gi.repository import Gtk from alttoolbar_preferences import CoverLocale class AltControllerCategory(object): OTHER = 0 LOCAL = 1 ONLINE = 2 PLAYLIST = 3 class AltControllerBase(GObject.Object): """ base controller """ def __init__(self, header): """ Initialises the object. """ self.header = header self.find = self.header.find # convenience function self._pixbuf = None super(AltControllerBase, self).__init__() def get_category(self): """ return the category type for the source """ return AltControllerCategory.OTHER def toolbar_visibility(self): """ return the toolbar visibility by default None which means user controlled """ return None def get_gicon(self, source): """ return the source icon :param source: :return: """ if source.props.icon: return source.props.icon return None def valid_source(self, source): """ returns bool if the given source is applicable to the controller """ return False def update_controls(self, source): """ update the button controls on the header """ pass def remove_controls(self, container): """ remove any controls that are contained in a container """ for child in container.get_children(): container.remove(child) def hide_controls(self, source): """ hide controls for a given controller """ pass def get_search_entry(self, toolbar_container): """ find the GtkEntry field corresponding to the search entry returns 1. the GtkWidget containing the GtkEntry 2. the GtkEntry returns None if nothing found """ return None def get_toolbar(self, source): """ return GtkWidget corresponding to the toolbar within the source None if no toolbar """ return None def moveto_searchbar(self, toolbar, widget, searchbar): """ move from toolbar the widget and add to the searchbar """ pass def set_library_labels(self): """ set the centre library song-category button label """ self.header.set_library_labels() class AltGenericController(AltControllerBase): """ generic controller for the headerbar (only) """ __gtype_name = 'AltGenericController' def __init__(self, header): """ Initialises the object. """ super(AltGenericController, self).__init__(header) self.centre_controls = {} self.end_controls = {} def get_category(self): return AltControllerCategory.LOCAL def hide_controls(self, source): val, view_button = self.header.has_button_with_label(source, _('View All')) if val: view_button.set_visible(False) def get_toolbar(self, source): toolbar = self.find(source, 'RBSourceToolbar', 'by_name') print(toolbar) print(source) return toolbar def get_search_entry(self, container): if container is None: print("no container to search") return None, None search = self.find(container, 'RBSearchEntry', 'by_name') if not search: print("no RBSearchEntry found") return None, None entry = self.find(search, 'GtkEntry', 'by_name') print(entry) return search, entry def moveto_searchbar(self, toolbar, search, searchbar): toolbar.remove(search) toolbar.set_visible(False) searchbar.add(search) def update_controls(self, source): """ update the button controls on the header """ val, browser_button = self.header.is_browser_view(source) if not val: # if not a browser_view based source then default just to the title print("no browser view") self.header.set_library_box_sensitive(False) else: print("browser view found") browser_button.set_visible(False) self.header.set_library_box_sensitive(True) self.header.current_search_button = None toolbar = self.get_toolbar(source) if not toolbar: # there is no source-bar so the header is empty print("no toolbar so nothing left to do - cleanup endbox and exit") self.remove_controls(self.header.end_box) return self.hide_controls(toolbar) if source not in self.end_controls: # this is the first time for the source so extract the # RBSearchEntry print("first time around") controls = {} self.remove_controls(self.header.end_box) print(toolbar) # should be the RBSourceToolbar search, entry = self.get_search_entry(toolbar) if not search: return if self.header.searchbar: self.header.searchbar.set_visible(False) # define a searchbar widget self.header.searchbar = Gtk.SearchBar.new() # we need to add this to the top of the source window # to-do this - find the first child and physically move this into # the second position in a box - the first position being the # searchbar children = source.get_children() print(children) # We assume the first container in a source is a GtkNotebook first = children[0] box = Gtk.Box() box.set_orientation(Gtk.Orientation.VERTICAL) box.pack_start(self.header.searchbar, False, True, 0) box.show_all() # so remove the notebook from the source Gtk.Container.remove(source, first) box.pack_start(first, True, True, 1) # add the notebook to a box source.add(box) # then add the box back to the source - # i.e. we added another parent self.header.register_moved_control(child=first, old_parent=source, new_parent=box) self.moveto_searchbar(toolbar, search, self.header.searchbar) entry.set_size_request(300, -1) self.header.searchbar.connect_entry(entry) # self.header.searchbar.show_all() self.header.searchbar.set_visible(False) search_button = Gtk.ToggleButton.new() sym = "preferences-system-search-symbolic" image = \ Gtk.Image.new_from_icon_name(sym, Gtk.IconSize.SMALL_TOOLBAR) search_button.add(image) self.header.end_box.add(search_button) self.header.end_box.reorder_child(search_button, 0) search_button.show_all() search_button.connect('toggled', self.header.search_button_toggled) controls['searchbar'] = self.header.searchbar controls['search_button'] = search_button self.header.current_search_button = search_button self.end_controls[source] = controls print(controls) else: print("second time around") print(self.end_controls[source]) search = self.end_controls[source]['searchbar'] if self.header.searchbar: self.header.searchbar.set_visible(False) self.header.searchbar = search # self.header.searchbar.set_visible(True) self.remove_controls(self.header.end_box) search_button = self.end_controls[source]['search_button'] self.header.current_search_button = search_button self.header.searchbar.show_all() self.header.searchbar.set_visible(search_button.get_active()) self.header.end_box.add(search_button) self.header.end_box.reorder_child(search_button, 0) self.header.end_box.show_all() class AltMusicLibraryController(AltGenericController): """ music library controller """ __gtype_name = 'AltMusicLibraryController' def __init__(self, header): """ Initialises the object. """ super(AltMusicLibraryController, self).__init__(header) def valid_source(self, source): """ override """ return "LibrarySource" in type(source).__name__ def hide_controls(self, source): super(AltMusicLibraryController, self).hide_controls(source) val, import_button = self.header.has_button_with_label(source, _('Import')) if val: import_button.set_visible(False) class AltSoundCloudController(AltGenericController): """ sound-cloud controller """ __gtype_name = 'AltSoundCloudController' def __init__(self, header): """ Initialises the object. """ super(AltSoundCloudController, self).__init__(header) self._has_toolbar = None def valid_source(self, source): """ override """ return "SoundCloud" in type(source).__name__ def get_category(self): return AltControllerCategory.ONLINE def get_toolbar(self, source): if self._has_toolbar: return self._has_toolbar search_box = self.find(source, 'box1', 'by_id') self._has_toolbar = search_box return search_box def moveto_searchbar(self, toolbar, widget, searchbar): """ override - here we want to actually remove the toolbar from the source so get the parent """ parent_grid = toolbar.get_parent() parent_grid.remove(toolbar) searchbar.add(toolbar) self.header.register_moved_control(child=toolbar, old_parent=parent_grid, new_parent=searchbar) class AltCoverArtBrowserController(AltGenericController): """ CoverArtBrowser controller """ __gtype_name = 'AltCoverArtBrowserController' def __init__(self, header): """ Initialises the object. """ super(AltCoverArtBrowserController, self).__init__(header) self._has_toolbar = None def valid_source(self, source): """ override """ return "CoverArtBrowser" in type(source).__name__ def get_category(self): return AltControllerCategory.LOCAL def get_toolbar(self, source): if not self._has_toolbar: search_box = self.find(source, 'toolbar', 'by_id') self._has_toolbar = search_box return self._has_toolbar def moveto_searchbar(self, toolbar, widget, searchbar): """ override - here we want to actually remove the toolbar from the source so get the parent """ parent_grid = toolbar.get_parent() parent_grid.remove(toolbar) searchbar.add(toolbar) searchbar.show_all() self.header.register_moved_control(child=toolbar, old_parent=parent_grid, new_parent=searchbar) def get_search_entry(self, toolbar): """ override - use the GtkEntry in the coverartbrowser """ entrysearch = self.find(toolbar, 'entry_search_alignment', 'by_id') entry = self.find(entrysearch, 'GtkEntry', 'by_name') return entrysearch, entry class AltCoverArtPlaySourceController(AltGenericController): """ CoverArtPlaySource controller """ __gtype_name = 'AltCoverArtPlaySourceController' def __init__(self, header): """ Initialises the object. """ super(AltCoverArtPlaySourceController, self).__init__(header) self._has_toolbar = None def valid_source(self, source): """ override """ return "CoverArtPlaySource" in type(source).__name__ def get_category(self): return AltControllerCategory.LOCAL def get_toolbar(self, source): if not self._has_toolbar: self._has_toolbar = self.find(source, 'RBButtonBar', 'by_name') print("############", self._has_toolbar) return self._has_toolbar class AltQueueController(AltGenericController): """ RB QueueSource controller """ __gtype_name = 'AltQueueController' def __init__(self, header): """ Initialises the object. """ super(AltQueueController, self).__init__(header) self._gicon = Gio.ThemedIcon(name='audio-x-queue-symbolic') def valid_source(self, source): return "RBPlayQueueSource" in type(source).__name__ def get_gicon(self, source): return self._gicon class AltErrorsController(AltGenericController): """ RB ErrorsSource controller """ __gtype_name = 'AltErrorsController' def __init__(self, header): """ Initialises the object. """ super(AltErrorsController, self).__init__(header) self._gicon = Gio.ThemedIcon(name='dialog-error-symbolic') self._source_types = ["RBImportErrorsSource", "RBMissingFilesSource"] def valid_source(self, source): print(type(source).__name__) for source_type in self._source_types: if source_type in type(source).__name__: return True def get_category(self): return AltControllerCategory.LOCAL def get_gicon(self, source): return self._gicon class AltRadioController(AltGenericController): """ RB RadioSource controller """ __gtype_name = 'AltRadioController' def __init__(self, header): """ Initialises the object. """ super(AltRadioController, self).__init__(header) self._gicon = Gio.ThemedIcon(name='audio-radio-symbolic') def valid_source(self, source): return "RBIRadioSource" in type(source).__name__ def get_gicon(self, source): return self._gicon def get_category(self): return AltControllerCategory.ONLINE def set_library_labels(self): self.header.set_library_labels(song_label=_('Stations')) def toolbar_visibility(self): return True # radio source the source toolbar is always shown class AltLastFMController(AltGenericController): """ RB LastFMSource controller """ __gtype_name = 'AltLastFMController' def __init__(self, header): """ Initialises the object. """ super(AltLastFMController, self).__init__(header) self._libre_gicon = Gio.ThemedIcon(name='librefm-symbolic') self._lastfm_gicon = Gio.ThemedIcon(name='lastfm-symbolic') def valid_source(self, source): return "RBAudioscrobblerProfilePage" in type(source).__name__ def get_gicon(self, source): # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.RB) if source.props.name == _("Libre.fm"): return self._libre_gicon else: return self._lastfm_gicon def get_category(self): return AltControllerCategory.ONLINE class AltPlaylistController(AltGenericController): """ playlist controller """ __gtype_name = 'AltPlaylistController' def __init__(self, header): """ Initialises the object. """ super(AltPlaylistController, self).__init__(header) self._static_gicon = \ Gio.ThemedIcon(name='audio-x-playlist-symbolic') self._auto_gicon = \ Gio.ThemedIcon(name='audio-x-playlist-automatic-symbolic') self._toprated_gicon = Gio.ThemedIcon(name='starred-symbolic') self._recentlyadded_gicon = \ Gio.ThemedIcon(name='audio-x-playlist-recently-added-symbolic') self._recentlyplayed_gicon = \ Gio.ThemedIcon(name='audio-x-playlist-recently-played-symbolic') def valid_source(self, source): """ override """ return "PlaylistSource" in type(source).__name__ def get_gicon(self, source): # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.RB) print(source.props.name) if source.props.name == _('My Top Rated') \ or source.props.name == 'My Top Rated': return self._toprated_gicon if source.props.name == _('Recently Added') \ or source.props.name == 'Recently Added': return self._recentlyadded_gicon if source.props.name == _('Recently Played') \ or source.props.name == 'Recently Played': return self._recentlyplayed_gicon if "StaticPlaylistSource" in type(source).__name__: return self._static_gicon else: return self._auto_gicon def get_category(self): return AltControllerCategory.PLAYLIST class AltPodcastController(AltGenericController): """ podcast controller """ __gtype_name = 'AltPodcastController' def valid_source(self, source): """ override """ return 'RBPodcastMainSource' in type(source).__name__ def get_category(self): return AltControllerCategory.LOCAL def set_library_labels(self): # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) self.header.set_library_labels(song_label=_('Podcasts')) def toolbar_visibility(self): return True # podcast source the source toolbar is always shown class AltStandardOnlineController(AltGenericController): """ standard controller where we dont need specific customisation """ __gtype_name = 'AltStandardOnlineController' def __init__(self, header): """ Initialises the object. """ super(AltStandardOnlineController, self).__init__(header) self._source_types = ['MagnatuneSource', 'RBGriloSource', 'RadioBrowserSource'] def valid_source(self, source): print(type(source).__name__) for source_type in self._source_types: if source_type in type(source).__name__: return True return False def get_category(self): return AltControllerCategory.ONLINE class AltStandardLocalController(AltGenericController): """ standard controller where we dont need specific customisation """ __gtype_name = 'AltStandardLocalController' def __init__(self, header): """ Initialises the object. """ super(AltStandardLocalController, self).__init__(header) self._source_types = ['RBMtpSource'] def valid_source(self, source): print(type(source).__name__) for source_type in self._source_types: if source_type in type(source).__name__: return True return False def get_category(self): return AltControllerCategory.LOCAL class AltAndroidController(AltGenericController): ''' android controller ''' __gtype_name = 'AltAndroidController' def valid_source(self, source): ''' override ''' return 'RBAndroidSource' in type(source).__name__ def get_category(self): return AltControllerCategory.LOCAL alternative-toolbar-0.18.0/alttoolbar_plugins.py000066400000000000000000000362151324014357300220450ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. import gettext import re import webbrowser from gi.repository import GLib from gi.repository import Gio from gi.repository import Gtk from gi.repository import Pango from gi.repository import Peas from gi.repository import PeasGtk from alttoolbar_preferences import CoverLocale class PluginListRow(Gtk.ListBoxRow): def __init__(self, plugin, switch_callback): super(PluginListRow, self).__init__() self.plugin = plugin self._refresh = False self._switch_callback = switch_callback label1 = Gtk.Label() escape = GLib.markup_escape_text(plugin.get_name()) label1.set_markup("" + escape + "") label1.set_ellipsize(Pango.EllipsizeMode.END) label1.props.halign = Gtk.Align.START label1.set_has_tooltip(True) label1.props.margin_top = 5 label1.connect('query-tooltip', self._display_tooltip) label2 = Gtk.Label(plugin.get_description()) label2.set_ellipsize(Pango.EllipsizeMode.END) label2.props.halign = Gtk.Align.START label2.set_has_tooltip(True) label2.connect('query-tooltip', self._display_tooltip) label2.props.margin_bottom = 5 switch = Gtk.Switch.new() self._switch = switch switch.props.valign = Gtk.Align.CENTER sensitive = False try: if plugin.is_available(): sensitive = True switch.set_active(plugin.is_loaded()) except: pass box = Gtk.Box() box.set_orientation(Gtk.Orientation.VERTICAL) box.pack_start(label1, True, False, 0) box.pack_start(label2, True, False, 1) outerbox = Gtk.Box() outerbox.set_orientation(Gtk.Orientation.HORIZONTAL) outerbox.pack_start(Gtk.Label(" "), False, False, 0) outerbox.pack_start(box, False, False, 1) outerbox.pack_end(switch, False, False, 3) self.add(outerbox) self.outerbox = outerbox if not sensitive: self.add_error() switch.connect('notify::active', self._switch_changed) def _display_tooltip(self, label, x, y, mode, tooltip): if label.get_layout().is_ellipsized(): tooltip.set_text(label.get_text()) return True return False def _switch_changed(self, switch, *args): if self._refresh: return False self._refresh = True def delay(*args): print("switch_changed") print(switch.get_active()) self._switch_callback(switch, self.plugin) self._refresh = False GLib.timeout_add(250, delay, None) def add_error(self): icon = Gio.ThemedIcon(name="dialog-error-symbolic") error_image = Gtk.Image() error_image.props.margin = 5 error_image.set_from_gicon(icon, Gtk.IconSize.BUTTON) error_image.show_all() error_image.set_has_tooltip(True) error_image.set_tooltip_text(_('The plugin cannot be enabled')) self.outerbox.pack_end(error_image, False, False, 4) self.set_sensitive(False) def refresh(self, *args): try: if not self.plugin.is_available(): self.add_error() if self._switch.get_active() == self.plugin.is_loaded(): return self._switch.set_active(self.plugin.is_loaded()) except: self.add_error() class PluginDialog(Gtk.Dialog): def __init__(self, parent_window, has_headerbar): if has_headerbar: super(PluginDialog, self).__init__(use_header_bar=True, parent=parent_window, flags=Gtk.DialogFlags.MODAL) else: super(PluginDialog, self).__init__(parent=parent_window, flags=Gtk.DialogFlags.MODAL) self._has_headerbar = has_headerbar self._parent_window = parent_window listbox = Gtk.ListBox.new() listbox.set_sort_func(self._listbox_sort, None) self._listbox = listbox self._items = {} self._peas = Peas.Engine.get_default() plugins = self._peas.get_plugin_list() self._peas.connect_after('unload-plugin', self._on_load_unload_plugin) self._peas.connect_after('load-plugin', self._on_load_unload_plugin) for plugin in plugins: if not plugin.is_builtin() and not plugin.is_hidden(): row = PluginListRow(plugin, self._switch_callback) self._items[plugin.get_module_name()] = row listbox.add(row) # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.RB) def extract_text(str): # remove _ and (_A) type expressions translation = gettext.gettext(str) translation = re.sub('\(..\)', '', translation, flags=re.DOTALL) translation = translation.replace('_', '') return translation toolbar = Gtk.Toolbar.new() context = toolbar.get_style_context() context.add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR) item = Gtk.ToolItem.new() btn = Gtk.Button() icon = Gio.ThemedIcon(name="preferences-system-symbolic") image = Gtk.Image() image.props.margin = 3 btn.add(image) btn.set_tooltip_text(extract_text("_Preferences")) image.set_from_gicon(icon, Gtk.IconSize.BUTTON) box = Gtk.Box() box.pack_start(btn, False, False, 0) item.add(box) toolbar.insert(item, 0) btn.connect('clicked', self._preferences_button_clicked) self._preferences_button = btn minitoolbar_box = Gtk.ButtonBox() context = minitoolbar_box.get_style_context() context.add_class('linked') minitoolbar_box.set_layout(Gtk.ButtonBoxStyle.START) btn = Gtk.Button() icon = Gio.ThemedIcon(name="preferences-system-details-symbolic") image = Gtk.Image() image.props.margin = 3 btn.add(image) btn.set_tooltip_text(extract_text("_About")) image.set_from_gicon(icon, Gtk.IconSize.BUTTON) minitoolbar_box.add(btn) minitoolbar_box.child_set_property(btn, "non-homogeneous", True) btn.connect('clicked', self._info_button_clicked) self._info_button = btn btn = Gtk.Button() icon = Gio.ThemedIcon(name="help-contents-symbolic") image = Gtk.Image() image.props.margin = 3 btn.add(image) btn.set_tooltip_text(extract_text("_Help")) image.set_from_gicon(icon, Gtk.IconSize.BUTTON) minitoolbar_box.add(btn) minitoolbar_box.child_set_property(btn, "non-homogeneous", True) btn.connect('clicked', self._help_button_clicked) self._help_button = btn item = Gtk.SeparatorToolItem.new() item.props.draw = False toolbar.insert(item, 1) toolbar.child_set_property(item, "expand", True) item = Gtk.ToolItem.new() item.add(minitoolbar_box) toolbar.insert(item, 2) contentbox = Gtk.Box() contentbox.set_orientation(Gtk.Orientation.VERTICAL) scrollwindow = Gtk.ScrolledWindow.new(None, None) scrollwindow.add(listbox) scrollwindow.props.hexpand = True scrollwindow.props.vexpand = True contentbox.pack_start(scrollwindow, True, True, 0) contentbox.pack_start(toolbar, False, False, 1) self.props.title = _("Configure Plugins") if not self._has_headerbar: self.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE) else: headerbar = self.get_header_bar() headerbar.set_show_close_button(True) contentbox.show_all() area = self.get_content_area() area.add(contentbox) listbox.connect('row-selected', self._listbox_row_selected) def _on_load_unload_plugin(self, engine, plugin): module_name = plugin.get_module_name() print(module_name) if module_name in self._items: self._items[module_name].refresh() def _listbox_sort(self, row1, row2, *args): return row1.plugin.get_name().lower() > row2.plugin.get_name().lower() def _switch_callback(self, switch, plugin): value = switch.get_active() if value and not plugin.is_loaded(): self._peas.load_plugin(plugin) if not value and plugin.is_loaded(): self._peas.unload_plugin(plugin) row = switch.get_parent().get_parent() self._listbox.select_row(row) self._listbox_row_selected(_, row) def _get_preference_widget(self, row): try: ext = self._peas.create_extension(row.plugin, PeasGtk.Configurable, None) widget = ext.create_configure_widget() cl = CoverLocale() cl.switch_locale(cl.Locale.RB) return widget except: pass return None def _listbox_row_selected(self, listbox, row): if row: has_preference = False widget = self._get_preference_widget(row) if widget: has_preference = True self._preferences_button.set_sensitive(has_preference) help_link = row.plugin.get_help_uri() if help_link: self._help_button.set_sensitive(True) else: self._help_button.set_sensitive(False) def _help_button_clicked(self, *args): row = self._listbox.get_selected_row() help_link = row.plugin.get_help_uri() webbrowser.open(help_link) def _info_button_clicked(self, *args): if self._has_headerbar: dlg = Gtk.Dialog(use_header_bar=True, flags=Gtk.DialogFlags.MODAL) dlg.get_header_bar().set_show_close_button(True) else: dlg = Gtk.Dialog(flags=Gtk.DialogFlags.MODAL) dlg.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE) row = self._listbox.get_selected_row() title = row.plugin.get_name() version = row.plugin.get_version() dlg.props.title = _("About this plugin") area = dlg.get_content_area() widget = Gtk.Box() widget.set_orientation(Gtk.Orientation.VERTICAL) website = row.plugin.get_website() copyright = row.plugin.get_copyright() description = row.plugin.get_description() # authors = row.plugin.get_authors() help = row.plugin.get_help_uri() pos = 0 def get_label(label): label = Gtk.Label(label) label.set_line_wrap(True) label.set_justify(Gtk.Justification.CENTER) label.set_max_width_chars(60) return label label = Gtk.Label() escape = GLib.markup_escape_text(title) label.set_markup("" + escape + "") label.set_justify(Gtk.Justification.CENTER) label.props.margin_bottom = 5 widget.pack_start(label, False, False, pos) pos += 1 if version: label = get_label(_("Version: ") + version) label.props.margin_bottom = 5 widget.pack_start(label, False, False, pos) pos += 1 if description: label = get_label(description) label.props.margin_bottom = 5 widget.pack_start(label, False, False, pos) pos += 1 if copyright: label = get_label(copyright) label.props.margin_bottom = 5 widget.pack_start(label, False, False, pos) pos += 1 if title == _("Alternative Toolbar"): # special case for the this plugin grid = Gtk.Grid() grid.props.halign = Gtk.Align.CENTER label = Gtk.Label(_("Developer:")) label.props.halign = Gtk.Align.END grid.attach(label, 0, 0, 1, 1) link = Gtk.Label() link.props.halign = Gtk.Align.START m = " David " \ "Mohammed" link.set_markup(m) grid.attach(link, 1, 0, 1, 1) label = Gtk.Label(_("Designer:")) label.props.halign = Gtk.Align.END grid.attach(label, 0, 1, 1, 1) link = Gtk.Label() link.props.halign = Gtk.Align.START m = " Georgi " \ "Karavasilev" link.set_markup(m) grid.attach(link, 1, 1, 1, 1) widget.pack_start(grid, False, False, pos) grid.props.margin_bottom = 5 pos += 1 box = Gtk.Box() box.set_homogeneous(True) def launch_browser(button, uri): webbrowser.open(uri) button = Gtk.Button(_("Help")) if help: button.connect('clicked', launch_browser, help) else: button.set_sensitive(False) box.pack_start(button, False, True, 0) button = Gtk.Button(_("Homepage")) if help: button.connect('clicked', launch_browser, website) else: button.set_sensitive(False) box.pack_start(Gtk.Label(""), False, True, 1) box.pack_start(Gtk.Label(""), False, True, 2) box.pack_start(button, False, True, 3) widget.pack_start(box, False, True, pos) # pos += 1 widget.show_all() frame = Gtk.Frame.new("") frame.props.margin = 8 frame.set_shadow_type(Gtk.ShadowType.NONE) frame.add(widget) frame.show_all() area.add(frame) dlg.set_resizable(False) dlg.run() dlg.destroy() def _preferences_button_clicked(self, *args): row = self._listbox.get_selected_row() widget = self._get_preference_widget(row) if not widget: return if self._has_headerbar: dlg = Gtk.Dialog(use_header_bar=True, flags=Gtk.DialogFlags.MODAL) dlg.get_header_bar().set_show_close_button(True) else: dlg = Gtk.Dialog(flags=Gtk.DialogFlags.MODAL) dlg.add_button(Gtk.STOCK_CLOSE, Gtk.ResponseType.CLOSE) dlg.props.title = row.plugin.get_name() area = dlg.get_content_area() area.add(widget) dlg.set_resizable(False) dlg.run() dlg.destroy() alternative-toolbar-0.18.0/alttoolbar_preferences.py000066400000000000000000000325231324014357300226630ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. # define plugin import gettext import locale import os import shutil import sys import rb import gi from gi.repository import GObject from gi.repository import Gio from gi.repository import Gtk gi.require_version('PeasGtk', '1.0') from gi.repository import PeasGtk from gi.repository import RB class GSetting: """ This class manages the different settings that the plugin has to access to read or write. """ # storage for the instance reference __instance = None class __impl: """ Implementation of the singleton interface """ # below public variables and methods that can be called for GSetting def __init__(self): """ Initializes the singleton interface, assigning all the constants used to access the plugin's settings. """ self.Path = self._enum( PLUGIN='org.gnome.rhythmbox.plugins.alternative_toolbar') self.PluginKey = self._enum( DISPLAY_TYPE='display-type', START_HIDDEN='start-hidden', SHOW_COMPACT='show-compact', PLAYING_LABEL='playing-label', VOLUME_CONTROL='volume-control', INLINE_LABEL='inline-label', COMPACT_PROGRESSBAR='compact-progressbar', ENHANCED_SIDEBAR='enhanced-sidebar', EXPANDERS='expanders', SHOW_TOOLTIPS='show-tooltips', ENHANCED_PLUGINS='enhanced-plugins', REPEAT_TYPE='repeat-type', SOURCE_TOOLBAR='show-source-toolbar', HORIZ_CATEGORIES='horiz-categories', APP_MENU='app-menu-display', DARK_THEME='dark-theme' ) self.setting = {} def get_setting(self, path): """ Return an instance of Gio.Settings pointing at the selected path. """ try: setting = self.setting[path] except: self.setting[path] = Gio.Settings.new(path) setting = self.setting[path] return setting def get_value(self, path, key): """ Return the value saved on key from the settings path. """ return self.get_setting(path)[key] def set_value(self, path, key, value): """ Set the passed value to key in the settings path. """ self.get_setting(path)[key] = value def _enum(self, **enums): """ Create an enumn. """ return type('Enum', (), enums) def __init__(self): """ Create singleton instance """ # Check whether we already have an instance if GSetting.__instance is None: # Create and remember instance GSetting.__instance = GSetting.__impl() # Store instance reference as the only member in the handle self.__dict__['_GSetting__instance'] = GSetting.__instance def __getattr__(self, attr): """ Delegate access to implementation """ return getattr(self.__instance, attr) def __setattr__(self, attr, value): """ Delegate access to implementation """ return setattr(self.__instance, attr, value) class CoverLocale: """ This class manages the locale """ # storage for the instance reference __instance = None class __impl: """ Implementation of the singleton interface """ # below public variables and methods that can be called for CoverLocale def __init__(self): """ Initializes the singleton interface, assigning all the constants used to access the plugin's settings. """ self.Locale = self._enum( RB='rhythmbox', LOCALE_DOMAIN='alternative-toolbar') def switch_locale(self, locale_type): """ Change the locale """ locale.setlocale(locale.LC_ALL, '') locale.bindtextdomain(locale_type, RB.locale_dir()) locale.textdomain(locale_type) gettext.bindtextdomain(locale_type, RB.locale_dir()) gettext.textdomain(locale_type) gettext.install(locale_type) def get_locale(self): """ return the string representation of the users locale for example en_US """ return locale.getdefaultlocale()[0] def _enum(self, **enums): """ Create an enumn. """ return type('Enum', (), enums) def get_translation(self, value): """ return the translated version of the string """ return gettext.gettext(value) def __init__(self): """ Create singleton instance """ # Check whether we already have an instance if CoverLocale.__instance is None: # Create and remember instance CoverLocale.__instance = CoverLocale.__impl() # Store instance reference as the only member in the handle self.__dict__['_CoverLocale__instance'] = CoverLocale.__instance def __getattr__(self, attr): """ Delegate access to implementation """ return getattr(self.__instance, attr) def __setattr__(self, attr, value): """ Delegate access to implementation """ return setattr(self.__instance, attr, value) class Preferences(GObject.Object, PeasGtk.Configurable): """ Preferences for the Plugins. It holds the settings for the plugin and also is the responsible of creating the preferences dialog. """ __gtype_name__ = 'AlternativeToolbarPreferences' object = GObject.property(type=GObject.Object) def __init__(self): """ Initialises the preferences, getting an instance of the settings saved by Gio. """ GObject.Object.__init__(self) self.gs = GSetting() self.plugin_settings = self.gs.get_setting(self.gs.Path.PLUGIN) def do_create_configure_widget(self): """ Creates the plugin's preferences dialog """ print("DEBUG - create_display_contents") # create the ui self._first_run = True cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) builder = Gtk.Builder() builder.set_translation_domain(cl.Locale.LOCALE_DOMAIN) builder.add_from_file(rb.find_plugin_file(self, 'ui/altpreferences.ui')) builder.connect_signals(self) # bind the toggles to the settings start_hidden = builder.get_object('start_hidden_checkbox') start_hidden.set_active( not self.plugin_settings[self.gs.PluginKey.START_HIDDEN]) start_hidden.connect('toggled', self._start_hidden_checkbox_toggled) self._show_compact = builder.get_object('show_compact_checkbox') self.plugin_settings.bind(self.gs.PluginKey.SHOW_COMPACT, self._show_compact, 'active', Gio.SettingsBindFlags.DEFAULT) self._show_compact.connect('toggled', self._show_compact_checkbox_toggled) self._playing_label = builder.get_object('playing_label_checkbox') self.plugin_settings.bind(self.gs.PluginKey.PLAYING_LABEL, self._playing_label, 'active', Gio.SettingsBindFlags.DEFAULT) self._inline_label = builder.get_object('inline_label_checkbox') self.plugin_settings.bind(self.gs.PluginKey.INLINE_LABEL, self._inline_label, 'active', Gio.SettingsBindFlags.DEFAULT) volume_control = builder.get_object('volume_control_checkbox') self.plugin_settings.bind(self.gs.PluginKey.VOLUME_CONTROL, volume_control, 'active', Gio.SettingsBindFlags.DEFAULT) self._compact_control = builder.get_object('compact_checkbox') self.plugin_settings.bind(self.gs.PluginKey.COMPACT_PROGRESSBAR, self._compact_control, 'active', Gio.SettingsBindFlags.DEFAULT) self._enhanced_sidebar = builder.get_object( 'enhanced_sidebar_checkbox') self.plugin_settings.bind(self.gs.PluginKey.ENHANCED_SIDEBAR, self._enhanced_sidebar, 'active', Gio.SettingsBindFlags.DEFAULT) self._show_tooltips = builder.get_object('tooltips_checkbox') self.plugin_settings.bind(self.gs.PluginKey.SHOW_TOOLTIPS, self._show_tooltips, 'active', Gio.SettingsBindFlags.DEFAULT) self._enhanced_plugins = \ builder.get_object('enhanced_plugins_checkbox') self.plugin_settings.bind(self.gs.PluginKey.ENHANCED_PLUGINS, self._enhanced_plugins, 'active', Gio.SettingsBindFlags.DEFAULT) self._dark_theme = \ builder.get_object('dark_theme_checkbox') self.plugin_settings.bind(self.gs.PluginKey.DARK_THEME, self._dark_theme, 'active', Gio.SettingsBindFlags.DEFAULT) modern_switch = builder.get_object('modern_switch') # modern_switch.connect('state-set', self._modern_switch_state) modern_switch.connect('notify', self._modern_switch_state) # Determine what type of toolbar is to be displayed default = Gtk.Settings.get_default() display_type = self.plugin_settings[self.gs.PluginKey.DISPLAY_TYPE] if display_type == 0: if (not default.props.gtk_shell_shows_app_menu) or \ default.props.gtk_shell_shows_menubar: modern_switch.set_active(False) else: modern_switch.set_active(True) elif display_type == 1: modern_switch.set_active(True) else: modern_switch.set_active(False) if modern_switch.get_active(): self._show_compact.set_active(True) self._show_compact_checkbox_toggled(self._show_compact) infobar = builder.get_object('infobar') button = infobar.add_button(_("Restart"), 1) # restart_button = builder.get_object('restart_button') button.connect('clicked', self._restart_button_clicked) self._hcategory_radiobutton = builder.get_object( 'hcategory_radiobutton') self._vcategory_radiobutton = builder.get_object( 'vcategory_radiobutton') category = self.plugin_settings[self.gs.PluginKey.HORIZ_CATEGORIES] if category: self._vcategory_radiobutton.set_active(True) else: self._hcategory_radiobutton.set_active(True) self._hcategory_radiobutton.connect('toggled', self._category_radiobutton) self._vcategory_radiobutton.connect('toggled', self._category_radiobutton) self._first_run = False return builder.get_object('preferences_box') def _category_radiobutton(self, button): if button.get_active(): if button == self._hcategory_radiobutton: value = False else: value = True self.plugin_settings[self.gs.PluginKey.HORIZ_CATEGORIES] = value def _restart_button_clicked(self, *args): exepath = shutil.which('rhythmbox') os.execl(exepath, exepath, *sys.argv) def _start_hidden_checkbox_toggled(self, toggle_button): self.plugin_settings[self.gs.PluginKey.START_HIDDEN] = \ not toggle_button.get_active() def _show_compact_checkbox_toggled(self, toggle_button): enabled = toggle_button.get_active() self._show_tooltips.set_sensitive(enabled) self._inline_label.set_sensitive(enabled) self._playing_label.set_sensitive(enabled) self._compact_control.set_sensitive(enabled) def _modern_switch_state(self, switch, param): state = switch.get_active() self._show_compact.set_sensitive(not state) if state: self._show_compact.set_active(True) self.plugin_settings[self.gs.PluginKey.DISPLAY_TYPE] = 1 else: self.plugin_settings[self.gs.PluginKey.DISPLAY_TYPE] = 2 alternative-toolbar-0.18.0/alttoolbar_rb3compat.py000066400000000000000000000701751324014357300222610ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # IMPORTANT - WHILST THIS MODULE IS USED BY SEVERAL OTHER PLUGINS # THE MASTER AND MOST UP-TO-DATE IS FOUND IN THE COVERART BROWSER # PLUGIN - https://github.com/fossfreedom/coverart-browser # PLEASE SUBMIT CHANGES BACK TO HELP EXPAND THIS API # # Copyright (C) 2012-2018 - David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. import sys import xml.etree.ElementTree as ET import rb from gi.repository import GLib from gi.repository import GObject from gi.repository import Gio from gi.repository import Gtk from gi.repository import RB def gtk_version(): """ returns float of the major and minor parts of the GTK version e.g. return float(3.10) """ return float(str(Gtk.get_major_version()) + "." + str(Gtk.get_minor_version())) def pygobject_version(): """ returns float of the major and minor parts of a pygobject version e.g. version (3, 9, 5) return float(3.9) """ to_number = lambda t: ".".join(str(v) for v in t) str_version = to_number(GObject.pygobject_version) return float(str_version.rsplit('.', 1)[0]) def compare_pygobject_version(version): """ return True if version is less than pygobject_version i.e. 3.9 < 3.11 """ to_number = lambda t: ".".join(str(v) for v in t) str_version = to_number(GObject.pygobject_version) split = str_version.rsplit('.', 2) split_compare = version.rsplit('.', 2) if int(split_compare[0]) < int(split[0]): return True if int(split_compare[1]) < int(split[1]): return True return False PYVER = sys.version_info[0] if PYVER >= 3: import urllib.request import urllib.parse import urllib.error else: import urllib from urlparse import urlparse as rb2urlparse if PYVER >= 3: import http.client # pyflakes doesnt like python2 unicode so lets give it something # to chew on def unicode(a, b): return (a, b) else: import httplib def responses(): if PYVER >= 3: return http.client.responses else: return httplib.responses def unicodestr(param, charset): if PYVER >= 3: return param # str(param, charset) else: return unicode(param, charset) def unicodeencode(param, charset): if PYVER >= 3: return param # str(param).encode(charset) else: return unicode(param).encode(charset) def unicodedecode(param, charset): if PYVER >= 3: return param else: return param.decode(charset) def urlparse(uri): if PYVER >= 3: return urllib.parse.urlparse(uri) else: return rb2urlparse(uri) def url2pathname(url): if PYVER >= 3: return urllib.request.url2pathname(url) else: return urllib.url2pathname(url) def urlopen(filename): if PYVER >= 3: return urllib.request.urlopen(filename) else: return urllib.urlopen(filename) def pathname2url(filename): if PYVER >= 3: return urllib.request.pathname2url(filename) else: return urllib.pathname2url(filename) def unquote(uri): if PYVER >= 3: return urllib.parse.unquote(uri) else: return urllib.unquote(uri) def quote(uri, safe=None): if PYVER >= 3: if safe: return urllib.parse.quote(uri, safe=safe) else: return urllib.parse.quote(uri) else: if safe: return urllib.quote(uri, safe=safe) else: return urllib.quote(uri) def quote_plus(uri): if PYVER >= 3: return urllib.parse.quote_plus(uri) else: return urllib.quote_plus(uri) def is_rb3(*args): if hasattr(RB.Shell.props, 'ui_manager'): return False else: return True class Menu(GObject.Object): """ Menu object used to create window popup menus """ __gsignals__ = { 'pre-popup': (GObject.SIGNAL_RUN_LAST, None, ()) } def __init__(self, plugin, shell): """ Initializes the menu. """ super(Menu, self).__init__() self.plugin = plugin self.shell = shell self._unique_num = 0 self._rbmenu_items = {} self._rbmenu_objects = {} def add_menu_item(self, menubar, section_name, action): """ add a new menu item to the popup :param menubar: `str` is the name GtkMenu (or ignored for RB2.99+) :param section_name: `str` is the name of the section to add the item to (RB2.99+) :param action: `Action` to associate with the menu item """ return self.insert_menu_item(menubar, section_name, -1, action) def insert_menu_item(self, menubar, section_name, position, action): """ add a new menu item to the popup :param menubar: `str` is the name GtkMenu (or ignored for RB2.99+) :param section_name: `str` is the name of the section to add the item to (RB2.99+) :param position: `int` position to add to GtkMenu (ignored for RB2.99+) :param action: `Action` to associate with the menu item """ label = action.label if is_rb3(self.shell): app = self.shell.props.application item = Gio.MenuItem() action.associate_menuitem(item) item.set_label(label) if section_name not in self._rbmenu_items: self._rbmenu_items[section_name] = [] self._rbmenu_items[section_name].append(label) app.add_plugin_menu_item(section_name, label, item) else: item = Gtk.MenuItem(label=label) action.associate_menuitem(item) self._rbmenu_items[label] = item bar = self.get_menu_object(menubar) if position == -1: bar.append(item) else: bar.insert(item, position) bar.show_all() uim = self.shell.props.ui_manager uim.ensure_update() return item def insert_separator(self, menubar, at_position): """ add a separator to the popup (only required for RB2.98 and earlier) :param menubar: `str` is the name GtkMenu (or ignored for RB2.99+) :param position: `int` position to add to GtkMenu (ignored for RB2.99+) """ if not is_rb3(self.shell): menu_item = Gtk.SeparatorMenuItem().new() menu_item.set_visible(True) self._rbmenu_items['separator' + str(self._unique_num)] = menu_item self._unique_num = self._unique_num + 1 bar = self.get_menu_object(menubar) bar.insert(menu_item, at_position) bar.show_all() uim = self.shell.props.ui_manager uim.ensure_update() def remove_menu_items(self, menubar, section_name): """ utility function to remove all menuitems associated with the menu section :param menubar: `str` is the name of the GtkMenu containing the menu items (ignored for RB2.99+) :param section_name: `str` is the name of the section containing the menu items (for RB2.99+ only) """ if is_rb3(self.shell): if section_name not in self._rbmenu_items: return app = self.shell.props.application for menu_item in self._rbmenu_items[section_name]: app.remove_plugin_menu_item(section_name, menu_item) if self._rbmenu_items[section_name]: del self._rbmenu_items[section_name][:] else: if not self._rbmenu_items: return uim = self.shell.props.ui_manager bar = self.get_menu_object(menubar) for menu_item in self._rbmenu_items: bar.remove(self._rbmenu_items[menu_item]) bar.show_all() uim.ensure_update() def load_from_file(self, rb2_ui_filename, rb3_ui_filename): """ utility function to load the menu structure :param rb2_ui_filename: `str` RB2.98 and below UI file :param rb3_ui_filename: `str` RB2.99 and higher UI file """ self.builder = Gtk.Builder() try: from coverart_browser_prefs import CoverLocale cl = CoverLocale() self.builder.set_translation_domain(cl.Locale.LOCALE_DOMAIN) except: pass if is_rb3(self.shell): ui_filename = rb3_ui_filename else: ui_filename = rb2_ui_filename self.ui_filename = ui_filename self.builder.add_from_file(rb.find_plugin_file(self.plugin, ui_filename)) def _connect_rb3_signals(self, signals): def _menu_connect(action_name, func): action = Gio.SimpleAction(name=action_name) action.connect('activate', func) action.set_enabled(True) self.shell.props.window.add_action(action) for key, value in signals.items(): _menu_connect(key, value) def _connect_rb2_signals(self, signals): def _menu_connect(menu_item_name, func): menu_item = self.get_menu_object(menu_item_name) menu_item.connect('activate', func) for key, value in signals.items(): _menu_connect(key, value) def connect_signals(self, signals): """ connect all signal handlers with their menuitem counterparts :param signals: `dict` key is the name of the menuitem and value is the function callback when the menu is activated """ if is_rb3(self.shell): self._connect_rb3_signals(signals) else: self._connect_rb2_signals(signals) def get_gtkmenu(self, source, popup_name): """ utility function to obtain the GtkMenu from the menu UI file :param popup_name: `str` is the name menu-id in the UI file """ if popup_name in self._rbmenu_objects: return self._rbmenu_objects[popup_name] item = self.builder.get_object(popup_name) if is_rb3(self.shell): app = self.shell.props.application app.link_shared_menus(item) popup_menu = Gtk.Menu.new_from_model(item) popup_menu.attach_to_widget(source, None) else: popup_menu = item self._rbmenu_objects[popup_name] = popup_menu return popup_menu def get_menu_object(self, menu_name_or_link): """ utility function returns the GtkMenuItem/Gio.MenuItem :param menu_name_or_link: `str` to search for in the UI file """ if menu_name_or_link in self._rbmenu_objects: return self._rbmenu_objects[menu_name_or_link] item = self.builder.get_object(menu_name_or_link) if is_rb3(self.shell): if item: popup_menu = item else: app = self.shell.props.application popup_menu = app.get_plugin_menu(menu_name_or_link) else: popup_menu = item print(menu_name_or_link) self._rbmenu_objects[menu_name_or_link] = popup_menu return popup_menu def set_sensitive(self, menu_or_action_item, enable): """ utility function to enable/disable a menu-item :param menu_or_action_item: `GtkMenuItem` or `Gio.SimpleAction` that is to be enabled/disabled :param enable: `bool` value to enable/disable """ if is_rb3(self.shell): item = self.shell.props.window.lookup_action(menu_or_action_item) item.set_enabled(enable) else: item = self.get_menu_object(menu_or_action_item) item.set_sensitive(enable) def popup(self, source, menu_name, button, time): """ utility function to show the popup menu """ self.emit('pre-popup') menu = self.get_gtkmenu(source, menu_name) menu.popup(None, None, None, None, button, time) class ActionGroup(object): """ container for all Actions used to associate with menu items """ # action_state STANDARD = 0 TOGGLE = 1 def __init__(self, shell, group_name): """ constructor :param shell: `RBShell` :param group_name: `str` unique name for the object to create """ self.group_name = group_name self.shell = shell self._actions = {} if is_rb3(self.shell): self.actiongroup = Gio.SimpleActionGroup() else: self.actiongroup = Gtk.ActionGroup(group_name) uim = self.shell.props.ui_manager uim.insert_action_group(self.actiongroup) @property def name(self): return self.group_name def remove_actions(self): """ utility function to remove all actions associated with the ActionGroup """ for action in self.actiongroup.list_actions(): self.actiongroup.remove_action(action) def get_action(self, action_name): """ utility function to obtain the Action from the ActionGroup :param action_name: `str` is the Action unique name """ return self._actions[action_name] def add_action_with_accel(self, func, action_name, accel, **args): """ Creates an Action with an accelerator and adds it to the ActionGroup :param func: function callback used when user activates the action :param action_name: `str` unique name to associate with an action :param accel: `str` accelerator :param args: dict of arguments - this is passed to the function callback Notes: see notes for add_action """ args['accel'] = accel return self.add_action(func, action_name, **args) def add_action(self, func, action_name, **args): """ Creates an Action and adds it to the ActionGroup :param func: function callback used when user activates the action :param action_name: `str` unique name to associate with an action :param args: dict of arguments - this is passed to the function callback Notes: key value of "label" is the visual menu label to display key value of "action_type" is the RB2.99 Gio.Action type ("win" or "app") by default it assumes all actions are "win" type key value of "action_state" determines what action state to create """ if 'label' in args: label = args['label'] else: label = action_name if 'accel' in args: accel = args['accel'] else: accel = None state = ActionGroup.STANDARD if 'action_state' in args: state = args['action_state'] if is_rb3(self.shell): if state == ActionGroup.TOGGLE: action = Gio.SimpleAction.new_stateful(action_name, None, GLib.Variant('b', False)) else: action = Gio.SimpleAction.new(action_name, None) action_type = 'win' if 'action_type' in args: if args['action_type'] == 'app': action_type = 'app' app = Gio.Application.get_default() if action_type == 'app': app.add_action(action) else: self.shell.props.window.add_action(action) self.actiongroup.add_action(action) if accel: app.set_accels_for_action(action_type + "." + action_name, [accel]) else: if 'stock_id' in args: stock_id = args['stock_id'] else: stock_id = Gtk.STOCK_CLEAR if state == ActionGroup.TOGGLE: action = Gtk.ToggleAction(label=label, name=action_name, tooltip='', stock_id=stock_id) else: action = Gtk.Action(label=label, name=action_name, tooltip='', stock_id=stock_id) if accel: self.actiongroup.add_action_with_accel(action, accel) else: self.actiongroup.add_action(action) act = Action(self.shell, action) act.connect('activate', func, args) act.label = label act.accel = accel self._actions[action_name] = act return act class ApplicationShell(object): """ Unique class that mirrors RB.Application & RB.Shell menu functionality """ # storage for the instance reference __instance = None class __impl: """ Implementation of the singleton interface """ def __init__(self, shell): self.shell = shell if is_rb3(self.shell): self._uids = {} else: self._uids = [] self._action_groups = {} def insert_action_group(self, action_group): """ Adds an ActionGroup to the ApplicationShell :param action_group: `ActionGroup` to add """ self._action_groups[action_group.name] = action_group def lookup_action(self, action_group_name, action_name, action_type='app'): """ looks up (finds) an action created by another plugin. If found returns an Action or None if no matching Action. :param action_group_name: `str` is the Gtk.ActionGroup name (ignored for RB2.99+) :param action_name: `str` unique name for the action to look for :param action_type: `str` RB2.99+ action type ("win" or "app") """ if is_rb3(self.shell): if action_type == "app": action = \ self.shell.props.application.lookup_action(action_name) else: action = self.shell.props.window.lookup_action(action_name) else: uim = self.shell.props.ui_manager ui_actiongroups = uim.get_action_groups() actiongroup = None for actiongroup in ui_actiongroups: if actiongroup.get_name() == action_group_name: break action = None if actiongroup: action = actiongroup.get_action(action_name) if action: return Action(self.shell, action) else: return None def add_app_menuitems(self, ui_string, group_name, menu='tools'): """ utility function to add application menu items. For RB2.99 all application menu items are added to the "tools" section of the application menu. All Actions are assumed to be of action_type "app". For RB2.98 or less, it is added however the UI_MANAGER string is defined. :param ui_string: `str` is the Gtk UI definition. There is not an equivalent UI definition in RB2.99 but we can parse out menu items since this string is in XML format :param group_name: `str` unique name of the ActionGroup to add menu items to :param menu: `str` RB2.99 menu section to add to - nominally either 'tools' or 'view' """ if is_rb3(self.shell): root = ET.fromstring(ui_string) for elem in root.findall(".//menuitem"): action_name = elem.attrib['action'] group = self._action_groups[group_name] act = group.get_action(action_name) item = Gio.MenuItem() item.set_detailed_action('app.' + action_name) item.set_label(act.label) item.set_attribute_value("accel", GLib.Variant("s", act.accel)) app = Gio.Application.get_default() index = menu + action_name app.add_plugin_menu_item(menu, index, item) self._uids[index] = menu else: uim = self.shell.props.ui_manager self._uids.append(uim.add_ui_from_string(ui_string)) uim.ensure_update() def add_browser_menuitems(self, ui_string, group_name): """ utility function to add popup menu items to existing browser popups For RB2.99 all menu items are are assumed to be of action_type "win". For RB2.98 or less, it is added however the UI_MANAGER string is defined. :param ui_string: `str` is the Gtk UI definition. There is not an equivalent UI definition in RB2.99 but we can parse out menu items since this string is in XML format :param group_name: `str` unique name of the ActionGroup to add menu items to """ if is_rb3(self.shell): root = ET.fromstring(ui_string) for elem in root.findall("./popup"): popup_name = elem.attrib['name'] menuelem = elem.find('.//menuitem') action_name = menuelem.attrib['action'] group = self._action_groups[group_name] act = group.get_action(action_name) item = Gio.MenuItem() item.set_detailed_action('win.' + action_name) item.set_label(act.label) app = Gio.Application.get_default() if popup_name == 'QueuePlaylistViewPopup': plugin_type = 'queue-popup' elif popup_name == 'BrowserSourceViewPopup': plugin_type = 'browser-popup' elif popup_name == 'PlaylistViewPopup': plugin_type = 'playlist-popup' elif popup_name == 'PodcastViewPopup': plugin_type = 'podcast-episode-popup' else: print("unknown type %s" % plugin_type) index = plugin_type + action_name app.add_plugin_menu_item(plugin_type, index, item) self._uids[index] = plugin_type else: uim = self.shell.props.ui_manager self._uids.append(uim.add_ui_from_string(ui_string)) uim.ensure_update() def cleanup(self): """ utility remove any menuitems created. """ if is_rb3(self.shell): for uid in self._uids: Gio.Application.get_default().remove_plugin_menu_item( self._uids[uid], uid) else: uim = self.shell.props.ui_manager for uid in self._uids: uim.remove_ui(uid) uim.ensure_update() def __init__(self, shell): """ Create singleton instance """ # Check whether we already have an instance if ApplicationShell.__instance is None: # Create and remember instance ApplicationShell.__instance = ApplicationShell.__impl(shell) # Store instance reference as the only member in the handle self.__dict__['_ApplicationShell__instance'] = \ ApplicationShell.__instance def __getattr__(self, attr): """ Delegate access to implementation """ return getattr(self.__instance, attr) def __setattr__(self, attr, value): """ Delegate access to implementation """ return setattr(self.__instance, attr, value) class Action(object): """ class that wraps around either a Gio.Action or a Gtk.Action """ def __init__(self, shell, action): """ constructor. :param shell: `RBShell` :param action: `Gio.Action` or `Gtk.Action` """ self.shell = shell self.action = action self._label = '' self._accel = '' self._current_state = False self._do_update_state = True def connect(self, address, func, args): self._connect_func = func self._connect_args = args if address == 'activate': func = self._activate if is_rb3(self.shell): self.action.connect(address, func, args) else: self.action.connect(address, func, None, args) def _activate(self, action, *args): if self._do_update_state: self._current_state = not self._current_state self.set_state(self._current_state) self._connect_func(action, None, self._connect_args) @property def label(self): """ get the menu label associated with the Action for RB2.99+ actions dont have menu labels so this is managed manually """ if not is_rb3(self.shell): return self.action.get_label() else: return self._label @label.setter def label(self, new_label): if not is_rb3(self.shell): self.action.set_label(new_label) self._label = new_label @property def accel(self): """ get the accelerator associated with the Action """ return self._accel @accel.setter def accel(self, new_accelerator): if new_accelerator: self._accel = new_accelerator else: self._accel = '' def get_sensitive(self): """ get the sensitivity (enabled/disabled) state of the Action returns boolean """ if is_rb3(self.shell): return self.action.get_enabled() else: return self.action.get_sensitive() def set_state(self, value): """ set the state of a stateful action - this is applicable only to RB2.99+ """ if is_rb3(self.shell) and self.action.props.state_type: self.action.change_state(GLib.Variant('b', value)) def activate(self): """ invokes the activate signal for the action """ if is_rb3(self.shell): self.action.activate(None) else: self.action.activate() def set_active(self, value): """ activate or deactivate a stateful action signal For consistency with earlier RB versions, this will fire the activate signal for the action :param value: `boolean` state value """ if is_rb3(self.shell): self.action.change_state(GLib.Variant('b', value)) self._current_state = value self._do_update_state = False self.activate() self._do_update_state = True else: self.action.set_active(value) def get_active(self): """ get the state of the action returns `boolean` state value """ if is_rb3(self.shell): returnval = self._current_state else: returnval = self.action.get_active() return returnval def associate_menuitem(self, menuitem): """ links a menu with the action """ if is_rb3(self.shell): menuitem.set_detailed_action('win.' + self.action.get_name()) else: menuitem.set_related_action(self.action) alternative-toolbar-0.18.0/alttoolbar_repeat.py000066400000000000000000000377721324014357300216550ustar00rootroot00000000000000# This is a part of the external Repeat One Song plugin for Rhythmbox # # Author: Eduardo Mucelli Rezende Oliveira # E-mail: edumucelli@gmail.com or eduardom@dcc.ufmg.br # Version: 0.4 (Unstable) for Rhythmbox 3.0.1 or later # # # reworked for alternative-toolbar # Author: David Mohammed 2015-2018 # # 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 3 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. from gi.repository import GLib from gi.repository import GObject from gi.repository import Gdk from gi.repository import Gio from gi.repository import Gtk from alttoolbar_preferences import CoverLocale from alttoolbar_preferences import GSetting from alttoolbar_rb3compat import gtk_version class Repeat(GObject.Object): def __init__(self, shell, toggle_button): """ :param toggle_button: button that controls the repeat functions :return: """ GObject.Object.__init__(self) # use this to start the repeat-one-song capability (if True) self.repeat_song = False self.shell = shell self.toggle_button = toggle_button # self.one_song_stprint ("adjoining") ate_normal, self.one_song_state_eos = range(2) # self.one_song_state = self.one_song_state_normal player = self.shell.props.shell_player # Please refer to the comments above to understand why those # two callbacks are not being used currently, Rhytmbox 2.99.1 # player.connect('playing-song-changed', self.on_song_change) # player.props.player.connect('eos', self.on_gst_player_eos) player.connect('elapsed-changed', self.on_elapsed_change) if gtk_version() >= 3.12: popover = Gtk.Popover.new(toggle_button) repeat = RepeatPopContainer(popover, toggle_button) popover.add(repeat) popover.set_modal(False) else: # use our custom Popover equivalent for Gtk+3.10 folks popover = CustomPopover(toggle_button) repeat = RepeatPopContainer(popover, toggle_button) popover.add(repeat) toggle_button.connect("toggled", self._on_toggle, popover, repeat) repeat.connect('repeat-type-changed', self._on_repeat_type_changed) self._on_repeat_type_changed(repeat, repeat.get_repeat_type()) def _on_toggle(self, toggle, popover, repeat): if toggle.get_active(): popover.show_all() self.repeat_song = \ repeat.get_repeat_type() == RepeatPopContainer.ONE_SONG else: popover.hide() self.repeat_song = False self._set_toggle_tooltip(repeat) print("on toggle", self.repeat_song) def _set_toggle_tooltip(self, repeat): # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) if self.toggle_button.get_has_tooltip(): if repeat.get_repeat_type() == RepeatPopContainer.ALL_SONGS: message = _("Repeat all tracks") else: message = _("Repeat the current track") self.toggle_button.set_tooltip_text(message) cl = CoverLocale() cl.switch_locale(cl.Locale.RB) def _on_repeat_type_changed(self, repeat, repeat_type): if self.toggle_button.get_active(): if repeat_type == RepeatPopContainer.ONE_SONG: self.repeat_song = True else: self.repeat_song = False else: self.repeat_song = False self._set_toggle_tooltip(repeat) print("repeat type changed", self.repeat_song) # Looks like there is a bug on gstreamer player and a seg fault # happens as soon as the 'eos' callback is called. # https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/1239218 # As soon it gets fixed or a code-based workaround gets available, # this method in conjunction with on_song_change will be used as # the way to control the song repetition. Meanwhile, on_elapsed_change # will be the chosen solution def on_gst_player_eos(self, gst_player, stream_data, early=0): # EOS signal means that the song changed because the song is over. # ie. the user did not explicitly change the song. # https://developer.gnome.org/rhythmbox/ # unstable/RBPlayer.html#RBPlayer-eos if self.repeat_song: self.one_song_state = self.one_song_state_eos # This is a old method to 'repeat' the current song as soon as it # reaches the last second. Will be the used until the bug mentioned on the # comments above gets fixed. def on_song_change(self, player, time): if self.one_song_state == self.one_song_state_eos: self.one_song_state = self.one_song_state_normal player.do_previous() # This is a old method to 'repeat' the current song as soon as it # reaches the last second. Will be the used until the bug mentioned on the # comments above gets fixed. # This might be improved keeping a instance variable with the duration and # updating it on_song_change. Therefore, it would not be # necessary to query the duration every time def on_elapsed_change(self, player, time): if self.repeat_song: duration = player.get_playing_song_duration() if duration > 0: # Repeat on the last two seconds of the song. Previously the # last second was used but RB now seems to use the last second # to prepare things for the next song of the list if time >= duration - 2: player.set_playing_time(0) class RepeatPopContainer(Gtk.ButtonBox): __gsignals__ = { "repeat-type-changed": (GObject.SIGNAL_RUN_LAST, None, (int,)) } # repeat-type-changed is emitted with one of the following values ONE_SONG = 1 ALL_SONGS = 2 def __init__(self, parent_container, parent_button, *args, **kwargs): super(RepeatPopContainer, self).__init__(*args, **kwargs) self.set_orientation(Gtk.Orientation.HORIZONTAL) self.set_layout(Gtk.ButtonBoxStyle.START) self.props.margin = 5 context = self.get_style_context() context.add_class('linked') icon_size = 4 toggle1 = Gtk.RadioButton.new(None) toggle1.set_mode(False) fallback = 'media-playlist-repeat-symbolic' icon = Gio.ThemedIcon.new_with_default_fallbacks(fallback) image = Gtk.Image() image.set_from_gicon(icon, icon_size) image.props.margin = 5 toggle1.set_image(image) toggle1.connect('leave-notify-event', self._on_popover_mouse_over) toggle1.connect('enter-notify-event', self._on_popover_mouse_over) toggle1.connect('toggled', self._on_popover_button_toggled) # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) if parent_button.get_has_tooltip(): toggle1.set_tooltip_text(_("Repeat all tracks")) self._repeat_button = toggle1 self.add(toggle1) self.child_set_property(toggle1, "non-homogeneous", True) toggle1.show_all() self._repeat_image = Gtk.Image() self._repeat_image.set_from_gicon(icon, icon_size) self._repeat_image.props.margin = 5 toggle2 = Gtk.RadioButton.new_from_widget(toggle1) toggle2.set_mode(False) sym = 'media-playlist-repeat-song-symbolic' icon2 = Gio.ThemedIcon.new_with_default_fallbacks(sym) image2 = Gtk.Image() image2.set_from_gicon(icon2, icon_size) image2.props.margin = 5 toggle2.set_image(image2) if parent_button.get_has_tooltip(): toggle2.set_tooltip_text(_("Repeat the current track")) self._repeat_song_image = Gtk.Image() self._repeat_song_image.set_from_gicon(icon2, icon_size) self._repeat_song_image.props.margin = 5 toggle2.connect('leave-notify-event', self._on_popover_mouse_over) toggle2.connect('enter-notify-event', self._on_popover_mouse_over) toggle2.connect('toggled', self._on_popover_button_toggled) toggle2.show_all() self._repeat_song_button = toggle2 self.add(toggle2) self.child_set_property(toggle2, "non-homogeneous", True) self._popover_inprogress = 0 parent_container.connect('leave-notify-event', self._on_popover_mouse_over) parent_container.connect('enter-notify-event', self._on_popover_mouse_over) parent_button.connect('leave-notify-event', self._on_popover_mouse_over) parent_button.connect('enter-notify-event', self._on_popover_mouse_over) parent_button.set_image(self._repeat_image) self._parent_container = parent_container self._parent_button = parent_button # now get the repeat-type saved in gsettings # get values from gsettings self.gs = GSetting() self.plugin_settings = self.gs.get_setting(self.gs.Path.PLUGIN) repeat_type = self.plugin_settings[self.gs.PluginKey.REPEAT_TYPE] if repeat_type == RepeatPopContainer.ONE_SONG: self._repeat_song_button.set_active(True) def _on_popover_button_toggled(self, button, *args): print("popover toggle") if button.get_active(): if button == self._repeat_button: self._parent_button.set_image(self._repeat_image) self.emit('repeat-type-changed', RepeatPopContainer.ALL_SONGS) self.plugin_settings[self.gs.PluginKey.REPEAT_TYPE] = \ RepeatPopContainer.ALL_SONGS else: self._parent_button.set_image(self._repeat_song_image) self.emit('repeat-type-changed', RepeatPopContainer.ONE_SONG) self.plugin_settings[self.gs.PluginKey.REPEAT_TYPE] = \ RepeatPopContainer.ONE_SONG def get_repeat_type(self): repeat_type = RepeatPopContainer.ALL_SONGS if self._repeat_song_button.get_active(): repeat_type = RepeatPopContainer.ONE_SONG return repeat_type def _on_popover_mouse_over(self, widget, eventcrossing): if eventcrossing.type == Gdk.EventType.ENTER_NOTIFY: if self._popover_inprogress == 0: self._popover_inprogress = 1 print("enter1") else: self._popover_inprogress = 2 print("enter2") self._popover_inprogress_count = 0 if type(widget) is Gtk.ToggleButton: print("here") if widget.get_active(): print(self._parent_container) self._parent_container.show_all() else: print("exit") self._popover_inprogress = 3 def delayed(*args): if self._popover_inprogress == 3: self._popover_inprogress_count += 1 if self._popover_inprogress_count < 5: return True self._parent_container.hide() self._popover_inprogress = 0 print("exit timeout") return False else: return True if self._popover_inprogress == 1: print("adding timeout") self._popover_inprogress = 2 GLib.timeout_add(100, delayed) class CustomPopover(Gtk.Window): def __init__(self, parent_button, *args, **kwargs): super(CustomPopover, self).__init__(type=Gtk.WindowType.POPUP, *args, **kwargs) self.set_decorated(False) self.set_resizable(False) self.set_type_hint(Gdk.WindowTypeHint.DOCK) self.stick() self._parent_button = parent_button self.connect_after('show', self._on_show) # Track movements of the window to move calendar window as well self.connect("configure-event", self.on_window_config) def add(self, widget): self._frame = Gtk.Frame() self._frame.add(widget) super(CustomPopover, self).add(self._frame) self._frame.show_all() # Popoverwindow co ordinates without off-screen correction: # Window origin (x, y) # | # V # --------------------------------- # | Main Window | # | | # | | # |Toggle button's (x, y) | # |(relative to parent window) | # | | | # | V | # | ......................... | # Popover | | Toggle Button | | # window's | | | | # (x, y)---+> ......................... | # |(window will be here) | # | | # | | # --------------------------------- # Popover Window's screen coordinates: # x = Window's origin x + Toggle Button's relative x # y = Window's origin y + Toggle Button's relative y + Toggle Button's # height def _on_show(self, widget): rect = self._parent_button.get_allocation() main_window = self._parent_button.get_toplevel() [val, win_x, win_y] = main_window.get_window().get_origin() cal_x = win_x + rect.x cal_y = win_y + rect.y + rect.height [x, y] = self.apply_screen_coord_correction(cal_x, cal_y) self.move(x, y) # This function "tries" to correct calendar window position so that it is # not obscured when # a portion of main window is off-screen. # Known bug: If the main window is partially off-screen before Calendar # window # has been realized then get_allocation() will return rect of 1x1 in which # case # the calculations will fail & correction will not be applied def apply_screen_coord_correction(self, x, y): corrected_y = y corrected_x = x rect = self.get_allocation() screen_w = Gdk.Screen.width() screen_h = Gdk.Screen.height() delta_x = screen_w - (x + rect.width) delta_y = screen_h - (y + rect.height) if delta_x < 0: corrected_x += delta_x print("at x") if corrected_x < 0: corrected_x = 0 button_rect = self._parent_button.get_allocation() window_width, window_height = \ self._parent_button.get_toplevel().get_size() # print (y, button_rect.y, button_rect.height, ) calc = (window_height - (button_rect.y + (button_rect.height * 2))) if delta_y < 0 or (calc < 0): btn_hgt = self._parent_button.get_allocation().height corrected_y = y - rect.height - btn_hgt print("at y") if corrected_y < 0: corrected_y = 0 return [corrected_x, corrected_y] # "configure-event" callback of main window, try to move calendar window # along with main window. def on_window_config(self, widget, event): # Maybe better way to find the visiblilty if self.get_mapped(): rect = self._parent_button.get_allocation() main_window = self._parent_button.get_toplevel() [val, win_x, win_y] = main_window.get_window().get_origin() cal_x = win_x + rect.x cal_y = win_y + rect.y + rect.height self.show_all() [x, y] = self.apply_screen_coord_correction(cal_x, cal_y) self.move(x, y) alternative-toolbar-0.18.0/alttoolbar_sidebar.py000066400000000000000000000543061324014357300217760ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. import gettext from gi.repository import GLib from gi.repository import GObject from gi.repository import Gdk from gi.repository import Gio from gi.repository import Gtk from gi.repository import Pango from gi.repository import RB from alttoolbar_controller import AltControllerCategory from alttoolbar_preferences import CoverLocale from alttoolbar_preferences import GSetting class AltToolbarSidebar(Gtk.TreeView): expanders = GObject.property(type=str, default='{1:True}') def __init__(self, toolbar, rbtree): """ Initialises the object. """ super(AltToolbarSidebar, self).__init__() self.shell = toolbar.shell self.toolbar = toolbar self.plugin = toolbar.plugin self.rbtree = rbtree self._drag_dest_source = None self._drag_motion_counter = -1 # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) self.set_name("AltToolbarSideBar") self._category = {} self._last_click_source = None self._user_clicked = False gs = GSetting() plugin_settings = gs.get_setting(gs.Path.PLUGIN) plugin_settings.bind(gs.PluginKey.EXPANDERS, self, 'expanders', Gio.SettingsBindFlags.DEFAULT) # title, source, visible self.treestore = Gtk.TreeStore.new([str, GObject.Object, bool]) self.treestore_filter = self.treestore.filter_new(root=None) self.treestore_filter.set_visible_column(2) self.set_model(self.treestore_filter) context = self.get_style_context() context.add_class(Gtk.STYLE_CLASS_SIDEBAR) self.set_headers_visible(False) # define the headers - not visible by default def define_category(text, category): local = self.treestore.append(None) self.treestore[local] = [text, None, False] self._category[category] = local define_category(_("Local collection"), AltControllerCategory.LOCAL) define_category(_("Online sources"), AltControllerCategory.ONLINE) define_category(_("Other sources"), AltControllerCategory.OTHER) define_category(_("Playlists"), AltControllerCategory.PLAYLIST) def delayed(*args): model = self.shell.props.display_page_model rootiter = model.get_iter_first() depth = 0 self._traverse_rows(model, rootiter, None, depth) # switch on/off headers depending upon what's in the model self._refresh_headers() # tidy up syncing by connecting signals self._connect_signals() # now expand or collapse each expander that we have saved from a # previous session expanders = eval(self.expanders) print(expanders) print(self.expanders) for category in expanders: print(category) path = self.treestore.get_path(self._category[category]) if path and expanders[category]: # self._user_clicked = True self.expand_row(path, False) # expanders[category]) return False GLib.timeout_add_seconds(1, delayed) column = Gtk.TreeViewColumn.new() column.set_fixed_width(5) column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) self.append_column(column) column = Gtk.TreeViewColumn.new() pixbuf_renderer = Gtk.CellRendererPixbuf() column.pack_start(pixbuf_renderer, False) renderer = Gtk.CellRendererText() renderer.connect('edited', self.on_renderertext_edited) self.text_renderer = renderer column.pack_start(renderer, False) column.set_cell_data_func(pixbuf_renderer, self._set_pixbuf) column.set_cell_data_func(renderer, self._set_text) self.tree_column = column self.append_column(column) self.set_expander_column(column) self.show_all() self.set_can_focus(True) cl = CoverLocale() cl.switch_locale(cl.Locale.RB) def _connect_signals(self): # display_page_model signals to keep the sidebar model in sync model = self.shell.props.display_page_model self._cpi = model.connect('page-inserted', self._model_page_inserted) self._crd = model.connect('row-deleted', self._model_page_deleted) #self._crc = model.connect('row-changed', self._model_page_changed) # when we click on the sidebar - # need to keep the display_page_tree in sync self.connect('button-press-event', self._row_click) # and visa versa tree = self.shell.props.display_page_tree tree.props.model.connect('row-inserted', self._tree_inserted) tree.connect('selected', self._display_page_tree_selected) self.shell.props.shell_player.connect('playing-song-changed', self._on_playing_song_changed) # drag drop self.enable_model_drag_dest([], Gdk.DragAction.COPY) self.drag_dest_add_uri_targets() self.connect('drag-drop', self.on_drag_drop) self.connect('drag-data-received', self.on_drag_data_received) self.connect('drag-motion', self.on_drag_motion) def cleanup(self): model = self.shell.props.display_page_model model.disconnect(self._cpi) model.disconnect(self._crd) #model.disconnect(self._crc) def on_drag_drop(self, widget, context, x, y, time): """ Callback called when a drag operation finishes over the treeview It decides if the dropped item can be processed. """ print("on_drag_drop") # stop the propagation of the signal (deactivates superclass callback) widget.stop_emission_by_name('drag-drop') target = self.drag_dest_find_target(context, None) widget.drag_get_data(context, target, time) self._drag_dest_source = None return True def on_drag_motion(self, widget, drag_context, x, y, time): path = False try: path, pos = widget.get_dest_row_at_pos(x, y) except: pass result = False if path and (pos == Gtk.TreeViewDropPosition.BEFORE or pos == Gtk.TreeViewDropPosition.AFTER): if pos == Gtk.TreeViewDropPosition.BEFORE: drop_pos = Gtk.TreeViewDropPosition.INTO_OR_BEFORE else: drop_pos = Gtk.TreeViewDropPosition.INTO_OR_AFTER widget.set_drag_dest_row(None, drop_pos) # Gdk.drag_status(drag_context, 0, time) path = None if path: dest_source = self.treestore_filter[path][1] try: # note - some sources dont have a can_paste method so need to # trap this case if not dest_source: result = False elif dest_source.can_paste(): result = True except: result = False if dest_source and result: if dest_source != self._drag_dest_source: if self._drag_motion_counter != -1: self._drag_motion_counter = 0 self._drag_dest_source = dest_source def delayed(*args): if self._drag_motion_counter < 2 and \ self._drag_dest_source: self._drag_motion_counter += 1 return True if self._drag_dest_source \ and self._drag_motion_counter >= 2: tree = self.shell.props.display_page_tree if tree: tree.select(self._drag_dest_source) self.rbtree.expand_all() self._drag_motion_counter = -1 return False if self._drag_motion_counter == -1: self._drag_motion_counter = 0 GLib.timeout_add_seconds(1, delayed) if result: Gdk.drag_status(drag_context, Gdk.DragAction.COPY, time) else: Gdk.drag_status(drag_context, 0, time) self._drag_dest_source = None return not result def on_drag_data_received(self, widget, drag_context, x, y, data, info, time): """ Callback called when the drag source has prepared the data (pixbuf) for us to use. """ print("on_drag_data_received") # stop the propagation of the signal (deactivates superclass callback) widget.stop_emission_by_name('drag-data-received') path, pos = widget.get_dest_row_at_pos(x, y) dest_source = self.treestore_filter[path][1] drag_context.finish(True, False, time) uris = data.get_uris() entries = [] for uri in uris: entry = self.shell.props.db.entry_lookup_by_location(uri) if entry: entries.append(entry) dest_source.paste(entries) def _on_playing_song_changed(self, *args): """ signal when a playing song changes - need to invoke a tree-refresh to ensure the user can see which source :param args: :return: """ print("playing song changed") if hasattr(self.plugin, "db"): # curious crash when exiting - lets not # send the queue_draw in this case print("queuing") self.queue_draw() def on_renderertext_edited(self, renderer, path, new_text): print("edited") print(path) print(new_text) self.treestore_filter[path][1].props.name = new_text def _traverse_rows(self, store, treeiter, new_parent_iter, depth): while treeiter is not None: # print(depth, store[treeiter][1]) # print(depth, store[treeiter][1].props.name) if isinstance(store[treeiter][1], RB.DisplayPageGroup): if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) self._traverse_rows(store, childiter, treeiter, depth) treeiter = store.iter_next(treeiter) continue if depth == 0: category_iter = self._get_category_iter(store[treeiter][1]) leaf_iter = self.treestore.append(category_iter) else: leaf_iter = self.treestore.append(new_parent_iter) self.treestore[leaf_iter][1] = store[treeiter][1] self.treestore[leaf_iter][0] = "" self.treestore[leaf_iter][2] = True if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) self._traverse_rows(store, childiter, leaf_iter, depth + 1) treeiter = store.iter_next(treeiter) #def _model_page_changed(self, model, path, page_iter): # print(model[page_iter][1].props.name) # print(path) # # self._model_page_inserted(model, path, page_iter) def _tree_inserted(self, model, path, page_iter): print(path) print(page_iter) print(model[path][1].props.name) print(model[path][1]) self._model_page_inserted(model, model[path][1], page_iter) def _model_page_inserted(self, model, page, page_iter): if page and not page.props.visibility: return # we don't display sources that are marked as hidden print(page) print(page_iter) parent_iter = model.iter_parent(page_iter) print(parent_iter) def find_lookup_rows(store, treeiter, page): while treeiter is not None: found_page = store[treeiter][1] print(found_page) if found_page is not None and found_page == page: # print("found %s" % found_page.props.name) return treeiter if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) ret = find_lookup_rows(store, childiter, page) if ret: return ret treeiter = store.iter_next(treeiter) print("nothing found") return None # first check if we've already got the page in the model rootiter = self.treestore.get_iter_first() if find_lookup_rows(self.treestore, rootiter, page): return if (parent_iter and isinstance(model[parent_iter][1], RB.DisplayPageGroup)) or \ not parent_iter: # the parent of the inserted row is a top-level item in the # display-page-model # print("top level") category_iter = self._get_category_iter(page) leaf_iter = self.treestore.append(category_iter) else: # the parent is another source so we need to find the iter in our # model to hang it off # print("child level") searchpage = model[parent_iter][1] # print("####", searchpage) leaf_iter = find_lookup_rows(self.treestore, rootiter, searchpage) # print("##2", leaf_iter) leaf_iter = self.treestore.append(leaf_iter) self.treestore[leaf_iter][1] = page self.treestore[leaf_iter][0] = "" self.treestore[leaf_iter][2] = True self._refresh_headers() if "PlaylistSource" in type(page).__name__: # a playlist of somesort has been added - so lets put the user into # edit mode self.edit_playlist(leaf_iter) self.rbtree.expand_all() def edit_playlist(self, leaf_iter): """ edit the playlist :param leaf_iter: treestore iter :return: """ print("edit_playlist") self.text_renderer.props.editable = True path = self.treestore.get_path(leaf_iter) path = self.treestore_filter.convert_child_path_to_path(path) print(path) self.grab_focus() def delayed(*args): self.set_cursor_on_cell(path, self.tree_column, self.text_renderer, True) GLib.timeout_add_seconds(1, delayed, None) def _model_page_deleted(self, model, path): """ signal from the displaytreemodel - we dont actually know what is deleted ... just that something has been :param model: :param path: :return: """ # first do a reverse lookup so that we can search quicker later # dict of sources in the sidebar model with their treeiter lookup = {} rootiter = self.treestore.get_iter_first() def find_lookup_rows(store, treeiter): while treeiter is not None: # if store[treeiter][0] == "": # lookup[store[treeiter][1]] = treeiter if store[treeiter][1] is not None: lookup[store[treeiter][1]] = treeiter if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) find_lookup_rows(store, childiter) treeiter = store.iter_next(treeiter) find_lookup_rows(self.treestore, rootiter) # next iterate through the displaytreemodel - where we have a matching # source, delete it from our lookup def find_rows(store, treeiter): while treeiter is not None: if store[treeiter][1] in lookup: del lookup[store[treeiter][1]] if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) find_rows(store, childiter) treeiter = store.iter_next(treeiter) rootiter = model.get_iter_first() find_rows(model, rootiter) # from what is left is the stuff to remove from our treeview # (treestore) for source in lookup: self.treestore.remove(lookup[source]) self._refresh_headers() def _row_click(self, widget, event): """ event called when clicking on a row """ print('_row_click') try: treepath, treecolumn, cellx, celly = \ widget.get_path_at_pos(event.x, event.y) except: print("exit") return active_object = self.treestore_filter[treepath][1] print(active_object) if active_object: # we have a source self._user_clicked = True self.shell.props.display_page_tree.select(active_object) self.rbtree.expand_all() if self._last_click_source == active_object: self.text_renderer.props.editable = \ "PlaylistSource" in type(active_object).__name__ else: self.text_renderer.props.editable = False self._last_click_source = active_object def delayed(*args): # save current state of each category in the treeview cat_vals = {} for category in self._category: path = self.treestore.get_path(self._category[category]) if path: cat_vals[category] = self.row_expanded(path) self.expanders = str(cat_vals) print(self.expanders) GLib.timeout_add_seconds(1, delayed) def _display_page_tree_selected(self, display_page_tree, page): """ signal from when a page is selected in the display-page-tree - we need to sync with our tree :param display_page_tree: :param page: :return: """ if self._user_clicked: self._user_clicked = False return # first do a reverse lookup so that we can search quicker later # dict of sources in the sidebar model with their treeiter lookup = {} rootiter = self.treestore_filter.get_iter_first() def find_lookup_rows(store, treeiter): while treeiter is not None: if store[treeiter][1] is not None: lookup[store[treeiter][1]] = treeiter print(store[treeiter][1].props.name) if store.iter_has_child(treeiter): childiter = store.iter_children(treeiter) find_lookup_rows(store, childiter) treeiter = store.iter_next(treeiter) find_lookup_rows(self.treestore_filter, rootiter) if page in lookup: path = self.treestore_filter.get_path(lookup[page]) self.expand_to_path(path) self.set_cursor(path) def _set_text(self, column, renderer, model, treeiter, arg): if treeiter is None: return if model is None: return source = model[treeiter][1] if source is None: renderer.props.weight = Pango.Weight.BOLD renderer.props.text = model[treeiter][0] print (renderer.props.text) renderer.props.visible = model[treeiter][2] else: renderer.props.visible = True player = self.shell.props.shell_player playing = \ player.get_playing and player.get_playing_source() == source if (source.props.name): cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) translation = gettext.gettext(source.props.name) cl.switch_locale(cl.Locale.RB) renderer.props.text = translation else: renderer.props.text = "" if playing: renderer.props.weight = Pango.Weight.BOLD else: renderer.props.weight = Pango.Weight.NORMAL renderer.props.ypad = 3 path = model.get_path(treeiter) if path.get_depth() == 1: renderer.props.ypad = 6 renderer.props.xpad = 3 else: renderer.props.ypad = 3 renderer.props.xpad = 0 renderer.props.ellipsize = Pango.EllipsizeMode.END def _refresh_headers(self): treeiter = self.treestore.get_iter_first() while treeiter is not None: self.treestore[treeiter][2] = \ self.treestore.iter_has_child(treeiter) treeiter = self.treestore.iter_next(treeiter) def _set_pixbuf(self, column, renderer, model, treeiter, arg): source = model[treeiter][1] if source is None: renderer.props.pixbuf = None else: ret_bool, controller = self.toolbar.is_controlled(source) renderer.props.gicon = controller.get_gicon(source) renderer.props.follow_state = True path = model.get_path(treeiter) if path.get_depth() == 2: renderer.props.visible = True # must be a child so show the # pixbuf renderer else: renderer.props.visible = False # headers or children of child # dont have pixbuf's so no renderer to display renderer.props.xpad = 3 def _get_category_iter(self, source): ret_bool, controller = self.toolbar.is_controlled(source) category = AltControllerCategory.OTHER if ret_bool: category = controller.get_category() return self._category[category] alternative-toolbar-0.18.0/alttoolbar_type.py000066400000000000000000001622421324014357300213450ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. import os import xml.etree.ElementTree as ET from datetime import datetime, date from xml.etree.ElementTree import SubElement import rb from gi.repository import GLib from gi.repository import GObject from gi.repository import Gdk from gi.repository import GdkPixbuf from gi.repository import Gio from gi.repository import Gtk from gi.repository import Pango from gi.repository import RB from alttoolbar_controller import AltAndroidController from alttoolbar_controller import AltCoverArtBrowserController from alttoolbar_controller import AltCoverArtPlaySourceController from alttoolbar_controller import AltErrorsController from alttoolbar_controller import AltGenericController from alttoolbar_controller import AltLastFMController from alttoolbar_controller import AltMusicLibraryController from alttoolbar_controller import AltPlaylistController from alttoolbar_controller import AltPodcastController from alttoolbar_controller import AltQueueController from alttoolbar_controller import AltRadioController from alttoolbar_controller import AltSoundCloudController from alttoolbar_controller import AltStandardLocalController from alttoolbar_controller import AltStandardOnlineController from alttoolbar_preferences import CoverLocale from alttoolbar_preferences import GSetting from alttoolbar_rb3compat import gtk_version from alttoolbar_repeat import Repeat from alttoolbar_sidebar import AltToolbarSidebar from alttoolbar_widget import SmallProgressBar from alttoolbar_widget import SmallScale class AT(object): @staticmethod def ToolbarRequestCallback(toolbar_type, box=None): """ Callback method to obtain the type of toolbar together with the Gtk.Box where new UI elements can be added :param toolbar_type: AltToolbarBase derived object :param box: Gtk.Box or None if the toolbar does not have a UI where new objects can be added :return: """ return toolbar_type, box class AltToolbarBase(GObject.Object): """ base for all toolbar types - never instantiated by itself """ setup_completed = GObject.property(type=bool, default=False) # if changed to true then # setup_completed observers called back source_toolbar_visible = GObject.property(type=bool, default=True) def __init__(self): """ Initialises the object. """ super(AltToolbarBase, self).__init__() # remember details about when an entryview has been processed self._process_entryview = {} folder = RB.user_cache_dir() + "/alternate-toolbar" if not os.path.exists(folder): os.makedirs(folder) self._entryview_filename = folder + "/entryview_db.xml" self._save_cols_loop = 0 db_version = "1" try: # if the db has not been deleted or is screwed up or is an older # version than expected then # assume via the except we are starting from a clean db self._entryview_tree = ET.parse(self._entryview_filename) self._entryview_root = self._entryview_tree.getroot() db = self._entryview_root.find("database") if db.text != db_version: raise ValueError("wrong database version") except: text = """ """ self._entryview_root = ET.fromstring(text) db = SubElement(self._entryview_root, "database") db.text = db_version self._entryview_tree = ET.ElementTree(self._entryview_root) # bind the source-toolbar gsettings gs = GSetting() plugin_settings = gs.get_setting(gs.Path.PLUGIN) plugin_settings.bind(gs.PluginKey.SOURCE_TOOLBAR, self, 'source_toolbar_visible', Gio.SettingsBindFlags.DEFAULT) self._async_functions = [] # array of functions to callback once the # toolbar has been setup self.connect('notify::setup-completed', self._on_setup_completed) def initialise(self, plugin): """ one off initialisation call :param plugin is the plugin reference """ self.plugin = plugin self.shell = plugin.shell self.find = plugin.find # finally - complete the headerbar setup after the database has fully # loaded because # rhythmbox has everything initiated at this point. self.startup_completed = False # self.shell.props.db.connect('load-complete', self.on_load_complete) # fire event anyway - scenario is when plugin is first activated post # rhythmbox having started def delayed(*args): if self.shell.props.selected_page: self.startup_completed = True self.on_startup() return False else: return True GLib.timeout_add(100, delayed) def get_custom_box(self): """ :return: Gtk.Box """ return None def post_initialise(self): """ one off post initialisation call """ tool_action = 'ToggleSourceMediaToolbar' action = self.plugin.toggle_action_group.get_action(tool_action) action.set_active(self.source_toolbar_visible) def on_startup(self, *args): """ call after RB has completed its initialisation and selected the first view :param args: :return: """ self.startup_completed = True self.reset_categories_pos(self.shell.props.selected_page) self.reset_toolbar(self.shell.props.selected_page) self.reset_entryview(self.shell.props.selected_page) if self.plugin.prefer_dark_theme: settings = Gtk.Settings.get_default() settings.set_property('gtk-application-prefer-dark-theme', True) def cleanup(self): """ initiate a toolbar cleanup of resources and changes made to rhythmbox :return: """ for page in self._process_entryview: self.disconnect(self._process_entryview[page]['size']) self.disconnect(self._process_entryview[page]['changed']) self.purge_builder_content() def set_visible(self, visible): """ change the visibility of the toolbar :param bool """ pass def show_cover(self, visible): """ change the visibility of the toolbar coverart :param bool """ pass def display_song(self, visible): """ change the visibility of the song label on the toolbar :param bool """ pass def play_control_change(self, player, playing): """ control the display of various play-controls :param player is the shell-player :param playing bool as to whether a track is being played """ pass def purge_builder_content(self): """ one off cleanup routine called when the plugin in deactivated """ pass def show_slider(self, visible): """ show or hide the slider (progress bar) :param visible is a bool """ pass def enable_slider(self, toggle): """ enable or disable the slider (progress bar) :param toggle is a bool """ pass def reset_categories_pos(self, page): """ whenever a source changes this resets the source categories position reflect the changed source :param page - RBDisplayPage """ print("reset categories position") if not page: print("no page") return if not hasattr(page.props, 'show_browser'): print("no browser") return if not self.plugin.horiz_categories: print("not horizontal") return propertyview = self.find(page, 'RBPropertyView', 'by_name') if propertyview is None: return parent = propertyview.get_parent() if isinstance(parent, Gtk.Paned): print("paned") parent.set_orientation(Gtk.Orientation.HORIZONTAL) else: print("not paned") pane = parent.get_parent() print(pane) parent.set_orientation(Gtk.Orientation.VERTICAL) pane.set_orientation(Gtk.Orientation.HORIZONTAL) def reset_entryview(self, page): """ whenever a source changes this resets the source entryview to reflect the changed source :param page - RBDisplayPage """ print("reset entryview") if not page: print("no page") return try: entryview = page.get_entry_view() if not entryview: print("no entry view") return except: # some pages dont have the method to call! return treeview = entryview.get_child() def move_col(*args): cols = treeview.get_columns() # treeview.set_reorderable(True) current_cols = [] base_col = None base_col_found = False for col in cols: title = col.props.title if title is not None and title.strip() != "": if not base_col_found: base_col = cols[cols.index(col) - 1] base_col_found = True print(title) col.set_reorderable(True) current_cols.append(col) if page in self._process_entryview: # disconnect previous signal handler if have been connected # before otherwise we'll trigger stuff when moving columns treeview.disconnect(self._process_entryview[page]['changed']) treeview.disconnect(self._process_entryview[page]['size']) # now move columns around depending upon saved values safe_name = self._safe_string(type(page).__name__) lookup = "pages/page[@name='" + safe_name + "']" element = self._entryview_root.find(lookup) if element is not None: # we've got something remembered to lets move cols around remembered_col_titles = element.text.split(',') remembered_cols = [] for title in remembered_col_titles: compare = title[1:-1] for col in current_cols: if col.props.title == compare: remembered_cols.append(col) break for i in range(len(remembered_cols)): for col in current_cols: if col.props.title == remembered_cols[i].props.title: if current_cols.index(col) != i: print(i, col.props.title) if i == 0: treeview.move_column_after(col, base_col) else: pos = i - 1 treeview.move_column_after(col, remembered_cols[ pos]) break # now reset column widths # for col in current_cols: # safe_col_name = self._safe_string( # col.props.title) # lookup = "pages/" + safe_name + "[ # @column='" + \ # safe_col_name + "']" # col_node = self._entryview_root.find( # lookup) # if col_node is not None: # col.set_fixed_width(int( # col_node.get("width"))) # now connect new signal handler ids = {} ids['changed'] = treeview.connect('columns-changed', self._entryview_column_changed, page) ids['size'] = treeview.connect('size-allocate', self._entryview_size_allocate, page) self._process_entryview[page] = ids # add a short delay otherwise RB will move after us nulling our # achievement Gdk.threads_add_timeout(GLib.PRIORITY_DEFAULT_IDLE, 10, move_col) def _safe_string(self, s): return ''.join([i for i in s if i.isalpha()]) def _entryview_size_allocate(self, treeview, allocation, page): self._entryview_column_changed(treeview, page) def _entryview_column_changed(self, treeview, page): # we basically don't want to process column-changed signals # when closing because these are fired by RB during the entry-view # cleanup & columns being deleted # so we work around this by looping for .5 secs before saving... # if we don't finish looping we assume that RB is closing and thus # dont really want to save ... yes a bit of a funny but its the best # we can do since RB doesnt have a close signal ... and just waiting # on the windows close event doesnt work because File-Quit cleans up # before actually closing. def _save_cols(*args): self._save_cols_loop += 1 if self._save_cols_loop <= 6: return True self._save_cols_loop = 0 self._save_entryview_cols(treeview, page) return False if self._save_cols_loop == 0: self._save_cols_loop = 1 Gdk.threads_add_timeout(GLib.PRIORITY_DEFAULT_IDLE, 100, _save_cols) else: self._save_cols_loop = 1 def _save_entryview_cols(self, treeview, page): print("entryview column changed") print(page) def quoted_string(array): return ','.join("'{0}'".format(x) for x in array) safe_name = self._safe_string(type(page).__name__) lookup = "pages/page[@name='" + safe_name + "']" node = self._entryview_root.find(lookup) pages = self._entryview_root.find("pages") if node is None: print("new node") node = SubElement(pages, 'page') node.set("name", safe_name) arr = [] cols = treeview.get_columns() for col in cols: if col.props.title is not None and col.props.title != "": arr.append(col.props.title) # print (col.get_width()) safe_col_name = self._safe_string(col.props.title) lookup = "pages/" + safe_name + "[@column='" + safe_col_name \ + "']" col_node = self._entryview_root.find(lookup) if col_node is None: col_node = SubElement(pages, safe_name) col_node.set("column", safe_col_name) col_node.set("width", str(col.get_width())) if len(arr) < 2: # nothing to do so quit before writing return output = quoted_string(arr) print(output) node.text = output self._indent_xml(self._entryview_root) self._entryview_tree.write(self._entryview_filename, xml_declaration=True) def _indent_xml(self, elem, level=0, more_sibs=False): i = "\n" if level: i += (level - 1) * ' ' num_kids = len(elem) if num_kids: if not elem.text or not elem.text.strip(): elem.text = i + " " if level: elem.text += ' ' count = 0 for kid in elem: self._indent_xml(kid, level + 1, count < num_kids - 1) count += 1 if not elem.tail or not elem.tail.strip(): elem.tail = i if more_sibs: elem.tail += ' ' else: if level and (not elem.tail or not elem.tail.strip()): elem.tail = i if more_sibs: elem.tail += ' ' def reset_toolbar(self, page): """ whenever a source changes this resets the toolbar to reflect the changed source :param page - RBDisplayPage """ print("reset toolbar") if not page: print("no page") return toolbar = self.find(page, 'RBSourceToolbar', 'by_name') if toolbar: print("found") toolbar.set_visible(self.source_toolbar_visible) else: print("not found") self.plugin.emit('toolbar-visibility', self.source_toolbar_visible) def setup_completed_async(self, async_function): """ toolbars will callback once the setup has completed :param async_function: function callback :return: """ if self.setup_completed: async_function(AT.ToolbarRequestCallback(self, self.get_custom_box())) else: self._async_functions.append(async_function) def _on_setup_completed(self, *args): """ one-off callback anybody who has registered to be notified when a toolbar has been completely setup :param args: :return: """ if self.setup_completed: for callback_func in self._async_functions: callback_func(AT.ToolbarRequestCallback(self, self.get_custom_box())) def source_toolbar_visibility(self, visibility): """ called to toggle the source toolbar """ print("source_bar_visibility") self.source_toolbar_visible = visibility # not self.source_toolbar_visible self.plugin.on_page_change(self.shell.props.display_page_tree, self.shell.props.selected_page) class AltToolbarStandard(AltToolbarBase): """ standard RB toolbar """ __gtype_name = 'AltToolbarStandard' def __init__(self): """ Initialises the object. """ super(AltToolbarStandard, self).__init__() def post_initialise(self): self.volume_button = self.find(self.plugin.rb_toolbar, 'GtkVolumeButton', 'by_id') self.volume_button.set_visible(self.plugin.volume_control) action = self.plugin.toggle_action_group.get_action('ToggleToolbar') action.set_active(not self.plugin.start_hidden) self.set_visible(not self.plugin.start_hidden) self.setup_completed = True def set_visible(self, visible): self.plugin.rb_toolbar.set_visible(visible) class AltToolbarShared(AltToolbarBase): """ shared components for the compact and headerbar toolbar types """ def __init__(self): """ Initialises the object. """ super(AltToolbarShared, self).__init__() # Prepare Album Art Displaying self.album_art_db = GObject.new(RB.ExtDB, name="album-art") what, width, height = Gtk.icon_size_lookup(Gtk.IconSize.SMALL_TOOLBAR) self.icon_width = width self.cover_pixbuf = None self._controllers = {} self._tooltip_exceptions = ['album_cover'] self._moved_controls = [] def initialise(self, plugin): super(AltToolbarShared, self).initialise(plugin) ui = rb.find_plugin_file(plugin, 'ui/alttoolbar.ui') cl = CoverLocale() builder = Gtk.Builder() builder.set_translation_domain(cl.Locale.LOCALE_DOMAIN) builder.add_from_file(ui) self.load_builder_content(builder) self.connect_builder_content(builder) self._controllers['generic'] = AltGenericController(self) # every potential source should have its own controller - we use this # to categorise the source and provide specific capability for # inherited classes where a controller is not specified then a generic # controller is used i.e. use add_controller method to add a controller self.add_controller(AltMusicLibraryController(self)) self.add_controller(AltSoundCloudController(self)) self.add_controller(AltCoverArtBrowserController(self)) self.add_controller(AltCoverArtPlaySourceController(self)) self.add_controller(AltQueueController(self)) self.add_controller(AltStandardOnlineController(self)) self.add_controller(AltStandardLocalController(self)) self.add_controller(AltRadioController(self)) self.add_controller(AltLastFMController(self)) self.add_controller(AltPlaylistController(self)) self.add_controller(AltErrorsController(self)) self.add_controller(AltPodcastController(self)) self.add_controller(AltAndroidController(self)) # support RTL for control, icon_name in \ [(self.prev_button, 'media-skip-backward-symbolic'), (self.play_button, 'media-playback-start-symbolic'), (self.next_button, 'media-skip-forward-symbolic')]: image = control.get_child() icon_name = self.request_rtl_icon(control, icon_name) image.set_from_icon_name(icon_name, image.props.icon_size) # now move current RBDisplayPageTree to listview stack display_tree = self.shell.props.display_page_tree self.display_tree_parent = display_tree.get_parent() self.display_tree_parent.remove(display_tree) self.stack = Gtk.Stack() tran_type = Gtk.StackTransitionType.SLIDE_LEFT_RIGHT self.stack.set_transition_type(tran_type) self.stack.set_transition_duration(1000) image_name = 'view-list-symbolic' box_listview = Gtk.Box() box_listview.pack_start(display_tree, True, True, 0) # box_listview.show_all() self.stack.add_named(box_listview, "listview") self.stack.child_set_property(box_listview, "icon-name", image_name) self.stack.show_all() self.display_tree_parent.pack1(self.stack, True, True) # if 1==2: #self.plugin.enhanced_sidebar: toolbar = self.find(display_tree, 'GtkToolbar', 'by_name') # context = toolbar.get_style_context() # context.add_class('toolbar') box = self.find(toolbar, 'GtkBox', 'by_name') # box.props.margin_top = 2 # box.props.margin_bottom = 0 # box.props.margin_left = 5 context = box.get_style_context() context.add_class('linked') # parent = box.get_parent() # parent.remove(box) # parent_toolbar = toolbar.get_parent() # parent_toolbar.remove(toolbar) # display_tree.attach(box, 0, 10, 1 ,1 ) # child, new-parent, old-parent # self._moved_controls.append((box, display_tree, parent)) # self._moved_controls.append((toolbar, None, parent_toolbar)) # find the actual GtkTreeView in the RBDisplayTree and remove it self.rbtree = self.find(display_tree, 'GtkTreeView', 'by_name') self.rbtreeparent = self.rbtree.get_parent() self.rbtreeparent.remove(self.rbtree) self.sidebar = None def post_initialise(self): super(AltToolbarShared, self).post_initialise() cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) self.volume_button.props.value = \ self.shell.props.shell_player.props.volume self.volume_button.bind_property("value", self.shell.props.shell_player, "volume", Gio.SettingsBindFlags.DEFAULT) self.volume_button.set_visible(self.plugin.volume_control) self.volume_button.set_relief(Gtk.ReliefStyle.NORMAL) child = self.volume_button.get_child() child.set_margin_left(5) child.set_margin_right(5) if self.plugin.inline_label: self.song_box.remove(self.song_button_label) if self.plugin.compact_progressbar: self.song_progress = SmallProgressBar() else: self.song_progress = SmallScale() self.song_progress.set_sensitive(False) self.song_progress.connect('control', self._sh_progress_control) self.song_progress.show_all() self.song_progress_box.pack_start(self.song_progress, False, True, 1) # Bring Builtin Actions to plugin for (a, b) in ((self.play_button, "play"), (self.prev_button, "play-previous"), (self.next_button, "play-next"), (self.repeat_toggle, "play-repeat"), (self.shuffle_toggle, "play-shuffle")): a.set_action_name("app." + b) if b == "play-repeat" or b == "play-shuffle": # for some distros you need to set the target_value # for others this would actually disable the action # so work around this by testing if the action is disabled # then reset the action a.set_action_target_value(GLib.Variant("b", True)) print(a.get_sensitive()) if not a.get_sensitive(): a.set_detailed_action_name("app." + b) # The Play-Repeat button is subject to the plugins Repeat All/one song # capability self._repeat = Repeat(self.shell, self.repeat_toggle) if gtk_version() >= 3.12: self.cover_popover = Gtk.Popover.new(self.album_cover) image = Gtk.Image.new() self.cover_popover.add(image) self._popover_inprogress = 0 self.cover_popover.set_modal(False) self.cover_popover.connect('leave-notify-event', self._on_cover_popover_mouse_over) self.cover_popover.connect('enter-notify-event', self._on_cover_popover_mouse_over) # detect when mouse moves out of the cover image # (it has a parent eventbox) box = self.album_cover_eventbox box.connect('leave-notify-event', self._on_cover_popover_mouse_over) box.connect('enter-notify-event', self._on_cover_popover_mouse_over) cl.switch_locale(cl.Locale.RB) def on_startup(self, *args): super(AltToolbarShared, self).on_startup(*args) if self.plugin.enhanced_sidebar: self.sidebar = AltToolbarSidebar(self, self.rbtree) self.sidebar.show_all() self.rbtreeparent.add(self.sidebar) else: self.rbtreeparent.add(self.rbtree) # self.shell.add_widget(self.rbtree, RB.ShellUILocation.SIDEBAR, # expand=True, fill=True) def register_moved_control(self, child, old_parent, new_parent=None): """ convenience function to save the GTK child & parents when they are moved. we use this info to cleanup when quitting RB - we need to move stuff back because otherwise there are random crashes due to memory deallocation issues :param child: GTK Widget :param old_parent: original GTK container that the child was moved from :param new_parent: new GTK container that the child was added to (may just have removed without moving) :return: """ # store as a tuple: child, new-parent, old-parent self._moved_controls.append((child, new_parent, old_parent)) def cleanup(self): """ extend :return: """ super(AltToolbarShared, self).cleanup() if self.sidebar: self.sidebar.cleanup() self.display_tree_parent.remove(self.stack) self.display_tree_parent.pack1(self.shell.props.display_page_tree) if self.sidebar: self.rbtreeparent.remove(self.sidebar) # remove our sidebar self.rbtreeparent.add(self.rbtree) # add the original GtkTree view print("####") # child, new-parent, old-parent for child, new_parent, old_parent in reversed(self._moved_controls): if new_parent: new_parent.remove(child) print(child) print(new_parent) print(old_parent) if isinstance(old_parent, Gtk.Grid): print("attaching to grid") old_parent.attach(child, 0, 0, 1, 1) else: print("adding to parent") old_parent.add(child) def add_controller(self, controller): """ register a new controller """ if controller not in self._controllers: self._controllers[controller] = controller def is_controlled(self, source): """ determine if the source has a controller return bool, controller if no specific controller (False) then the generic controller returned """ if source in self._controllers: return True, self._controllers[source] # loop through controllers to find one that is most applicable for controller_type in self._controllers: if self._controllers[controller_type].valid_source(source): return True, self._controllers[controller_type] return False, self._controllers['generic'] def show_cover_tooltip(self, tooltip): if (self.cover_pixbuf is not None): scale = self.cover_pixbuf.scale_simple(300, 300, GdkPixbuf.InterpType.HYPER) if gtk_version() >= 3.12: if self.cover_popover.get_visible(): return False image = self.cover_popover.get_child() image.set_from_pixbuf(scale) self.cover_popover.show_all() else: tooltip.set_icon(scale) return True else: return False def _on_cover_popover_mouse_over(self, widget, eventcrossing): if eventcrossing.type == Gdk.EventType.ENTER_NOTIFY: if self._popover_inprogress == 0: self._popover_inprogress = 1 else: self._popover_inprogress = 2 self._popover_inprogress_count = 0 print("enter") else: print("exit") self._popover_inprogress = 3 # print (eventcrossing.type) def delayed(*args): if self._popover_inprogress == 3: self._popover_inprogress_count += 1 if self._popover_inprogress_count < 5: return True self.cover_popover.hide() self._popover_inprogress = 0 return False else: return True if self._popover_inprogress == 1: print("addding timeout") self._popover_inprogress = 2 GLib.timeout_add(100, delayed) def show_slider(self, visibility): self.song_box.set_visible(visibility) def enable_slider(self, toggle): self.song_progress.set_sensitive(toggle) def display_song(self, entry): self.entry = entry self.cover_pixbuf = None self.album_cover.clear() if self.plugin.inline_label: ret = self._inline_progress_label(entry) else: ret = self._combined_progress_label(entry) if ret: key = entry.create_ext_db_key(RB.RhythmDBPropType.ALBUM) self.album_art_db.request(key, self.display_song_album_art_callback, entry) def _inline_progress_label(self, entry): if (entry is None): # self.song_button_label.set_text("") self.inline_box.set_visible(False) return False self.inline_box.set_visible(True) db = self.shell.props.db stream_title = \ db.entry_request_extra_metadata(entry, RB.RHYTHMDB_PROP_STREAM_SONG_TITLE) stream_artist = \ db.entry_request_extra_metadata(entry, RB.RHYTHMDB_PROP_STREAM_SONG_ARTIST) def set_labels(title, artist): for child in self.inline_box: self.inline_box.remove(child) self.song_title = Gtk.Label() self.song_title.set_markup(title) self.song_title.set_ellipsize(Pango.EllipsizeMode.END) self.song_title.show() self.inline_box.pack_start(self.song_title, False, True, 0) print(artist) if artist != "" or artist: print("adding artist") self.song_artist = Gtk.Label() self.song_artist.set_markup(artist) self.song_artist.set_ellipsize(Pango.EllipsizeMode.END) self.song_artist.show() self.inline_box.pack_start(self.song_artist, False, True, 1) if stream_title: print("stream_title") if stream_artist: artist_markup = "{artist}".format( artist=GLib.markup_escape_text(stream_artist)) else: artist_markup = "" title_markup = "{title}".format( title=GLib.markup_escape_text(stream_title)) set_labels(title_markup, artist_markup) return True album = entry.get_string(RB.RhythmDBPropType.ALBUM) if not album or album == "": print("album") title_markup = "{title}".format( title=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.TITLE))) artist = entry.get_string(RB.RhythmDBPropType.ARTIST) if artist and artist != "": artist_markup = "{artist}".format( artist=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ARTIST))) else: artist_markup = "" set_labels(title_markup, artist_markup) return True if self.plugin.playing_label: print("playing_label") year = entry.get_ulong(RB.RhythmDBPropType.DATE) if year == 0: year = date.today().year else: year = datetime.fromordinal(year).year title_markup = "{album}".format( album=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ALBUM))) artist_markup = "{genre} - {year}".format( genre=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.GENRE)), year=GLib.markup_escape_text(str(year))) set_labels(title_markup, artist_markup) else: print("not playing_label") title_markup = "{title}".format( title=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.TITLE))) artist_markup = "{artist}".format( artist=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ARTIST))) set_labels(title_markup, artist_markup) return True def _combined_progress_label(self, entry): """ utility function to calculate the label to be used when a progress bar has the label above it :param RBEntry """ if (entry is None): self.song_button_label.set_label("") return False db = self.shell.props.db stream_title = \ db.entry_request_extra_metadata(entry, RB.RHYTHMDB_PROP_STREAM_SONG_TITLE) stream_artist = \ db.entry_request_extra_metadata(entry, RB.RHYTHMDB_PROP_STREAM_SONG_ARTIST) if stream_title: if stream_artist: markup = "{title} {artist}".format( title=GLib.markup_escape_text(stream_title), artist=GLib.markup_escape_text(stream_artist)) else: markup = "{title}".format( title=GLib.markup_escape_text(stream_title)) self.song_button_label.set_markup(markup) return True album = entry.get_string(RB.RhythmDBPropType.ALBUM) if not album or album == "": self.song_button_label.set_markup( "{title}".format( title=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.TITLE)))) return True if self.plugin.playing_label: year = entry.get_ulong(RB.RhythmDBPropType.DATE) if year == 0: year = date.today().year else: year = datetime.fromordinal(year).year self.song_button_label.set_markup( "{album} - {genre} - {year}".format( album=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ALBUM)), genre=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.GENRE)), year=GLib.markup_escape_text(str(year)))) else: self.song_button_label.set_markup( "{title} {album} - {artist}".format( title=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.TITLE)), album=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ALBUM)), artist=GLib.markup_escape_text( entry.get_string(RB.RhythmDBPropType.ARTIST)))) return True def display_song_album_art_callback(self, *args): # key, filename, data, entry): """ RBExtDB signal callback to display the album-art """ # rhythmbox 3.2 breaks the API - need to find the parameter with the # pixbuf data = None for data in args: if isinstance(data, GdkPixbuf.Pixbuf): break if ((data is not None) and (isinstance(data, GdkPixbuf.Pixbuf))): self.cover_pixbuf = data scale_cover = \ self.cover_pixbuf.scale_simple(34, 34, GdkPixbuf.InterpType.HYPER) self.album_cover.set_from_pixbuf(scale_cover) else: self.cover_pixbuf = None self.album_cover.clear() self.album_cover.trigger_tooltip_query() def show_cover(self, visibility): self.album_cover.set_visible(self.plugin.show_album_art) def show_small_bar(self): self.small_bar.show_all() self.inline_box.set_visible(False) def request_rtl_icon(self, control, icon_name): rtl_name = {} rtl_name["media-playback-start-symbolic"] = \ "media-playback-start-rtl-symbolic" rtl_name["media-skip-forward-symbolic"] = \ "media-skip-forward-rtl-symbolic" rtl_name["media-skip-backward-symbolic"] = \ "media-skip-backward-rtl-symbolic" name = icon_name if gtk_version() < 3.12: if control.get_direction() == Gtk.TextDirection.RTL: name = rtl_name[icon_name] return name def play_control_change(self, player, playing): image = self.play_button.get_child() if (playing): if player.get_active_source().can_pause(): icon_name = "media-playback-pause-symbolic" else: icon_name = "media-playback-stop-symbolic" else: icon_name = self.request_rtl_icon(self.play_button, "media-playback-start-symbolic") image.set_from_icon_name(icon_name, image.props.icon_size) # Builder related utility functions... #################################### def load_builder_content(self, builder): if (not hasattr(self, "__builder_obj_names")): self.__builder_obj_names = list() for obj in builder.get_objects(): if (isinstance(obj, Gtk.Buildable)): name = Gtk.Buildable.get_name(obj).replace(' ', '_') self.__dict__[name] = obj self.__builder_obj_names.append(name) if not self.plugin.show_tooltips and obj.get_has_tooltip(): if name not in self._tooltip_exceptions: obj.set_has_tooltip(False) def connect_builder_content(self, builder): builder.connect_signals_full(self.connect_builder_content_func, self) def connect_builder_content_func(self, builder, object, sig_name, handler_name, conn_object, flags, target): handler = None h_name_internal = "_sh_" + handler_name.replace(" ", "_") if (hasattr(target, h_name_internal)): handler = getattr(target, h_name_internal) else: handler = eval(handler_name) object.connect(sig_name, handler) def purge_builder_content(self): for name in self.__builder_obj_names: o = self.__dict__[name] if (isinstance(o, Gtk.Widget)): o.destroy() del self.__dict__[name] del self.__builder_obj_names # Signal Handlers # ########################################################## def _sh_progress_control(self, progress, fraction): # if not hasattr(self, 'song_duration'): # return if (self.plugin.song_duration != 0): player = self.shell.props.shell_player player.set_playing_time(self.plugin.song_duration * fraction) def _sh_bigger_cover(self, cover, x, y, key, tooltip): return self.show_cover_tooltip(tooltip) class AltToolbarCompact(AltToolbarShared): """ compact RB toolbar """ __gtype_name = 'AltToolbarCompact' def __init__(self): """ Initialises the object. """ super(AltToolbarCompact, self).__init__() def initialise(self, plugin): super(AltToolbarCompact, self).initialise(plugin) self._setup_compactbar() def on_startup(self, *args): super(AltToolbarCompact, self).on_startup(*args) self.setup_completed = True def _setup_compactbar(self): # self.window_control_item.add(self._window_controls()) action = self.plugin.toggle_action_group.get_action('ToggleToolbar') self.small_bar.get_style_context().add_class( Gtk.STYLE_CLASS_PRIMARY_TOOLBAR) # add settings menu depending if there is no applications menu # available # appshell = ApplicationShell(self.shell) menu = self.shell.props.application.get_menubar() if not menu or self.plugin.app_menu: menu_button = Gtk.MenuButton.new() if gtk_version() >= 3.14: symbol = "open-menu-symbolic" menu_button.set_margin_start(3) else: symbol = "emblem-system-symbolic" menu_button.set_margin_left(3) image = Gtk.Image.new_from_icon_name(symbol, Gtk.IconSize.SMALL_TOOLBAR) menu_button.add(image) menu = self.shell.props.application.get_shared_menu('app-menu') menu_button.set_menu_model(menu) self.end_box.add(menu_button) if not self.plugin.start_hidden: self.shell.add_widget(self.small_bar, RB.ShellUILocation.MAIN_TOP, expand=False, fill=False) self.show_small_bar() action.set_active(True) print("not hidden but compact") else: action.set_active(False) self.plugin.rb_toolbar.hide() def get_custom_box(self): return self.end_box def set_visible(self, visible): if visible: print("show_compact") self.shell.add_widget(self.small_bar, RB.ShellUILocation.MAIN_TOP, expand=False, fill=False) self.show_small_bar() self.volume_button.set_visible(self.plugin.volume_control) else: print("hide compact") self.shell.remove_widget(self.small_bar, RB.ShellUILocation.MAIN_TOP) class AltToolbarHeaderBar(AltToolbarShared): """ headerbar RB toolbar """ __gtype_name = 'AltToolbarHeaderBar' __gsignals__ = { 'song-category-clicked': (GObject.SIGNAL_RUN_LAST, None, (bool,)) } # song-category-clicked signal emitted when song-categoy buttons clicked - # param True if Song clicked def __init__(self): """ Initialises the object. """ super(AltToolbarHeaderBar, self).__init__() self.sources = {} self.searchbar = None self.source_toolbar_visible = False # override - for headerbars source # toolbar is not visible self._always_visible_sources = {} def initialise(self, plugin): super(AltToolbarHeaderBar, self).initialise(plugin) self.main_window = self.shell.props.window self._setup_playbar() self._setup_headerbar() # hook the key-press for the application window self.shell.props.window.connect("key-press-event", self._on_key_press) def add_always_visible_source(self, source): """ remember which sources always have the song-category buttons enabled """ self._always_visible_sources[source] = source def _on_key_press(self, widget, event): self.searchbar.handle_event(event) keyname = Gdk.keyval_name(event.keyval) if keyname == 'Escape' and self.current_search_button: self.current_search_button.set_active(False) if event.state and Gdk.ModifierType.CONTROL_MASK: if keyname == 'f' and self.current_search_button: self.current_search_button.set_active( not self.current_search_button.get_active()) def on_startup(self, *args): super(AltToolbarHeaderBar, self).on_startup(*args) if self.shell.props.selected_page.props.show_browser: self.library_browser_radiobutton.set_active(True) self.library_radiobutton_toggled(None) self.library_browser_radiobutton.connect('toggled', self.library_radiobutton_toggled) self.library_song_radiobutton.connect('toggled', self.library_radiobutton_toggled) self._set_toolbar_controller() self.setup_completed = True def _setup_playbar(self): """ setup the play controls at the bottom part of the application """ box = self.find(self.shell.props.window, 'GtkBox', 'by_name') frame_box = Gtk.Box() frame_box.set_orientation(Gtk.Orientation.VERTICAL) self.small_frame = Gtk.Frame() self.small_frame.set_shadow_type(Gtk.ShadowType.ETCHED_IN) frame_box.pack_start(self.small_frame, False, True, 0) frame_box.pack_start(self.small_bar, False, True, 1) box.pack_start(frame_box, False, True, 0) box.reorder_child(frame_box, 3) frame_box.show_all() self.show_small_bar() # hide status bar action = self.plugin.appshell.lookup_action('', 'statusbar-visible', 'win') action.set_active(True) def search_button_toggled(self, search_button): print("search_button_toggled") print(search_button.get_active()) def delay_hide(*args): # we use a delay to allow the searchbar minimise effect to be # visible self.searchbar.set_visible(False) if search_button.get_active(): self.searchbar.set_visible(True) else: GLib.timeout_add(350, delay_hide) self.searchbar.set_search_mode(True) def set_library_labels(self, song_label=None, category_label=None): # locale stuff cl = CoverLocale() cl.switch_locale(cl.Locale.LOCALE_DOMAIN) if not song_label: self.library_song_radiobutton.set_label(_('Songs')) else: self.library_song_radiobutton.set_label(cl.get_translation(song_label)) if not category_label: self.library_browser_radiobutton.set_label(_('Categories')) else: self.library_browser_radiobutton.set_label(cl.get_translation(category_label)) cl.switch_locale(cl.Locale.RB) def library_radiobutton_toggled(self, toggle_button): print("library_radiobutton_toggled") if not self.setup_completed: return controlled, current_controller = self.is_controlled(self.shell.props.selected_page) current_controller.set_library_labels() if toggle_button: self.emit('song-category-clicked', self.library_song_radiobutton.get_active()) self._resize_source(self.shell.props.selected_page) val, button = self.is_browser_view(self.shell.props.selected_page) if not val: return val = True if self.library_song_radiobutton.get_active(): print("song active") val = False self.shell.props.selected_page.props.show_browser = val def has_button_with_label(self, source, label): """ returns bool, button where the button has a given label """ if not source: return False, None toolbar = self.find(source, 'RBSourceToolbar', 'by_name') if not toolbar: return False, None ret = self.find(toolbar, 'GtkToggleButton', 'by_name', label) if ret: return True, ret ret = self.find(toolbar, 'GtkButton', 'by_name', label) if ret: return True, ret ret = self.find(toolbar, 'GtkMenuButton', 'by_name', label) if ret: return True, ret return False, None def is_browser_view(self, source): """ returns bool, browser-button where this is a browser-view i.e. assume if there is a browser button this makes it a browser-view """ return self.has_button_with_label(source, _("Browse")) def get_custom_box(self): return self.start_box def _setup_headerbar(self): cl = CoverLocale() # define the main buttons for the headerbar builder = Gtk.Builder() ui = rb.find_plugin_file(self.plugin, 'ui/altlibrary.ui') builder.set_translation_domain(cl.Locale.LOCALE_DOMAIN) builder.add_from_file(ui) self.load_builder_content(builder) view_name = _("Categories") self.library_browser_radiobutton.set_label(view_name) default = Gtk.Settings.get_default() self.headerbar = Gtk.HeaderBar.new() self.headerbar.set_show_close_button(True) self.main_window.set_titlebar(self.headerbar) # this is needed for gnome-shell to replace the decoration self.main_window.set_show_menubar(False) self.plugin.rb_toolbar.hide() self.start_box = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 0) # left side box self.headerbar.pack_start(self.start_box) self.headerbar.set_custom_title(self.library_box) self._end_box_controls = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 0) # right side box self.end_box = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 0) # any source defined controls self._end_box_controls.add(self.end_box) # add a source toggle button source_button = Gtk.ToggleButton.new() source_button.set_action_name("app.ToggleSourceMediaToolbar") symbol = "view-more-horizontal-symbolic" source_button.set_margin_left(3) image = Gtk.Image.new_from_icon_name(symbol, Gtk.IconSize.SMALL_TOOLBAR) source_button.add(image) self._end_box_controls.add(source_button) # GNOME design upstream is that main appmenu options should be # within reach of the headerbar with the traditional # appmenu reduced to the occasionally used options # We will reduce the appmenu to just Help, About and Quit option menu_button = Gtk.MenuButton.new() if gtk_version() >= 3.14: symbol = "open-menu-symbolic" menu_button.set_margin_start(3) else: symbol = "emblem-system-symbolic" menu_button.set_margin_left(3) image = Gtk.Image.new_from_icon_name(symbol, Gtk.IconSize.SMALL_TOOLBAR) menu_button.add(image) menu = self.shell.props.application.get_shared_menu('app-menu') menu_button.set_menu_model(menu) self._end_box_controls.add(menu_button) menu.remove(3) # help about quit cl.switch_locale(cl.Locale.RB) appmenu = Gio.Menu.new() appmenu.append(_("_Help"), "app.help") appmenu.append(_("_About"), "app.about") appmenu.append(_("_Quit"), "app.quit") app = self.shell.props.application app.set_app_menu(appmenu) self.headerbar.pack_end(self._end_box_controls) self.headerbar.show_all() controlled, current_controller = \ self.is_controlled(self.shell.props.selected_page) current_controller.set_library_labels() action = self.plugin.toggle_action_group.get_action('ToggleToolbar') if not self.plugin.start_hidden: action.set_active(True) print("not hidden") else: action.set_active(False) self.set_visible(False) def _resize_source(self, page): if page: child = self.find(page, 'GtkGrid', "by_name") # hard-coded test for sources where grid is this value if child and child.props.margin_top == 6: child.props.margin_top = 0 def reset_toolbar(self, page): print(page) super(AltToolbarHeaderBar, self).reset_toolbar(page) self.library_radiobutton_toggled(None) self._set_toolbar_controller() self._resize_source(page) ret, controller = self.is_controlled(page) controller.set_library_labels() if controller.toolbar_visibility() is not None: toolbar = controller.get_toolbar(page) toolbar.set_visible(controller.toolbar_visibility()) def _set_toolbar_controller(self): ret_generic_bool, generic_controller = self.is_controlled('generic') if not ret_generic_bool: return if self.shell.props.selected_page not in self.sources: ret_bool, controller = \ self.is_controlled(self.shell.props.selected_page) self.sources[self.shell.props.selected_page] = controller current_controller = self.sources[self.shell.props.selected_page] current_controller.update_controls(self.shell.props.selected_page) def set_visible(self, visible): self.small_bar.set_visible(visible) def set_library_box_sensitive(self, sensitivity): sensitive = sensitivity if self.shell.props.selected_page in self._always_visible_sources: sensitive = True self.library_box.set_sensitive(sensitive) alternative-toolbar-0.18.0/alttoolbar_widget.py000066400000000000000000000123771324014357300216520ustar00rootroot00000000000000# -*- Mode: python; coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*- # # Copyright (C) 2015 - 2018 David Mohammed # # 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 3, 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 St, Fifth Floor, Boston, MA 02110-1301 USA. import math from gi.repository import GObject from gi.repository import Gdk from gi.repository import Gtk # ############################################################################# # Custom Widgets # ############################################################## class SmallProgressBar(Gtk.DrawingArea): __gsignals__ = { "control": (GObject.SIGNAL_RUN_LAST, None, (float,)) } @GObject.Property def progress(self): return self.__progress__ @progress.setter def progress(self, value): self.__progress__ = value self.queue_draw() def __init__(self): super(SmallProgressBar, self).__init__() print("############") self.add_events(Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK) self.button_pressed = False self.button_time = 0 self.__progress__ = 0 self.set_hexpand(True) self.props.height_request = 5 self.props.margin_bottom = 2 self.set_size_request(250, -1) def do_draw(self, cc): alloc = self.get_allocation() sc = self.get_style_context() fgc = sc.get_background_color(Gtk.StateFlags.SELECTED) # self.get_state_flags() ) bgc = sc.get_color(Gtk.StateFlags.NORMAL) # self.get_state_flags() ) cc.set_source_rgba(bgc.red, bgc.green, bgc.blue, bgc.alpha) print(alloc.height) offset = int(alloc.height / 2) print(offset) cc.rectangle(0, offset, alloc.width, 2) cc.fill() cc.set_source_rgba(fgc.red, fgc.green, fgc.blue, fgc.alpha) cc.rectangle(0, offset, alloc.width * self.progress, 2) cc.fill() if self.progress != 0: cc.set_line_width(1) cc.set_source_rgba(bgc.red, bgc.green, bgc.blue, bgc.alpha) cc.translate((alloc.width * self.progress), offset + 1) print(self.progress) cc.arc(0, 0, 4, 0, 2 * math.pi) cc.stroke_preserve() cc.fill() def do_motion_notify_event(self, event): if (self.button_pressed): self.control_by_event(event) return True else: return False def do_button_press_event(self, event): self.button_pressed = True self.control_by_event(event) return True def do_button_release_event(self, event): self.button_pressed = False self.control_by_event(event) return True def control_by_event(self, event): allocw = self.get_allocated_width() fraction = event.x / allocw if (self.button_time + 100 < event.time): self.button_time = event.time self.emit("control", fraction) class SmallScale(Gtk.Scale): __gsignals__ = { 'control': (GObject.SIGNAL_RUN_LAST, None, (float,)) } def __init__(self): super(SmallScale, self).__init__() self.__progress__ = 0 self.set_orientation(Gtk.Orientation.HORIZONTAL) self._adjustment = Gtk.Adjustment(0, 0, 1, 0.01, 0.1, 0) self.set_adjustment(self._adjustment) self.set_hexpand(True) self.set_draw_value(False) self.button_pressed = False self.button_time = 0 self.connect('button-press-event', self._button_press_event) self.connect('button-release-event', self._button_release_event) self.connect('motion-notify-event', self._motion_notify_event) self.set_size_request(250, -1) @GObject.Property def progress(self): return self.__progress__ @progress.setter def progress(self, value): self.__progress__ = value self.set_value(value) def _motion_notify_event(self, widget, event): if (self.button_pressed): self.control_by_event(event) return True else: return False def _button_press_event(self, widget, event): self.button_pressed = True self.control_by_event(event) return False def _button_release_event(self, widget, event): self.button_pressed = False self.control_by_event(event) return False def control_by_event(self, event): if (self.button_time + 100 < event.time): allocw = self.get_allocated_width() fraction = event.x / allocw self.button_time = event.time self.emit("control", fraction) alternative-toolbar-0.18.0/autogen.sh000077500000000000000000000007411324014357300175630ustar00rootroot00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. srcdir=`dirname $0` test -n "$srcdir" || srcdir=`dirname "$0"` test -n "$srcdir" || srcdir=. PKG_NAME="alternative-toolbar" prevdir="$PWD" cd "$srcdir" intltoolize --force AUTORECONF=`which autoreconf` if test -z $AUTORECONF; then echo "*** No autoreconf found, please install it ***" exit 1 else autoreconf --force --install || exit $? fi cd "$prevdir" test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" alternative-toolbar-0.18.0/configure.ac000066400000000000000000000023111324014357300200430ustar00rootroot00000000000000AC_INIT([alternative-toolbar], 0.18.0, [fossfreedom@ubuntu.com], [alternative-toolbar], [https://github.com/fossfreedom/alternative-toolbar]) AM_INIT_AUTOMAKE([-Wno-portability no-dist-gzip dist-xz foreign subdir-objects]) AC_PREFIX_DEFAULT(/usr/local) AM_SILENT_RULES([yes]) AC_CONFIG_MACRO_DIR([m4]) GLIB_GSETTINGS AC_CONFIG_FILES([Makefile po/Makefile.in]) IT_PROG_INTLTOOL([0.50.0]) GETTEXT_PACKAGE=alternative-toolbar AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The prefix for gettext translation domains.]) AM_GLIB_GNU_GETTEXT # Pythonic checks AM_PATH_PYTHON([3.2]) AC_PYTHON_GI_MODULE(GObject, 2.0) AC_PYTHON_GI_MODULE(Gtk, 3.0) AC_PYTHON_GI_MODULE(Gio, 2.0) AC_PYTHON_GI_MODULE(RB, 3.0) AC_PYTHON_GI_MODULE(Pango, 1.0) AC_PYTHON_GI_MODULE(Peas, 1.0) AC_PYTHON_GI_MODULE(PeasGtk, 1.0) AC_OUTPUT AC_MSG_RESULT([ alternative-toolbar $VERSION ======== prefix: ${prefix} libdir: ${libdir} sysconfdir: ${sysconfdir} exec_prefix: ${exec_prefix} bindir: ${bindir} datarootdir: ${datarootdir} ]) alternative-toolbar-0.18.0/img/000077500000000000000000000000001324014357300163345ustar00rootroot00000000000000alternative-toolbar-0.18.0/img/audio-radio-symbolic.svg000066400000000000000000000057161324014357300231020ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/audio-x-playlist-automatic-symbolic.svg000066400000000000000000000070311324014357300260660ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/audio-x-playlist-recently-added-symbolic.svg000066400000000000000000000061421324014357300267660ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/audio-x-playlist-recently-played-symbolic.svg000066400000000000000000000057271324014357300272130ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/audio-x-playlist-symbolic.svg000066400000000000000000000063201324014357300241020ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/audio-x-queue-symbolic.svg000066400000000000000000000053231324014357300233670ustar00rootroot00000000000000 image/svg+xml alternative-toolbar-0.18.0/img/lastfm-symbolic.svg000066400000000000000000003131131324014357300221640ustar00rootroot00000000000000 image/svg+xmlalternative-toolbar-0.18.0/img/librefm-symbolic.svg000066400000000000000000000166441324014357300223270ustar00rootroot00000000000000 image/svg+xml Gnome Symbolic Icon Theme Gnome Symbolic Icon Theme alternative-toolbar-0.18.0/img/rb-symbolic-icons.tar.gz000066400000000000000000000247521324014357300230300ustar00rootroot000000000000004U[s㶲_<(-Ѹ_lX]dZoWlZWwr6ϗ|ķYËd|^_\]/gy^s1.r'2/'777L{ĉCsuw66=*`|N mqNW +_g"Uy"_N|l3]Z ѼX]@eOL'O0H>Og=?&џuk:9A7Dxd3@& W1BPcv?~<>rG 3.kHC~2>)GOMNf\6bE9;ϧol3VN:]ϊTgV8݈6;b=ky'8!e\YﻏtBE*еT\^z]Ίh,\.a5_O'ESB=yuEOIyso HVۋczn3]]]}*o+g_ڗ-S^c`\KDܶ{26A1 ޯ0GK1 Ԧ!`W,#qyD9 a\Dy`ųm'Ӎ0A,w3(#pEdx5{譌-qpTUpU᪮FOVU˼\,r9B4^5sʍQV*-8%T\^TϬ(cU8pȥaJbi@xVprg2s98g'67kF70\*ϽWLH%Ux"g,^9o9H gcd͙CR1 1 <@&FeHg x*¥S[xN!R Ȥ$VC@r GX->(U⃀b%⃀,54e05Ha&g84Q0ms MbW0\a$J qxPAS>X8hP(XAT+8 B DAm}Xx8`9 .赂8q500~Ck&!3M<BgfiL$0@8PZH DA :4(C 8`aN1/$% 'DU^zIBz{"Q3G;P0cl p\eUfc*{xej{xvς]z]z:~%e?,BrۆUY$5'hKE2$s+:1|sH]^  MZ5wx3}߭J؈="@DAq %tNa=sSl)P0L| EBic^0XPpXb`=nA3TCw! 6J%4ZTP aPUF81q>9uW2cᦸ!j[3@?)-ʭCy5s#@heU. 9JYnfrk}Z*&h~)ll~8R#yBR^N2*klel:3سHyC]/L4VHwM4öO7fր~LB'%q e"@4-D744iNtm8a(< G[a+$k\?G ֓l=!.ro' v?54Sz<9DbMZf"s<2F;<N!,1Aoت#0=;|xO}H15!M5lFH^nHh}y֕fb=.uih\~p>\SX;K.gh\@Q~MIP~u9<Й]P21HuQcax݊&d>ڶU#larz9]tg궺8 bEP@n-YկQѓƶWS5#ؗzΆۺ`o7@9|ZQ,Co:g$M+tĂ λ6JV#]F;aVX kƵIw z[n=Ant  Zq#^XP`( :7{QRN`e%J`^(J46^@v0-7ٍé&~0>AY_jA6e\oCE-1*~Zs>M=< Q'rDBt[LS"Tkcwy$~(B[1E:>1g[Pw{% DZK8r z.D`"q1f!h9-;q7DNRǟuqQNݧ,܍f)Z!b%("@ bfz],qbAÝ܏ Lqmg廋Y9cx,/AKBet}f9]C)CBcOKYj}pNy^Ka`Z=s}yAËDr19k( |:; dnX1 wU0cCC$W0B% XskQ}δ^T'PʉPUT \.E&BDåKYpT0~UyCz+zFlu|b?^w]@u 9tWH"Wa_r- WC.ZVJVo_zVEWmˌND!VJ jiA*Ҥc;JCv+FwZ9d \v!{躁iqz-GВmLt3ؽw d u0_ [<puw;3\Җd#KdE#EmCB! 6wCxIra1r3ZWwb%kq$:zWp,gx$}"\ Hޏ?~޼߼z!nEN~ yg"ܹWBe}O4K|I)Ƌ5>Z%wjHkvl?X݅]ݷ]1K\ 2 -~ Ɍ<8.%;SsU.fA=KD4b`&V\eYLJV}3nHה~2aZ5i|k#hǶbu-,gYY"D8 ~coc3N9єQ!g [Oi hJBJM0DcPq;>7Q"96^C-NI'(*.L1bEP40G VY,&J/vJV(ONRX 1vW" Qژ|l[HcQCEKz*d .ev$N>,[= %PHټ CiC$g) B¡1c("O콦ᗎB:FHXjz=Cs2L[pHk6Ѵ`$[Q!k%IddTsA%ӜL0H~akzI<4}%E6n'CgIDXvIL'ӝbZdZ>1NLwisi;10<Ӊ1i!;1Ӈmd`;1Ӈmd. !}DNns "q`fr+<Dۗ4?4+-\}rEtDǡ[lݽ W]]ɟk3H*ѯ8p| C*v:a$FQiz;UkwvrPxQ=_y/U]5u{f5Pͯö!(!Ox۱9O']Feƥ\' .#lamBow}M\*O{{6 ==!?6 =% "ަGxBo xBۢ[Boot~O'ďFMC>o xB-!Owq| xwos>o xBۢ[B1?6%=%3ަGxb<1a[b[b<10mn1-1OwqfsoxbÌܢ[b<10m6O';x-xēL"<~4Ͳ߸Ϊ?Am OxxoSԣ[b<10㭾1-1OwqxoExb<1aln-1Ow6[K'F &N = )ïgmo^<>}n@C-dQp7}^9I|b<1)[b<1.mZzO'ƻʸ`1-1Ow6ǘ-1Ow6[O'ƻxͭr~Kis{)$7r(suQ&ȵymKns/ ċ7BcPVf v_7Vn7ՍVGC;{bMwe:;rgnD;z~z Ә`h~{M13l^<㼧?qy6 0$on30Ay~74nT+a9oh nc^pc]"DګH46ofP>h?$>F$KDbE4{;@7l9@ (L#"Zjᨀz;DU|4}$B0"nKDw}5>lhBH@;Dt"…l!U o9DaXâ5t;FCЍѵ$2|Y&k,S`aF29%_d^«LE,Cg&KsaAEiYr<3ڤ'z`~fӝZ! ekS Z.T!ӏ8읅m*\ S]N1e* {K3);cI}0u-3\fV f$ S!FJT7% h>d ?bR`3L4 , #P4E rgFT  $$AA_X<a`A qkhU1hjj *d/&&wY AwV~HI8ӝBʰpg " s#! S4Eߐ0(2 t!*sc7+uAüDaWS30ىq]YӼQVJ N GX Bǥ{QJ=aAqX a@/ȥz//qZ܇YqZ|.d.,ay5Ow<>Ybc5]r(r9_/?K#~eoսk>뻫bu2Lj6MWn8Lpu7(gqc}\ of+%+!a&c_˻j=ZBSenPuz,\,Wrqփժq9..zz2ZLFr/>|&.bu:>W''WY^./O&bVaN`8m7b~.|^.VbVc&{O8Mr\GGM \69tRu*"_q+E>D6&V1ՂSk$0+X*N֟`yZ58-'!S1s8^Tr-:r:)زʀ B|Kh2Z6[I#<0ZO~<>rF PGOAt>,phdm}]agdr9)Uk')n01_X( bfWStR4%sWWԘ47g=q?fa5{P7mJ A\Fh\ w\A) 5ޠ z?=<uX J>o0HL 3dЃ+U Ej!6DsRAw] y IKkfc@=G)/4~1$C陂2-k+.P%[lͣMe2a+@-YD U0a\2fjAibBIae-8u@'8(8+P(1/q`X{wB$w i3Hk XqG$҈"E쒵a|b3kpk5p%U[t`ф phBxʙAqݖ4pjݳH(`pvMS3ftk\p#.adk6jg9ŸO4_F+qp`U1^z?7OQɾ?d!?|LGot6"\J6}z/FJez #H9"X~-8zj'q5L{֎g2E_ᬧEky^%ȻA^j1tQ.f{fri:M{s`6(fg_pf{X\.y9)-v%3؈Lt?Tbv:{rop8V6 \*^SzFIt4tL"7(''x>ax6TLC*K6Gq  org.gnome.rhythmbox.rhythmbox-alternative-toolbar.addon rhythmbox.desktop Alternative Toolbar Enhanced play controls and interface

Replace the current standard toolbar with either a compact toolbar or with the new Gnome-style client-side decoration.

https://github.com/fossfreedom/alternative-toolbar https://github.com/fossfreedom/alternative-toolbar/issues https://translations.launchpad.net/alternative-toolbar CC0-1.0 GPL-3.0 http://pix.toile-libre.org/upload/original/1518387161.png David Mohammed fossfreedom@ubuntu.com Rhythmbox Plugin Alternative Toolbar
alternative-toolbar-0.18.0/po/000077500000000000000000000000001324014357300161765ustar00rootroot00000000000000alternative-toolbar-0.18.0/po/LINGUAS000066400000000000000000000001651324014357300172250ustar00rootroot00000000000000af bg ca cs de el en_AU en_GB en_US eo es fi fr id it ja ko ms pl pt_BR pt ru sl sr@latin sr sv th tr uk zh_CN zh_TW alternative-toolbar-0.18.0/po/POTFILES.in000066400000000000000000000003771324014357300177620ustar00rootroot00000000000000alternative-toolbar.py alttoolbar_controller.py alttoolbar_preferences.py alttoolbar_sidebar.py alttoolbar_type.py alttoolbar_repeat.py [type: gettext/glade]ui/altpreferences.ui [type: gettext/glade]ui/altlibrary.ui [type: gettext/glade]ui/alttoolbar.ui alternative-toolbar-0.18.0/po/POTFILES.skip000066400000000000000000000002631324014357300203140ustar00rootroot00000000000000alternative-toolbar.py alttoolbar_controller.py alttoolbar_plugins.py alttoolbar_preferences.py alttoolbar_sidebar.py alttoolbar_type.py alttoolbar_widget.py alttoolbar_repeat.py alternative-toolbar-0.18.0/po/af.po000066400000000000000000000156251324014357300171350ustar00rootroot00000000000000# Afrikaans translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-24 19:14+0000\n" "Last-Translator: hjvdw \n" "Language-Team: Afrikaans \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Liedjies" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorië" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Herbegin die toepassing om die veranderinge te sien." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Nutsbalk:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Meer geskik vir werkskerm\n" "omgewings soos Gnome en Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Gebruik kompakte opstelling" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Vertoon die terugspeelknoppies in die nutsbalk met 'n meer kompakte styl as " "die standaard rhythmbox styl.\n" "Altyd aan vir die moderne opstelling." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Toon:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/styl/jaar van die huidige liedjie" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Vertoon album/styl/jaar eerder as liedjie-kunstenaar-album. nuttig vir " "werksbladomgewings waar liedjie-kunstenaar-album reeds in die titelbalk " "vertoon word." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Nutsbeskrywings vir die terugspeelknoppies" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Vertoon of verberg die nutsbeskywings vir die terugspeelknoppies" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Volume verstelling" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Vertoon of verberg die volume verstelling" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Terugspeelknoppies" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Gebruik:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "" alternative-toolbar-0.18.0/po/alternative-toolbar.pot000066400000000000000000000140351324014357300227030ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "" alternative-toolbar-0.18.0/po/bg.po000066400000000000000000000251541324014357300171350ustar00rootroot00000000000000# Bulgarian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-22 13:11+0000\n" "Last-Translator: George Karavasilev \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Превъртане назад" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Превъртане назад в текущия запис с 5 секунди" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Превъртане напред" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Превъртане напред в текущия запис с 5 секунди" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Превъртане назад в текущия запис с 5 секунди" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Показване или скриване на тулбара с контролите за изпълнение" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Показване на тулбара с източници" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Показване или скриване на тулбара с източници" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Алтернативен Тулбар" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Заместване на големият тулбар на Ритъмбокс с CSD или конпактен тулбар, който " "може да бъде скрит" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Преглед на всички" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Внасяне" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Станции" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Най-високо оценени" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Наскоро добавени" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Наскоро изпълнявани" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Подкасти" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Рестартиране" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Локална колекция" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Онлайн източници" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Други източници" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Плейлисти" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Песни" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Категории" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Разглеждане" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Повтаряне на текущия запис" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Рестартрайте плеъра за прилагане на промените." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Тулбар:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Работещо на добре в\n" "десктоп среди като Гном и Елементари." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Модерен" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Използване на компактни контроли" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Показване на контролите за изпълнението на песента в конпактен стил вместо в " "стандартния стил на Ритъмбокс.\n" "Винаги разрешено за модерен тулбар." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Показване на:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Албум/жанр/година за изпълняваната песен" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Показване на албума/жанра/годината вместо на песен-изпълнител-албум. Полезно " "за тези работни среди където песен-изпълнител-албум е показвано в заглавието " "на прозореца." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Подсказки за контролите на изпълнение на песента" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Показване или скриване на контролите на изпълнение на песента." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Сила на звука" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Показване или скриване на бутонът за силата на звука." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Контроли за изпъление на песента" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Показване или скриване на контролите за изпъление на песента." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Използване на:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Имена на песен/изпълнител в една колона" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Показване на имента за песен и изпълнител в една колона преди слайдера за " "прогрес на песента. Ако не се използва, те се показват на слайдера за " "прогрес на песента." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Компактен слайдер за прогрес на песента" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Показване и изполване на компактен слайдер з прогрес на песента. Полезно в " "случаите, в които темата която използвате показва прекалено голям слайдер за " "прогрес на песента." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Подобрена странична лента" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Показване или скриване на подобрена странична лента за плеъра. Тя има " "подобрени символни иконки, по-добра организация на източници и възжможност " "за показване и скриване на категории." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Подобрен диалог за приставки" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Показване или скриване на подбрен диалог за управление на приставките. Той " "използва превклюватели вместо чекбоски и малък тулбар със символни иконки. " "Работи най-добре с Гноме базирани работни среди." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Изпълняване на предишния запис" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Старт или пауза на изпълнението" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Изпълняване на следващия запис" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Изпълняване на записите в случаен ред" alternative-toolbar-0.18.0/po/ca.po000066400000000000000000000211631324014357300171240ustar00rootroot00000000000000# Catalan translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-12 19:52+0000\n" "Last-Translator: VPablo \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Cerca enrere" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Cerca enrere, a la pista actual, per 5 segons." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Cerca endavant" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Cerca endavant, a la pista actual, per 10 segons." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Mostra la barra d'eines de Reproducció-Controls" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Mostra o oculta la barra d'eines de reproducció-controls" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Mostra la Barra d'eines de Fonts" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Mostra o oculta la barra d'eines de fonts" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barra d'eines Alternativa" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Reemplaça la barra gran de Rhythmbox per una Barra d'eines Decorada per la " "Part-Client o Compacta que es pot amagar" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Mostra-ho tot" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importa" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Estacions" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Les millor puntuades per mi" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Afegits recents" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Reproduccions recents" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Reinicia" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Col·lecció local" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Fonts en línia" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Altres fonts" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Llistes de reproducció" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Temes" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categories" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Navega" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repeteix la pista actual" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Reinicie el reproductor per que els canvis tinguen efecte." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barra d'eines:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Mes adequat per entorns\n" "d'escriptori con GNOME o Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Usa controls compactes" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Mostra els controls de reproducció a la barra d'eines amb un estil visual " "compacte en lloc de l'estil rhythmboc estàndard.\n" "Sempre activat per al mode de la barra d'eines modern." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Mostra:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Àlbum/gènere/any per la cançó en reproducció" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Mostra àlbum/gènere/any en lloc de cançò-artista-àlbum. Útil per entorns " "d'escriptori on cançò-artista-àlbum ja es mostra la títol de la finestra." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Consells per als controls de reproducció." #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Mostra o oculta els consells per als controls de reproducció." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Control de volum" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Mostra o oculta el control de volum." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Controls de reproducció" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Mostra o oculta els controls de reproducció a la pantalla inicial." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Usa:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Etiqueta de cançó/artista en línia." #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Mostra etiquetes de Cançó i Artista abans del control lliscant de progrés. " "Si no està activat, es mostraran damunt del control de progrés." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Lliscador de progrés compacte" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Mostra i usa un lliscador de progrés compacte de pista - útil quan el " "lliscador de progrés del tema per defecte és visualment massa gran." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barra lateral millorada" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Mosta o oculta la barra lateral redissenyada per al reproductor. Ofereix " "icones simbòliques millorades, millor organització de fonts i la capacitat " "de expandir i contraure categories." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Diàleg de complements millorat" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Mostra o oculta el diàleg de complements redissenyat. Ofereix interruptors " "en lloc de caselles i la barra lateral en línia amb icones simbòliques. " "Funciona millor amb entorns d'escriptori basats en GNOME." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tema obscur si està disponible" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horitzontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Reprodueix la pista anterior" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Continua o pausa la reproducció" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Reprodueix la pista següent" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Reprodueix les pistes en ordre aleatori" alternative-toolbar-0.18.0/po/cs.po000066400000000000000000000214141324014357300171450ustar00rootroot00000000000000# Czech translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-11-12 16:08+0000\n" "Last-Translator: AsciiWolf \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Přetočit zpět" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Přetáčet zpět v nynější skladbě o 5 sekund." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Přetočit vpřed" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Přetáčet vpřed v nynější skladbě o 10 sekund." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Zobrazit panel nástrojů ovládání přehrávače" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Zobrazit nebo skrýt panel nástrojů ovládání přehrávání" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Zobrazit panel nástrojů zdroje" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Zobrazit nebo skrýt panel nástrojů zdroje" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternative Toolbar" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Nahradí velký panel nástrojů Rhythmboxu na straně klienta dekorovaným nebo " "kompaktním panelem nástrojů, který může být skryt" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Zobrazit vše" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importovat" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stanice" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Moje nejlépe hodnocené" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Nedávno přidané" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Nedávno hrané" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasty" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Restartovat" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Místní sbírka" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Online zdroje" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Jiné zdroje" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Seznamy skladeb" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Skladby" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorie" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Procházet" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "_Nápověda" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "O _aplikaci" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "U_končit" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Opakovat všechny skladby" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Opakovat nynější skladbu" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Pro aplikování změn restartujte přehrávač." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Panel nástrojů:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Nejvhodnější pro pracovní\n" "prostředí typu Gnome a Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderní" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Použít kompaktní ovládání" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Zobrazit ovládání přehrávání v panelu nástrojů ve vizuálně kompaktním stylu " "namísto standardního rhythmbox stylu.\n" "Vždy povoleno pro moderní mód panelu nástrojů." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Zobrazit:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/žánr/rok pro hranou skladbu" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Zobrazit album/žánr/rok namísto skladba-umělec-album. Užitečné pro pracovní " "prostředí, kde je skladba-umělec-album již zobrazeno v názvu okna." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tipy pro ovládací prvky přehrávače" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Zobrazit nebo skrýt tipy pro ovládání přehrávání." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Ovládání hlasitosti" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Zobrazit nebo skrýt ovládání přehrávání." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Ovládací prvky přehrávače" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Zobrazit nebo skrýt ovládání přehrávání při startu přehrávače." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Použití:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Vložený štítek skladby/umělce" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Zobrazit štítky skladby a umělce před posuvníkem průběhu. Pokud není " "zvoleno, jsou zobrazeny nad posuvníkem průběhu." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompaktní posuvník průběhu" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Zobrazit a použít kompaktní posuvník průběhu stopy - užitečné tam, kde je " "výchozí posuvník průběhu z tématu příliš velký." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Rozšířený postranní panel" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Zobrazit nebo skrýt přepracovaný postranní panel pro přehrávač. Obsahuje " "vylepšené symbolické ikony, lepší organizování zdrojů a možnost rozbalit a " "sbalit kategorie." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Rozšířený dialog zásuvných modulů" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Zobrazit nebo skrýt přepracovaný dialog zásuvných modulů. Obsahuje přepínače " "namísto zaškrtávacího pole a vložený panel nástrojů se symbolickými ikonami. " "Nejlépe funguje s pracovními prostředími založenými na Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tmavé téma, pokud je k dispozici" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Vodorovně" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Svisle" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Přehrát předchozí skladbu" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Obnovit nebo pozastavit přehrávání" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Přehrát následující skladbu" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Přehrát skladby v náhodném pořadí" alternative-toolbar-0.18.0/po/da.po000066400000000000000000000203401324014357300171210ustar00rootroot00000000000000# Danish translation for alternative-toolbar # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-10-20 11:26+0000\n" "Last-Translator: Mikkel Kirkgaard Nielsen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Søg baglæns" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Søg baglæns, i nuværende nummer, spring 5 sekunder" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Søg forlæns" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Søg forlæns, i nuværende nummer, spring 10 sekunder" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Vis Afspilningskontrol-værktøjslinje" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Vis eller gem værktøjslinjen til afspilningskontrol" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Vis Kilde-værktøjslinje" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Vis eller gem kilde værktøjslinjen" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternativ Værktøjslinje" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Erstat Rhytmbox' store værktøjslinje med en Klient-Dekoreret (Client-Side " "Decorated) eller en Kompakt Værktøjslinje som kan gemmes" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Vis alle" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importér" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stationer" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Mine favoritter" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Senest tilføjede" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Senest afspillet" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcaster" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Genstart" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Lokal samling" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Online kilder" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Andre kilder" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Afspilningslister" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Sange" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorier" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Gennemse" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "_Hjælp" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "_Om" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "_Afslut" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Gentag alle numre" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Gentag nuværende nummer" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Genstart afspilleren for at ændringen træder i kraft." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Værktøjslinje:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Mest egnet til desktop-miljøer\n" "som Gnome og Elementary" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderne" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Brug kompakt kontrol" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Viser afspilningskontrollen i værktøjslinjen i en visuelt kompakt stil i " "stedet for den almindelige rhythmbox-stil.\n" "Altid aktiveret når moderne værktøjslinjer er slået til." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Vis:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/år for nuværende sang" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Vis album/genre/år i stedet for sang-artist-album. Brugbar i de skrivebords-" "miljøer hvor sang-artist-album allerede vises vinduesrammen." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Værktøjshjælp til afspilningskontrol" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Vis eller gem værktøjshjælp for afspilningskontrollen." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Lydstyke-kontrol" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Vis eller gem lydstyke-kontrol" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Afspilnings-kontrol" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Vis eller gem kontroller til afspilning ved opstart." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Brug:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Vis sang/artist på linje" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Vis og brug kompakt forløbs-indikator - brugbar hvor standard-temaets " "indikator er for stor." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Fobedret sidebar" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Vis eller gem afspillerens redsignede sidebar. Den har forbedrede ikoner, " "bedre kilde-organisering og mulighed for at åbne og lukke kategorier." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Forbedret plugin-dialog" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Vis eller gem afspillerens redsignede plugin-dialog. Den har knapper i " "stedet for markerings-bokse og indbygget værktøjslinje med ikoner. Virker " "bedst med Gnome-baserede skrivebords-miljøer." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Mørkt tema hvis tilgængeligt" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Vandret" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Lodret" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Spil det forrige nummer" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Genoptag eller paus afspilning" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Spil det næste nummer" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Spil numre i tilfældig orden" alternative-toolbar-0.18.0/po/de.po000066400000000000000000000207461324014357300171370ustar00rootroot00000000000000# German translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-10-19 12:42+0000\n" "Last-Translator: Philipp Wolfer \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Rückwärts suchen" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Von der aktuellen Wiedergabeposition 5 Sekunden zurück suchen" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Vorwärts suchen" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Von der aktuellen Wiedergabeposition 10 Sekunden vorwärts suchen" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Leiste mit Wiedergabesteuerung anzeigen" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Wiedergabesteuerung anzeigen?" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Wiedergabequellenleiste anzeigen" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Leiste mit Wiedergabequellen anzeigen?" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternatives Erscheinungsbild" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Ersetzt die großen Schaltflächen durch eine kombinierte " "Werkzeugleiste/Titelleiste (Moderner Stil) oder eine kompakte ausblendbare " "Werkzeugleiste." #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Alle anzeigen" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importieren" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Sender" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Beste Bewertung" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Zuletzt hinzugefügt" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Zuletzt gespielt" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Neustart" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Lokale Sammlung" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Onlinequellen" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Andere Quellen" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Wiedergabelisten" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Titel" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorien" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Durchsuchen" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "_Hilfe" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "_Info" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "_Beenden" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Alle Titel wiederholen" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Aktuellen Titel wiederholen" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Änderungen werden nach Neustart wirksam" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Werkzeugleiste" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Am besten geeignet für Desktopumgebungen\n" "wie GNOME und Pantheon" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderner Stil" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Kompakte Wiedergabesteuerung" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Gegenüber dem Rhythmbox-Standard kompaktere Wiedergabesteuerung.\n" "Für den modernen Stil stets wirksam." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Zeige:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album, Genre und Jahr des abgespielten Titels" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Zeige Album, Genre und Jahr anstelle von Titel, Künstler und Album. Nützlich " "wenn Titel, Künstler und Album bereits in der Titelleiste gezeigt werden." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Minihilfe zu Steuerungselementen" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Minihilfe anzeigen?" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Lautstärkeregelung" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Lautstärkeregelung anzeigen?" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Wiedergabesteuerung" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Wiedergabesteuerung beim Start von Rhythmbox anzeigen?" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Verwende:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Kompakte Anzeige von Titel und Künstler" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Zeigt Angaben zu Titel und Künstler links vor der Fortschrittsanzeige. Falls " "nicht ausgewählt, erscheinen die Angaben oberhalb der Fortschrittsanzeige." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompakte Fortschrittsanzeige" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Kompakte Darstellung des Wiedergabefortschritts - nützlich falls die " "standardmäßige Darstellung zu groß erscheint." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Überarbeitete Seitenleiste" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Überarbeitete Seitenleiste mit verbesserten symbolischen Icons, verbesserter " "Organisation der Musikquellen, sowie der Möglichkeit Kategorien hinzu- und " "abzuschalten." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Überarbeitete Plugin-Verwaltung" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Die überarbeitete Plugin-Verwaltung bietet Schalter anstelle von " "Kontrollkästchen und eine integrierte Werkzeugleiste mit symbolischen Icons. " "Funktioniert am besten mit GNOME-basierten Desktopumgebungen." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Dunkles Thema" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertikal" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Vorherigen Titel abspielen" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Wiedergabe pausieren oder fortsetzen" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Nächsten Titel abspielen" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Titel in zufälliger Reihenfolge abspielen" alternative-toolbar-0.18.0/po/el.po000066400000000000000000000244401324014357300171420ustar00rootroot00000000000000# Greek translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-10-01 15:06+0000\n" "Last-Translator: Panos Lyrakis \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Αναζήτηση πίσω" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Αναζήτηση προς τα πίσω, στο τρέχον κομμάτι, ανά 5 δευτ/τα." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Αναζήτηση μπροστά" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Αναζήτηση προς τα εμρπός, στο τρέχον καμμάτι, ανά 10 δευτ/τα." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Εμφάνιση γραμμής εργαλείων με τα χειριστήρια αναπαραγωγής" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" "Εμφάνιση ή απόκρυψη της γραμμής εργαλείων με τα χειριστήρια αναπαραγωγής" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Εμφάνιση εργαλείων προέλευσης" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Εμφάνιση ή απόκρυψη εργαλείων σχετικά με την προέλευση των κομματιών" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "εναλλακτική γραμμή εργαλείων" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Προβολή όλων" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Εισαγωγή" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Σταθμοί" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Κορυφαία βαθμολογημένα από μένα" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Προστέθηκαν πρόσφατα" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Πρόσφατες αναπαραγωγές" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Φορητές εκπομπές (Podcasts)" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Επανεκκίνηση" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Τοπική συλλογή" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Πηγές από το διαδίκτυο" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Άλλες πηγές" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Λίστες αναπαραγωγής" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Τραγούδια" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Κατηγορίες" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Πλοήγηση" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Επανάληψη του τρέχοντος κομματιού" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Κάντε επανεκκίνηση στον player για να ισχύσουν οι αλλαγές." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Γραμμή εργαλείων" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Μοντέρνο" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Προβολή:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Άλμπουμ / Είδος / έτος για το τραγούδι που αναπαράγεται" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Εμφάνιση Άλμπουμ / Είδος / έτος, αντί του τραγουδιού-καλλιτέχνη-άλμπουμ. " "Χρήσιμο για γραφικά περιβάλλοντα όπου το τραγούδι-καλλιτέχνης-άλμπουμ " "εμφανίζεται ήδη στον τίτλο του παραθύρου." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Εμφάνιση ή απόκρυψη των tooltips στα χειριστήρια αναπαραγωγής." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Χειριστήριο έντασης" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Εμφάνιση ή απόκρυψη του χειριστηρίου έντασης" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Χειριστήρια αναπαραγωγής" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Εμφάνιση ή απόκρυψη των χειριστηρίων αναπαραγωγής κατά την εκκίνηση" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Χρήση:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Ενσωμάτωση ετικέτας τραγούδι/καλλιτέχνης" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Εμφάνιση ετικέτας Τραγούδι και Καλλιτέχνης πριν τον ολισθητήρα προόδου " "(progress slider). Στην περίπτωση που δεν ενεργοποιήσετε αυτή την επιλογή, " "οι ετικέτες θα εμφανίζονται πάνω από τον ολισθητήρα." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Διακριτικός ολισθητήρας προόδου" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Εμφανίστε και χρησιμοποιήστε έναν πιο διακριτικό ολισθητήρα προόδου. " "Κατάλληλο όταν το προκαθορισμένο θέμα του ολισθητήρα είναι μεγάλο οπτικά." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Εμφανίστε ή αποκρύψτε ένα επανασχεδιασμένο sidebar ( πλαϊνή γραμμή εργαλείων " ") στον player. Διαθέτει βελτιωμένα εικονίδια, καλλήτερη οργάνωση πηγών καθώς " "και δυνατότητα να αναπτύξετε και να συμπτύξετε κατηγορίες." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Ενισχυμένα πρόσθετα διαλόγου" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Εμφανίστε ή αποκρύψτε τον επανασχεδιασμένο διάλογο προσθέτων. Τα κουτάκια " "επιλογής έχουν αντικατασταθεί με διακόπτες και διαθέτει ενσωματομένη γραμμή " "εργαλείων με εικονίδια. Λειτουργεί καλύτερα σε γραφικά περιβάλλοντα " "βασισμένα στο Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Αναπαραγωγή προηγούμενου κομματιού" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Συνέχιση ή παύση της αναπαραγωγής" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Αναπαραγωγή επόμενου κομματιού" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Αναπαραγωγή των κομματιών με τυχαία σειρά" alternative-toolbar-0.18.0/po/en_AU.po000066400000000000000000000203701324014357300175270ustar00rootroot00000000000000# English (Australia) translation for alternative-toolbar # Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2016. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-12 20:16+0000\n" "Last-Translator: fossfreedom \n" "Language-Team: English (Australia) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Seek Backward" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Seek backward, in current track, by 5 seconds." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Seek Forward" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Seek forward, in current track, by 10 seconds." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Show Play-Controls Toolbar" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Show or hide the play-controls toolbar" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Show Source Toolbar" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Show or hide the source toolbar" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternative Toolbar" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "View All" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Import" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stations" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "My Top Rated" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Recently Added" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Recently Played" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Restart" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Local collection" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Online sources" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Other sources" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Playlists" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Songs" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categories" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Browse" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repeat the current track" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Restart the player for the changes to take effect." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Toolbar:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Best suitable for desktop\n" "environments like Gnome and Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Use compact controls" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard Rhythmbox style.\n" "Always enabled for modern toolbar mode." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Show:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/year for playing song" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tooltips for the playback controls" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Show or hide the tooltips for the playback controls." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Volume control" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Show or hide the volume control." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Playback controls" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Show or hide the playing controls on player startup." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Use:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Inline song/artist label" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Compact progress slider" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Enhanced sidebar" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Enhanced plugins dialogue" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Show or hide redesigned plugins dialogue. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Dark theme if available" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Play the previous track" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Resume or pause the playback" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Play the next track" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Play the tracks in random order" alternative-toolbar-0.18.0/po/en_GB.po000066400000000000000000000204121324014357300175070ustar00rootroot00000000000000# English translations for PACKAGE package # English (United Kingdom) translations for PACKAGE package. # Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2015. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-12-16 01:05+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: en_GB\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Seek Backwards" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Seek backwards, in current track, by 5 seconds." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Seek Forwards" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Seek forwards, in current track, by 10 seconds." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Show Play-Controls Toolbar" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Show or hide the play-controls toolbar" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Show Source Toolbar" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Show or hide the source toolbar" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternative Toolbar" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "View All" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Import" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stations" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "My Top Rated" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Recently Added" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Recently Played" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Restart" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Local collection" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Online sources" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Other sources" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Playlists" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Songs" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categories" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Browse" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "_Help" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "_About" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "_Quit" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Repeat all tracks" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repeat the current track" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Restart the player for the changes to take effect." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Toolbar:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Best suitable for desktop\n" "environments like GNOME and elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Use compact controls" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Display the playback controls in the toolbar in visually compact style, " "instead of the standard Rhythmbox style.\n" "Always enabled for modern toolbar mode." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Show:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/year for playing song" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tooltips for the playback controls" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Show or hide the tooltips for the playback controls." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Volume control" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Show or hide the volume control." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Playback controls" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Show or hide the playing controls on player start-up." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Use:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Inline song/artist label" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Display Song and Artist labels before the progress slider. If not ticked, " "they are displayed above the progress slider." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Compact progress slider" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Enhanced sidebar" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Enhanced plug-ins dialogue" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Show or hide redesigned plug-ins dialogue. It features switches instead of " "checkboxes, and inline toolbar with symbolic icons. Works best with Gnome " "based desktop environments." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Dark theme if available" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Play the previous track" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Resume or pause the playback" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Play the next track" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Play the tracks in random order" alternative-toolbar-0.18.0/po/en_US.po000066400000000000000000000202411324014357300175460ustar00rootroot00000000000000# English translations for PACKAGE package. # Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2015. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-12 18:57+0000\n" "Last-Translator: fossfreedom \n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ASCII\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: en_US\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Seek Backward" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Seek backward, in current track, by 5 seconds." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Seek Forward" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Seek forward, in current track, by 10 seconds." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Show Play-Controls Toolbar" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Show or hide the play-controls toolbar" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Show Source Toolbar" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Show or hide the source toolbar" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternative Toolbar" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "View All" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Import" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stations" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "My Top Rated" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Recently Added" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Recently Played" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Restart" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Local collection" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Online sources" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Other sources" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Playlists" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Songs" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categories" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Browse" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repeat the current track" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Restart the player for the changes to take effect." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Toolbar:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Best suitable for desktop\n" "environments like Gnome and Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Use compact controls" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Show:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/year for playing song" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tooltips for the playback controls" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Show or hide the tooltips for the playback controls." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Volume control" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Show or hide the volume control." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Playback controls" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Show or hide the playing controls on player startup." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Use:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Inline song/artist label" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Compact progress slider" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Enhanced sidebar" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Enhanced plugins dialog" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Dark theme if available" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Play the previous track" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Resume or pause the playback" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Play the next track" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Play the tracks in random order" alternative-toolbar-0.18.0/po/eo.po000066400000000000000000000144671324014357300171550ustar00rootroot00000000000000# Esperanto translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-06-16 09:47+0000\n" "Last-Translator: Adolfo Jayme \n" "Language-Team: Esperanto \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Serĉi malantaŭen" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Serĉi antaŭen" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Enporti" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Ludlistoj" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorioj" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Ilpanelo:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Regiloj por ludado" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Uzi:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Ludi la antaŭan trakon" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Ludi la sekvan trakon" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "" alternative-toolbar-0.18.0/po/es.po000066400000000000000000000214341324014357300171510ustar00rootroot00000000000000# Spanish translations for PACKAGE package. # Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Automatically generated, 2015. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-11-26 05:44+0000\n" "Last-Translator: Adolfo Jayme \n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: es\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Buscar hacia atrás" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Buscar hacia atrás, en la pista actual, por 5 segundos." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Buscar hacia adelante" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Buscar hacia adelante, en la pista actual, por 10 segundos." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Mostrar la barra de controles de reproducción" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Muestra u oculta la barra de controles de reproducción" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Mostrar la barra de fuentes" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Muestra u oculta la barra de fuentes" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barra de herramientas alternativa" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Reemplaza la enorme barra de herramientas de Rhythmbox por una decoración de " "lado cliente o una barra compacta ocultable" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Ver todo" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importar" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Estaciones" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Mis favoritas" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Añadidas recientemente" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Reproducidas recientemente" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Reiniciar" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Colección local" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Fuentes en línea" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Otras fuentes" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Listas de reproducción" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Canciones" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categorías" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Navegar" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "Ay_uda" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "_Acerca de" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "_Salir" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Repetir todas las pistas" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repetir la pista actual" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Reinicie el reproductor para que los cambios surtan efecto." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barra de herramientas:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Más adecuada para entornos de\n" "escritorio como Gnome o elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderna" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Usar controles compactos" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Mostrar los controles de reproducción en la barra de herramientas de manera " "compacta en lugar del estilo estándar de Rhythmbox.\n" "Siempre activada en el modo de barra de herramientas moderno." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Mostrar:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Álbum/género/año de la canción en reproducción" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Mostrar álbum/género/año en vez de canción/artista/álbum. Útil para aquellos " "entornos donde ya aparece canción/artista/álbum en el título de la ventana." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Descripciones emergentes en los controles de reproducción" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Activar o desactivar las descripciones emergentes en los controles de " "reproducción." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Control de volumen" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Mostrar u ocultar el control de volumen." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Controles de reproducción" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Mostrar u ocultar los controles de reproducción al iniciar el reproductor." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Utilizar:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Canción y artista en una sola fila" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Mostrar la canción y el artista antes del control de progreso. Si no se " "activa, estos aparecen encima del control de progreso." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Control de progreso compacto" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Activar y utilizar un control deslizante compacto del progreso de pista. " "Útil si le parece que el control de progreso predeterminado es demasiado " "grande visualmente." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barra lateral mejorada" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Activar o desactivar la barra lateral rediseñada. Ofrece iconos " "monocromáticos mejorados, una mejor organización de fuentes y la capacidad " "de expandir y contraer categorías." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Cuadro de diálogo Complementos mejorado" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Activar o desactivar el cuadro de diálogo Complementos rediseñado. Ofrece " "interruptores en vez de casillas de verificación y una barra de herramientas " "sencilla con iconos monocromáticos. Funciona mejor con los entornos de " "escritorio basados en Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tema oscuro si está disponible" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Reproducir la pista anterior" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Reanudar o pausar la reproducción" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Reproducir la pista siguiente" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Reproducir las pistas en orden aleatorio" alternative-toolbar-0.18.0/po/fi.po000066400000000000000000000166021324014357300171410ustar00rootroot00000000000000# Finnish translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-13 06:26+0000\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Siirry taaksepäin" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Siirry taaksepäin 10 sekuntia nykyisessä kappaleessa." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Siirry eteenpäin" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Siirry eteenpäin 10 sekuntia nykyisessä kappaleessa." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Toistosäädinten työkalupalkki" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Näytä tai piilota toistosäädinten työkalupalkki" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Lähteen työkalupalkki" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Näytä tai piilota lähdetyökalupalkki" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Vaihtoehtoinen työkalupalkki" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Näytä kaikki" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Tuo" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Kanavat" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Parhaiten arvostellut" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Äskettäin lisätyt" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Toistettu äskettäin" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcastit" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Käynnistä uudelleen" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Paikallinen kokoelma" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Verkkolähteet" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Muut lähteet" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Soittolistat" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Kappaleet" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Luokat" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Selaa" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Kertaa nykyinen kappale" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Käynnistä soitin uudelleen, jotta muutokset tulevat voimaan." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Työkalupalkki:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Sopii parhaiten Gnomen\n" "ja Elementaryn tapaisille työpöydille." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderni" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Käytä kompakteja säätimiä" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Näytä:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Albumi/tyyli/vuosi nykyisestä kappaleesta" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Työkaluvihjeet toiston säätimille" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Näytä tai piilota työkaluvihjeet toiston säätimille." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Äänenvoimakkuuden säätö" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Näytä tai piilota äänenvoimakkuuden säätö." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Toiston säätimet" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Käytä:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Sisennetyt kappale- ja esittäjätiedot" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompakti edistymissäädin" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Paranneltu sivupalkki" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Paranneltu liitännäisikkuna" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tumma teema jos käytettävissä" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Toista edellinen kappale" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Jatka tai keskeytä toisto" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Toista seuraava kappale" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Toista kappaleet satunnaisessa järjestyksessä" alternative-toolbar-0.18.0/po/fr.po000066400000000000000000000216061324014357300171520ustar00rootroot00000000000000# French translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-02-21 17:24+0000\n" "Last-Translator: Éfrit \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Reculer" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Reculer de 5 secondes dans la piste courante." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Avancer" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Avancer de 10 secondes dans la piste courante." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Afficher les commandes de lecture de la barre d’outils" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Afficher ou masquer les commandes de lecture de la barre d’outils" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Afficher la barre d’outils des sources" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Afficher ou masquer la barre d’outils des sources" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barre d’outils alternative" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Remplacer la grosse barre d’outils de Rhythmbox par une barre d’outils " "décorée côté client ou une barre d’outils compacte qui peut être masquée" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Afficher tout" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importer" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stations" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Mes pistes préférées" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Récemment ajoutées" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Récemment lues" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Redémarrer" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Collection locale" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Sources en ligne" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Autres sources" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Listes de lecture" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Morceaux" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Catégories" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Parcourir" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Répéter la piste courante" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Redémarrez le lecteur pour que les changements prennent effet." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barre d’outils :" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Fonctionne mieux avec les environnements\n" "de bureau comme Gnome et Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderne" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Utiliser des contrôles compacts" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Afficher les commandes du lecteur dans la barre d’outils dans un style " "visuel compact au lieu du style standard de Rhythmbox.\n" "Toujours activé en mode barre d’outils moderne." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Afficher :" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/année pour la chanson en lecture" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Afficher album/genre/année au lieu de chanson-artiste-album. Utile pour les " "environnements de bureau dans lesquels chanson-artiste-album est déjà " "affiché dans la barre de titre de la fenêtre." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Bulles d’aide pour les commandes du lecteur" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Afficher ou masquer les bulles d’aide pour les commandes du lecteur." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Commande de volume" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Afficher ou masquer la commande de volume." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Commandes de lecture" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Afficher ou masquer les commandes de lecture au démarrage." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Utiliser :" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Étiquette uniligne chanson/artiste" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Afficher les étiquettes Chanson et Artiste avant le curseur progressif. Si " "cette option n’est pas cochée, elles seront affichées au-dessus de celui-ci." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Curseur progressif compact" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Afficher et utiliser un curseur progressif compact de pistes — utile là où " "le curseur progressif du thème par défaut est visuellement trop large." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barre latérale améliorée" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Afficher ou masquer la barre latérale repensée pour le lecteur. Elle inclut " "des icônes symboliques améliorées, de meilleures sources d’organisation et " "la possibilité d’agrandir ou de réduire les catégories." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Boîte de dialogue des extensions améliorée" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Afficher ou masquer la boîte de dialogue des extensions repensée. Elle " "inclut des boutons à deux options au lieu de cases à cocher ainsi qu’une " "barre d’outils uniligne avec des icônes symboliques. Fonctionne mieux avec " "les environnements de bureau basé sur Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Thème sombre si disponible" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontale" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Verticale" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Lire la piste précédente" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Reprendre ou mettre en pause la lecture" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Lire la piste suivante" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Lire les pistes en ordre aléatoire" alternative-toolbar-0.18.0/po/id.po000066400000000000000000000207051324014357300171360ustar00rootroot00000000000000# Indonesian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-02-14 00:44+0000\n" "Last-Translator: Hertatijanto Hartono \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: id\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Cari Mundur" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Cari mundur, di trek saat ini, per 5 detik." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Cari Maju" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Cari maju, di trek saat ini, per 10 detik." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Tampilkan Batang Alat Pengontrol-Putar" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Tampilkan atau sembunyikan batang alat pengontrol-putar" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Tampilkan Batang Alat Sumber" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Tampilkan atau sembunyikan batang alat sumber" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Batang Alat Alternatif" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Ganti batang alat besar Rhythmbox dengan Dekorasi Sisi-Klien atau Batang " "Alat Ringkas yang dapat disembunyikan" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Lihat Semua" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Impor" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stasiun" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Pilihan Top" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Baru Saja Ditambahkan" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Baru Saja Diputar" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcast" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Mulai Ulang" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Koleksi Lokal" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Sumber Daring" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Sumber Lainnya" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Daftar Putar" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Lagu" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategori" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Ramban" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Ulangi trek saat ini" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Mulai ulang pemutar agar perubahan terdampak." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Bilah Alat:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Paling cocok untuk lingkungan\n" "destop seperti Gnome dan Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Gunakan pengendali ringkas" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Tampilkan pengendali pemutaran pada bilah alat dengan gaya visual ringkas " "daripada gaya standar rhythmbox.\n" "Selalu aktif untuk mode bilah alat modern." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Tampilkan:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/jenis musik/tahun untuk lagu yang diputar" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Tampilkan album/jenis musik/tahun ketimbang lagu-jenis musik-tahun. Berguna " "untuk lingkungan destop yang lagu-jenis musik-tahun sudah ditampilkan di " "judul jendela." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tip alat untuk pengendali pemutaran" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Tampilkan atau sembunyikan tip alat untuk pengendali pemutaran." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Pengendali volume" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Tampilkan atau sembunyikan pengendali volume." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Pengendali pemutaran" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Tampilkan atau sembunyikan pengendali pemutaran pada saat memulai pemutar." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Gunakan:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Label lagu/artis sebaris" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Tampilkan label Lagu dan Artis sebelum penyusur laju. Jika tidak dicentang, " "label ditampilkan di atas penyusur laju." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Penyusur laju ringkas" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Tampilkan dan gunakan penyusur laju trek ringkas - berguna untuk tema bawaan " "penyusur laju yang secara visual terlalu besar." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Bilah sisi dipertingkat" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Tampilkan atau sembunyikan bilah sisi pemutar yang didesain ulang. Dengan " "fitur ikon simbolik yang disempurnakan, organisasi sumber yang lebih baik, " "dan kemampuan untuk meluaskan dan meruntuhkan kategori." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Dialog pengaya dipertingkat" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Tampilkan atau sembunyikan dialog pengaya yang didesain ulang. Dengan fitur " "sakelar ketimbang kotak centang dan batang alat sebaris dengan ikon " "simbolik. Sangat cocok dengan lingkungan destop berbasis Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horisontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertikal" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Putar trek sebelumnya" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Lanjut atau jeda pemutaran" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Putar trek selanjutnya" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Putar trek secara acak" alternative-toolbar-0.18.0/po/it.po000066400000000000000000000214571324014357300171630ustar00rootroot00000000000000# Italian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-13 05:11+0000\n" "Last-Translator: Luca Ciavatta \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Sposta indietro" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Sposta indietro, nella traccia corrente, di 5 secondi." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Sposta avanti" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Sposta avanti, nella traccia corrente, di 10 secondi." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Mostrare i controlli di riproduzione nella barra degli strumenti" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" "Mostra o nasconde i controlli di riproduzione nella barra degli strumenti" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Mostra barra degli strumenti sorgente" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Mostra o nasconde la barra degli strumenti sorgente" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barra degli strumenti alternativa" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Sostituisce la grande barra degli strumenti di Rhythmbox con una decorata " "lato client o con una compatta che può essere nascosta" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Mostra tutto" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importa" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stazioni" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "I miei preferiti" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Aggiunti di recente" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Ascoltati di recente" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcast" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Riavvia" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Collezione locale" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Risorse online" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Altre risorse" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Playlist" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Brani" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categorie" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Sfoglia" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Ripete la traccia corrente" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Riavviare il riproduttore per rendere effettive le modifiche." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barra degli strumenti:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Più adatta per ambienti\n" "desktop come Gnome ed Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderna" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Usare controlli compatti" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Mostra i controlli di riproduzione nella barra degli strumenti con uno stile " "compatto al posto di quello standard di Rhythmbox.\n" "Sempre abilitato per la modalità «Moderna» della barra degli strumenti." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Mostra:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genere/anno per i brani in riproduzione" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Mostra Albun/Genere/Anno al posto di Brano/Artista/Album. Utile per quelli " "ambienti desktop dove Brano/Artista/Album viene mostrato nella barra del " "titolo." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Suggerimenti per i controlli di riproduzione" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Mostra o nasconde i suggerimenti per i controlli di riproduzione." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Controllo del volume" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Mostra o nasconde il controllo del volume." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Controlli di riproduzione" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Mostra o nasconde i controlli di riproduzione all'avvio del riproduttore." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Uso:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Etichetta brano/artista in linea" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Mostra le etichette «Brano» e «Artista» prima dell'indicatore di " "riproduzione. Se non selezionato, verranno mostrate sopra l'indicatore di " "riproduzione." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Indicatore di riproduzione compatto" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Mostra e usa un indicatore di riproduzione compatto. Utile quando " "l'indicatore predefinito è visivamente troppo largo." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barra laterale migliorata" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Mostra o nasconde la barra laterale del riproduttore ridisegnata. È dotata " "di icone migliorate, migliore organizzazione delle sorgenti e della capacità " "di espandere e comprimere le categorie." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Dialogo dei plugin migliorato" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Mostra o nasconde il dialogo dei plugin ridisegnato. Offre la possibilità di " "usare pulsanti di attivazione al posto delle caselle di spunta e una barra " "degli strumenti in linea con icone simboliche. Funziona meglio con ambienti " "desktop basati su GNOME." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tema scuro se disponibile" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Orizzontale" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Verticale" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Riproduce la traccia precedente" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Riprende o mette in pausa la riproduzione" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Riproduce la traccia successiva" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Riproduce le tracce in ordine casuale" alternative-toolbar-0.18.0/po/ja.po000066400000000000000000000215141324014357300171330ustar00rootroot00000000000000# Japanese translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-12-26 10:01+0000\n" "Last-Translator: Shinichirou Yamada " "\n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "少し前に戻る" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "現在のトラックを5秒戻る" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "少し先に進む" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "現在のトラックを10秒進む" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "再生コントロールツールバーを表示" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "再生コントロールツールバーの表示/非表示" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "ソースツールバーを表示" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "ソースツールバーの表示/非表示" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternative Toolbar" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "Rhythmboxの大きなツールバーを、非表示にできるコンパクトなツールバーに置き換えます" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "すべて表示" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "インポート" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "局" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "お気に入り" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "最近追加したもの" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "最近再生したもの" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcast" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "再起動" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "ローカルコレクション" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "オンラインソース" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "その他のソース" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "プレイリスト" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "曲" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "カテゴリー" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "ヘルプ(_H)" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "このアプリケーションについて(_A)" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "終了(_Q)" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "すべてのトラックをリピート" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "現在のトラックをリピート" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "プレイヤーを再起動すると変更が有効になります" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "ツールバー:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "GNOMEやElementaryのような\n" "デスクトップ環境に最適です。" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "モダン" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "コンパクトなコントロールを使用" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "標準のRhythmboxスタイルの代わりに、視覚的にコンパクトなスタイルで、ツールバーに再生コントロールを表示します。\n" "モダンツールバーモードでは常に有効になります。" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "表示:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "再生中の曲のアルバム/ジャンル/制作年" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "曲/アーティスト/アルバムの代わりに、アルバム/ジャンル/制作年を表示します。ウィンドウのタイトルバーに、曲/アーティスト/アルバムが表示されるデスクトッ" "プ環境において有用です。" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "再生コントロールのツールチップ" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "再生コントロールのツールチップの表示/非表示" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "音量コントロール" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "音量コントロールの表示/非表示" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "再生コントロール" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "プレイヤー起動時の再生コントロールの表示/非表示" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "使用:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "曲ラベル/アーティストラベルのインライン表示" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "再生位置の調整スライダーの前に、曲とアーティストのラベルを表示します。チェックされていない場合は、再生位置の調整スライダーの上に表示されます。" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "コンパクトな再生位置の調整スライダー" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "コンパクトな、トラックの再生位置の調整スライダーを表示して使用します。デフォルトのテーマの再生位置の調整スライダーが、視覚的に大きすぎる場合において有用で" "す。" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "機能が強化されたサイドバー" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "機能が強化されたプラグインダイアログ" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "ダークテーマ(利用可能な場合)" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "横" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "縦" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "前のトラックを再生" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "再生を再開/一時停止" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "次のトラックを再生" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "トラックをランダム再生" alternative-toolbar-0.18.0/po/kab.po000066400000000000000000000143421324014357300172770ustar00rootroot00000000000000# Kabyle translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-27 15:51+0000\n" "Last-Translator: Belkacem Mohammed \n" "Language-Team: Kabyle \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Taggayin" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Tafeggagt n ifecka:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Atrar" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Sken:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Seqdec:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "" alternative-toolbar-0.18.0/po/ko.po000066400000000000000000000212511324014357300171500ustar00rootroot00000000000000# Korean translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-02-28 01:41+0000\n" "Last-Translator: minwook shin \n" "Language-Team: Korean \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "되감기" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "5초로 , 현재 트랙 에서 뒤로 탐색 ." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "빨리감기" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "10초로 , 현재 트랙에서 앞으로 탐색." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "재생-제어 툴바 보기" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "재생-제어 툴바를 보거나 숨기기" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "소스 툴바 보기" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "소스 툴바를 보거나 숨기기" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "대체 도구 모음" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "클라이언트-측 장식 또는 숨길수있는 소형 도구 모음가 있는 리듬박스 큰 툴바를 재 배치할수있습니다" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "모두 보기" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "가져오기" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "역" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "나의 가장 높은 점수순" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "최근에 추가됨" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "최근 연주된 것" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "팟캐스트" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "다시 시작" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "로컬 컬랙션" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "온라인 소스" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "다른 소스" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "재생목록" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "노래들" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "카테고리" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "찾아보기" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "현재 트랙 을 반복" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "변경 사항을 적용하려면 플레이어를 다시 시작합니다." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "툴바" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "데스크탑으로 가장 적당함\n" "그놈과 엘리멘터리랑 비슷한 환경" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "모던" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "맞춤 제어 사용" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "시각적으로 맞추는 스타일 대신에 표준 리듬 박스 스타일 의 도구 모음에서 재생 컨트롤을 넓히다 .\n" "항상 현대적인 도구 모음 모드를 사용할 수 있습니다 ." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "보기:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "재생중인 노래의 앨범/장르/년도" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "앨범 / 장르 / 년 대신 노래 아티스트 앨범을 보입니다. 데스크탑 환경에 유용하게 노래-아티스트-앨범이 창 제목 에 표시됩니다." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "재상 제어를 위한 툴팁" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "재생 제어에 대한 설명 을 보이거나 숨기기." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "볼륨 조절" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "볼륨 조절을 보이거나 숨기기" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "재생목록 제어" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "플레이어 시작시 재생 컨트롤을 보이거나 숨기기" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "사용:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "인라인 노래 / 아티스트 레이블" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "진행 슬라이더 전에 노래와 아티스트 라벨을 표시합니다 . 선택하지 않은 경우 , 진행 슬라이더 위에 표시됩니다 ." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "맞춤 진행 슬라이더" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "표시와 소형 트랙 진행 슬라이더를 사용 - 기본 테마 진행 슬라이더가 시각적으로 너무 큰 경우 유용합니다 ." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "향상된 사이드 바" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "플레이어에 대한 재 설계된 기사를 보이거나 숨길 수 있습니다. 그것은 상징적인 아이콘, 더 나은 소스 조직과 확장 범주를 축소 할 수있는 " " 향상 기능을 제공합니다." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "강화 된 플러그인 다이얼로그" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "재 설계 플러그인 대화 상자를 보이거나 숨깁니다. 그것은 상징적인 아이콘 스위치 대신 체크 박스와 인라인 도구 모음을 제공합니다. 그놈 " "기반 데스크탑 환경과 가장 잘 작동합니다." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "존재한다면 어두운 테마로" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "가로" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "세로" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "이전 트랙 재생" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "다시 시작 하거나 재생을 일시 정지" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "다음 트랙 재생" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "임의의 순서로트랙을 재생" alternative-toolbar-0.18.0/po/ms.po000066400000000000000000000204631324014357300171620ustar00rootroot00000000000000# Malay translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-02-12 01:44+0000\n" "Last-Translator: abuyop \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Jangkau Mengundur" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Jangkau mengundur, dalam trek semasa, sebanyak 5 saat." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Jangkau Maju" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Jangkau maju, dalam trek semasa, sebanyak 10 saat." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Tunjuk Palang Alat Kawalan-Main" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Tunjuk atau sembunyi palang alat kawalan-main" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Tunjuk Palang Alat Sumber" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Tunjuk atau sembunyi palang alat sumber" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Palang Alat Alternatif" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Ganti palang alat besar Rhythmbox dengan Palang Alat Hiasan Sisi-Klien atau " "Padat yang boleh disembunyikan" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Lihat Semua" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Import" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stesen" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Penarafan Tertinggi Saya" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Baru Ditambah" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Baru Dimainkan" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcast" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Mula Semula" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Koleksi setempat" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Sumber atas-talian" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Sumber lain" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Senarai Main" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Lagu" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategori" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Layar" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Ulang trek semasa" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Mula semula pemain supaya perubahan berkesan." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Palang Alat:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Terbaik untuk persekitaran\n" "desktop seperti Gnome dan Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Guna kawalan padat" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Papar kawalan mainbalik dalam palang alat dalam gaya padat secara visual " "selain dari gaya rhythmbox biasa.\n" "Sentiasa dibenarkan untuk mod palang alat modern." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Tunjuk:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/genre/tahun lagu yang dimainkan" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Papar album/genre/tahun selain dari lagu-artis-album. Berguna bagi " "persekitaran-desktop yang mana lagu-artis-album sudah dipapar dalam tajuk " "tetingkap." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Tip alat untuk kawalan mainbalik" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Tunjuk atau sembunyi tip alat untuk kawalan mainbalik." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Kawalan volum" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Tunjuk atau sembunyi kawalan volum." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Kawalan mainbalik" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Tunjuk atau sembunyi kawalan main ketika permulaan pemain." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Guna :" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Label lagu/artis dalaman" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Papar Label Lagu dan Artis sebelum pelungsur kemajuan. Jika tidak ditanda, " "ia dipapar atas pelungsur kemajuan." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Pelungsur kemajuan padat" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Papar dan guna pelungsur kemajuan trek padat - berguna pada pelungsur " "kemajuan tema lalai yang mana ia terlalu besar." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Palang sisi dipertingkat" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Tunjuk atau sembunyi palang sisi yang direka semula untuk pemain. Ia " "fiturkan ikon simbolik yang diperkemas, organisasi sumber lebih baik dan " "keupayaan mengembang dan menguncupkan kategori." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Dialog pemalam dipertingkat" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Tunjuk atau sembunyi dialog pemalam yang diperkemas. Ia fiturkan suis selain " "dari kotak tanda dan palang alat dalam-garis dengan ikon simbolik. Berfungsi " "dengan baik dalam persekitaran desktop berasaskan Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Mengufuk" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Menegak" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Main trek terdahulu" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Sambung atau jeda mainbalik" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Main trek berikutnya" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Main trek dalam tertib rawak" alternative-toolbar-0.18.0/po/pl.po000066400000000000000000000211161324014357300171520ustar00rootroot00000000000000# Polish translation for alternative-toolbar # Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016 # This file is distributed under the same license as the alternative-toolbar package. # Piotr Sokół , 2016. # msgid "" msgstr "" "Project-Id-Version: 0.17\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-29 15:45+0000\n" "Last-Translator: Piotr Sokół \n" "Language-Team: polski <>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: \n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Przeszukaj wstecz" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Przechodzi 5 s wstecz bieżącego nagrania" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Przeszukaj naprzód" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Przechodzi 10 sekund naprzód bieżącego nagrania" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Pasek odtwarzania" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Przełącza wyświetlanie paska sterowania odtwarzaniem" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Pasek zasobu" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Przełącza wyświetlanie paska zasobu" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternatywny pasek narzędziowy" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Zastępuje wielki pasek narzędziowy programu paskiem z obramowaniem po " "stronie klienta lub zwartym paskiem, który można ukryć." #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Wyświetl wszystkie" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Zaimportuj" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stacje" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Najwyżej ocenione" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Ostatnio dodane" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Ostatnio odtworzone" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasty" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Uruchom ponownie" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Kolekcja lokalna" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Zasoby sieciowe" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Inne zasoby" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Listy odtwarzania" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Utwory" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorie" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Przeglądaj" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Powtarza bieżące nagranie" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Proszę uruchomić program ponownie, aby wprowadzić zmiany." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Pasek narzędziowy" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Przełącza widok najlepiej dopasowany do środowisk\n" "graficznych takich jak GNOME i Elementary" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Nowoczesny" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Zwarte przyciski" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Wyświetla przyciski sterujące odtwarzaniem na pasku narzędziowym w zwartym " "stylu zamiast zwykłym stylu programu. Zawsze włączone dla nowoczesnego trybu " "paska narzędziowego.0" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Wyświetlanie" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/gatunek/rok wydania odtwarzanego utworu" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Wyświetla informacje album/gatunek/rok wydania, przydatne dla środowisk " "graficznych dla których utwór-wykonawca-album jest już wyświetlany na " "obramowaniu okna" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Podpowiedzi przycisków sterujących odtwarzaniem" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Przełącza wyświetlanie etykiet w podpowiedziach przycisków sterujących" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Sterowanie głośnością" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Przełącza wyświetlanie przycisku sterowania głośnością" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Przyciski odtwarzania" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Przełącza wyświetlanie przycisków sterujących odtwarzaniem" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Używanie" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Jednowierszowa etykieta utworu i wykonawcy" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Wyświetla etykiety utworu i wykonawcy przed paskiem postępu zamiast powyżej" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Zwarty pasek postępu" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Wyświetla i używa zwartego paska postępu nagrania, przydatnego kiedy " "domyślny pasek postępu jest optycznie za duży" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Ulepszony pasek boczny" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Przełącza wyświetlanie przeprojektowanego paska bocznego zawierającego " "ulepszone ikony symboliczne, lepsze zorganizowanie zasobów i możliwość " "zwijania i rozwijania kategorii" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Ulepszone okno konfiguracji wtyczek" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Przełącza używanie przeprojektowanego okna konfiguracji wtyczek, " "zawierającego przełączniki zamiast pól wyboru, pasek narzędziowy z ikonami " "symbolicznymi. Najlepiej działa ze środowiskami graficznymi opartymi o GNOME." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Ciemny styl" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Poziomo" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Pionowo" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Przechodzi do poprzedniego nagrania" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Wznawia lub wstrzymuje odtwarzanie" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Przechodzi do następnego nagrania" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Odtwarza nagrania w losowej kolejności" alternative-toolbar-0.18.0/po/pt.po000066400000000000000000000212001324014357300171540ustar00rootroot00000000000000# Portuguese translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-02-12 18:59+0000\n" "Last-Translator: Ivo Xavier \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Procurar para trás" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Procurar para trás, na faixa actual, 5 segundos" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Procurar para a frente" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Procurar para a frente, na faixa actual, 10 segundos" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Mostrar barra de ferramenta de controlos" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Mostrar ou esconder a barra de ferramenta de controlos" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Mostrar barra de ferramentas de fontes" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Mostrar ou esconder barra de ferramentas de fontes" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barra de Ferramentas Alternativa" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Substituir a barra de ferramentas larga do Rhythmbox por uma barra de " "ferramentas compacta que pode ser escondida." #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Ver Tudo" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importar" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Estações" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Meus Melhores Classificados" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Adicionados recentemente" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Tocados Recentemente" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Reiniciar" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Coleção local" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Fontes online" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Outras fontes" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Listas de reprodução" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Músicas" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categorias" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Navegar" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repetir faixa actual" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Reiniciar o Rhythmbox para as mudanças terem efeito" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barra de Ferramentas" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Mais adequado para ambientes\n" "de trabalho como o Gnome ou Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderno" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Usar controlos compactos" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Mostrar os controlos de reprodução da barra de ferramentas no estilo " "compacto em vez do estilo normal do rhythmbox.\n" "Sempre activado para o modo moderno da barra de ferramentas." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Mostrar:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Álbum/género/ano para a música actual" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Mostrar álbum/género/ano em vez de música/artista/album. Útil para os " "ambientes de trabalho onde música/artista/album já é visível na barra de " "título" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Dicas de contexto para os controlos de reprodução" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Mostrar ou esconder dicas de contexto para os controlos de reprodução" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Controlo de volume" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Mostrar ou esconder controlo de volume" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Controlos de reprodução" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Mostrar ou esconder os controlos de reprodução no início" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Utilização:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Etiqueta música/artista alinhada" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Mostrar Música e Artista antes da barra deslizante de progresso. Se esta " "opção não for escolhida, serão mostrados acima da barra deslizante" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Barra deslizante de progresso compacta" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Mostrar e usar uma barra de progresso de faixa compacta - útil se o tema, " "por defeito, da barra deslizante for visualmente demasiado larga" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barra lateral melhorada" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Mostrar ou esconder a barra lateral redesenhada. Possui ícones simbólicos " "melhorados, melhor organização de fontes e a capacidade de expandir ou " "encolher categorias." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Diálogo de extensões melhorado" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Mostrar ou esconder o diálogo de extensões melhorado. Possui \"switches\" em " "vez de \"checkboxes\" e barra de ferramenta alinhada com ícones simbólicos. " "Funciona melhor num ambiente de trabalho Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Reproduzir faixa anterior" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Continuar ou pausar a reprodução" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Reproduzir faixa seguinte" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Tocar faixas aleatoriamente" alternative-toolbar-0.18.0/po/pt_BR.po000066400000000000000000000212411324014357300175440ustar00rootroot00000000000000# Brazilian Portuguese translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-05-13 20:31+0000\n" "Last-Translator: RoDoLFo TX \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Procurar Regressivamente" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Procurar regressivamente, na faixa atual, por 5 segundos." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Procurar Progressivamente" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Procurar progressivamente, na faixa atual, por 10 segundos." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Mostrar Barra de Reprodução" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Exibir ou ocultar a barra de ferramenta de controles-play" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Mostrar Barra de Entrada" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Exibir ou ocultar a barra de ferramenta da origem" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Barra Alternativa" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Substituir a barra de ferramenta grande do Rhythmbox com uma barra de " "ferramenta decorada ou compacta do usuário que possa ser escondida" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Mostrar Tudo" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importar" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Estações" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Minhas Preferidas" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Adicionadas Recentemente" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Reproduzidas Recentemente" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Reinicie" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Coleção Local" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Fontes Online" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Outras Fontes" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Listas de Reprodução" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Músicas" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Categorias" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Explorar" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Repetir a faixa atual" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Reinicie o player para que as mudanças tenham efeito." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Barra de ferramentas" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Mais adequado para uso em ambientes\n" "de trabalho como Gnome e Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderno" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Usar controles compactos" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Mostrar os controles de reprodução na barra de ferramentas em um estilo mais " "compacto ao invés do estilo tradicional do rhythmbox.\n" "Sempre ativo no modo barra de ferramentas moderna." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Exibir:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Ordenar músicas em Álbum/genero/ano" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Mostrar álbum/gênero/ano ao invés de música-artista-álbum. Útil em ambientes " "de trabalho onde música-artista-álbum já é mostrado na barra de título." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Dicas de ferramentas dos controles de reprodução" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Mostrar ou esconder as dicas de ferramentas dos controles de reprodução." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Controle do volume" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Mostrar ou esconder o controle do volume." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Controles de Reprodução" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Mostrar ou esconder os controles ao iniciar o player." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Usar:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Alinhar nomes de música/artista" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Mostrar nomes de Música e do Artista antes da barra de progresso. Se " "desmarcado, eles serão mostrados acima da barra de progresso." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Barra de progresso compacta" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Mostrar e usar a barra de progresso compacta - útil quando o tema padrão da " "barra de progresso é visualmente muito grande." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Barra lateral melhorada" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Mostrar ou ocultar a barra lateral redesenhada para o tocador. Apresenta " "melhores ícones simbólicos, melhores fontes de organização e capacidade de " "expandir e recolher categorias." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Diálogo de plugins melhorado" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Exibir ou ocultar diálogo de plugins redesenhado. Possui controladores ao " "invés de checadores e barra de ferramenta alinhada com ícones simbólicos. " "Funciona melhor com ambientes desktop baseados no Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tema escuro se disponível" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Horizontal" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Vertical" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Reproduzir a faixa anterior" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Continuar ou pausar a reprodução" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Reproduzir a próxima faixa" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Tocar as faixas em ordem aleatória" alternative-toolbar-0.18.0/po/ru.po000066400000000000000000000255311324014357300171720ustar00rootroot00000000000000# Russian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-22 14:30+0000\n" "Last-Translator: ☠Jay ZDLin☠ \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Перемотать назад" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Перемотать назад текущую композицию на 5 сек." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Перемотать вперёд" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Перемотать вперёд текущую композицию на 10 сек." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Показать панель управления воспроизведением" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Показать или скрыть панель управления воспроизведением" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Показать панель ресурсов" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Показать или скрыть панель инструментов для ресурсов" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Альтернативная панель инструментов" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Заменить большую панель инструментов Rhythmbox на клиентскую декорированную " "или компактную скрываемую панель." #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Показать всё" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Импорт" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Станции" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Моё избранное" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Недавно добавленное" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Последние воспроизводившиеся" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Подкасты" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Перезапустить" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Локальная коллекция" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Интернет-ресурсы" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Другие ресурсы" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Списки воспроизведения" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Композиции" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Категории" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Обзор" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Повторить текущую композицию" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Перезапустите плеер, чтобы изменения вступили в силу." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Панель инструментов:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Лучше всего подходит для среды\n" "рабочего стола Gnome и Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Современный" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Компактные элементы управления" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Компактное отображение элементов управления воспроизведением на панели " "инструментов, вместо стандартного вида rhythmbox.\n" "Всегда включено в современном режиме панели инструментов." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Показывать:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Альбом/жанр/год для проигрываемой композиции" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Отображать альбом/жанр/год вместо композиции-исполнителя-альбома. Полезно " "для среды рабочего стола, где композиция-исполнитель-альбом уже отображаются " "в заголовке окна." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Подсказки для элементов управления" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Показать или скрыть подсказки для элементов управления воспроизведением." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Регулятор громкости" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Показать или скрыть регулятор громкости." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Кнопки воспроизведения" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Показать или скрыть элементы управления воспроизведением при запуске плеера." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Использовать:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Композиция/Исполнитель в строке" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Отображение названия композиции и исполнителя перед ползунком " "воспроизведения. Если функция не выбрана, отображаются над ползунком." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Компактный слайдер воспроизведения" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Отображать и использовать компактный слайдер воспроизведения композиции; " "полезно в стандартных темах, в которых используется визуально слишком " "большой слайдер." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Расширенная боковая панель" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Показать или скрыть обновленную боковую панель плеера. Панель содержит новые " "значки, обеспечивает лучшую организацию ресурсов, а также позволяет " "разворачивать категории." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Новое диалоговое окно плагинов" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Показать или скрыть новое, переработанное диалоговое окно плагинов. Оно " "содержит переключатели вместо полей с флажками, а также встроенную панель " "инструментов с символическими значками. Лучше всего подходит для рабочих " "столов на основе Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Воспроизвести предыдущую композицию" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Возобновить или приостановить воспроизведение" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Воспроизвести следующую композицию" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Воспроизвести композиции в произвольном порядке" alternative-toolbar-0.18.0/po/sk.po000066400000000000000000000221141324014357300171530ustar00rootroot00000000000000# Slovak translation for alternative-toolbar # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the alternative-toolbar package. # Dušan Kazik , 2017. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-11-27 21:27+0000\n" "Last-Translator: Dusan Kazik \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" "Language: sk\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Presunúť dozadu" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Presunie dozadu v aktuálnej skladbe o 5 sekúnd." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Presunúť dopredu" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Presunie dopredu v aktuálnej skladbe o 10 sekúnd." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Zobraziť panel nástrojov s ovládacími prvkami prehrávania" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" "Zobrazí alebo skryje panel nástrojov s ovládacími prvkami prehrávania" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Zobraziť zdrojový panel nástrojov" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Zobrazí alebo skryje zdrojový panel nástrojov" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternatívny panel nástrojov" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Nahrádza veľký panel nástrojov prehrávača Rhythmbox s panelom nástrojov " "dekorovaným na strane klienta alebo kompaktným panelom nástrojov, ktorý môže " "byť skrytý" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Zobraziť všetko" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importovať" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stanice" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Moje najlepšie hodnotené" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Nedávno pridané" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Nedávno prehrávané" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcasty" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Reštartovať" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Miestna zbierka" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Internetové zdroje" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Ostatné zdroje" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Zoznamy skladieb" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Skladby" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategórie" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Prehliadať" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "_Pomocník" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "_O aplikácii" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "U_končiť" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "Zopakuje všetky skladby" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Zopakuje aktuálnu skladbu" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Na uplatnenie zmien reštartujte prehrávač." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Panel nástrojov:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Najvhodnejšie pre pracovné\n" "prostredia ako je Gnome alebo Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderný" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Použiť kompaktné ovládacie prvky" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Zobrazí ovládacie prvky prehrávania v paneli nástrojov vo vizuálne " "kompaktnom štýle namiesto bežného štýlu prehrávača Rhythmbox.\n" "Voľba je vždy povolená pre režim moderného panela nástrojov." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Zobraziť:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/žáner/rok pre hranú skladbu" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Zobrazí album/žáner/rok namiesto formátu skladba-interpret-album. Užitočná " "voľba pre tie pracovné prostredia, ktoré už zobrazujú informácie vo formáte " "skladba-interpret-album v záhlaví okna." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Bublinové tipy pre ovládacie prvky prehrávania" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Zobrazí alebo skryje bublinové tipy pre ovládacie prvky prehrávania." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Ovládanie hlasitosti" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Zobrazí alebo skryje ovládanie hlasitosti." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Ovládacie prvky prehrávania" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Zobrazí alebo skryje ovládacie prvky prehrávania po spustení prehrávača." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Použiť:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Vložená menovka skladba/interpret" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Zobrazí menovky so skladbou a interpretom pred posuvníkom priebehu. Ak voľba " "nie je vybraná, menovky sú zobrazené nad posuvníkom priebehu." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompaktný posuvník priebehu" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Zobrazí a použije kompaktný posuvník priebehu skladby - užitočné v " "prípadoch, keď je posuvník priebehu s predvolenou témou vizuálne príliš " "veľký." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Rozšírený bočný panel" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Zobrazí alebo skryje prepracovaný bočný panel prehrávača. Obsahuje vylepšené " "symbolické ikony, lepšiu organizáciu zdrojov a možnosť rozbaliť a zbaliť " "kategórie." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Rozšírené dialógové okno so zásuvnými modulmi" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Zobrazí alebo skryje prepracované dialógové okno so zásuvnými modulmi. " "Obsahuje prepínače namiesto zaškrtávacích polí a vložený panel nástrojov so " "symbolickými ikonami. Najlepšie spolupracuje s pracovnými prostrediami " "založenými na prostredí Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tmavá téma ak je dostupná" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Vodorovne" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Zvislo" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Prehrá predchádzajúcu skladbu" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Pokračuje alebo pozastaví prehrávanie" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Prehrá nasledujúcu skladbu" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Prehrá skladby v náhodnom poradí" alternative-toolbar-0.18.0/po/sl.po000066400000000000000000000210131324014357300171510ustar00rootroot00000000000000# Slovenian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-24 09:18+0000\n" "Last-Translator: Blaž Mežnaršič \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Previj nazaj" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Previj trenutno skladbo nazaj za 5 sekund." #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Previj naprej" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Previj trenutno skladbo naprej za 5 sekund." #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Pokaži orodno vrstico z nadzornimi tipkami predvajanja" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Pokaži ali skrij orodno vrstico z nadzornimi tipkami predvajanja" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Pokaži izvorno orodno vrstico" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Pokaži ali skrij izvorno orodno vrstico" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Nadomestna orodna vrstica" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Zamenjaj Rhythmboxovo veliko orodno vrstico s tako, ki je okrašena na " "odjemalčevi strani ali pa s kompaktno, ki je lahko skrita" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Pokaži vse" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Uvozi" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Postaje" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Moje najvišje ocenjene" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Nedavno dodano" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Nedavno predvajano" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Poddaje" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Ponovno zaženi" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Lokalna zbirka" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Spletni viri" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Drugi viri" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Seznami predvajanja" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Skladbe" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorije" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Brskaj" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Ponovno predvajaj trenutno skladbo" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Znova zaženi predvajalnik, da bodo spremembe začele veljati." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Orodna vrstica" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Najbolj primerno za namizna \n" "okolja, kot sta Gnome in elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Moderno" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Uporabi kompaktne nadzorne tipke" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Prikaži nadzorne tipke predvajanja na orodni vrstici v vizualno kompaktnem " "stilu namesto standardnega.\n" "Vedno omogočeno za način moderne orodne vrstice." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Pokaži:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/žanr/leto za predvajanje skladbe" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Pokaži album/žanr/leto namesto pesem-umetnik-album. Uporabno za tista " "namizna okolja, kjer so pesem-umetnik-album že prikazani v naslovu okna." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Orodni namigi za nadzorne tipke predvajanja" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Pokaži ali skrij orodne namige za nadzorne tipke predvajanja." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Nadzor glasnosti" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Pokaži ali skrij nadzor glasnosti." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Nadzor predvajanja" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Pokaži ali skrij nadzorne tipke predvajanja ob zagonu predvajalnika." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Uporabi:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Znotrajvrstična oznaka pesem/umetnik" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Pokaži oznake Pesem in Umetnik pred drsnikom za prikaz napredka. Če ni " "obkljukano, so prikazane nad drsnikom." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompakten drsnik napredka" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Pokaži in uporabi kompakten drsnik napredka skladbe - uporabno, kjer je " "privzeta tema drsnika napredka vizualno prevelika." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Izboljšana stranska vrstica" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Pokaži ali skrij preoblikovano stransko vrstico za predvajalnik. Nudi " "izboljšane simbolne ikone, boljšo organizacijo virov in sposobnost za " "razširitev in strnitev kategorij." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Izboljšano pogovorno okno vstavkov" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Pokaži ali skrij preoblikovano pogovorno okno vstavkov. Nudi stikala namesto " "označnih polj in znotrajvrstično orodno vrstico s simbolnimi ikonami. " "Najbolje deluje z namiznimi okolji, ki temeljijo na GNOME." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Predvajaj predhodno skladbo" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Nadaljuj ali ustavi predvajanje" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Predvajaj naslednjo skladbo" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Predvajaj skladbe v naključnem vrstnem redu" alternative-toolbar-0.18.0/po/sr.po000066400000000000000000000240201324014357300171600ustar00rootroot00000000000000# Serbian translation for alternative-toolbar # Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2016. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-02-21 20:51+0000\n" "Last-Translator: Leipero \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Иди Унназад" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Иди уназад, у тренутној нумери, за 5 секунди" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Иди Унапред" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Иди унапред, у тренутној нумери, за 10 секунди" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Прикажи Траку Алата Контрола-Пуштања" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Прикажи или сакриј алатну траку контрола-пуштања" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Прикажи Алатну Траку Извора" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Прикажи или сакриј алатну траку извора" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Алтернативна Трака Алата" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Замени алатну траку Ритам Машине Ukrašenom Алатном Траком Клијента или " "Сажетом Алатном Траком која може бити скривена" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Прикажи Све" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Увези" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Станице" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Либре.фм" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Најбоље Оцењене" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Недавно Додате" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Недавно Пуштане" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Подемисије" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Покрени Поново" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Локална Колекција" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Извори На Вези" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Други извори" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Листе Нумера" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Песме" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Категорије" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Разгледај" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Понављај тренутну нумеру" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Поново покрени програм да би измене имале ефекта." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Трака Алата:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Најпогодније за радне површине\n" "окружења попут Гнома или Елементари." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Савремено" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Користи сажете контроле" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Прикажи визуелно сажет стил контрола репродукције у алатној траци уместо " "уобичејног стила Ритам Машине\n" "Увек омогућено у савременом режиму алатне траке." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Прикажи:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Албум/жанр/година пуштене песме" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Прикажи албум/жанр/годину уместо песма-извођач-албум. Корисно за радна " "окружења где је песма-извођач-албум већ приказано у наслову прозора." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Информације о контролама репродукције" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Прикажи или сакриј информације о контролама репродукције" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Контрола јачине звука" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Прикажи или сакриј контролу јачине звука." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Контроле репродукције" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Прикажи или сакриј контроле репродукције при покретању програма." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Користи:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Назив песма/извођач у реду" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Прикажи називе Песме и Извођача испред клизача. Уколико није означено, они " "су приказани изнад клизача." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Умањен клизач стања" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Прикажи и користи умањен клизач стања нумере - корисно када је клизач " "подразумеване теме превелик." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Унапређена бочна трака" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Прикажи или сакриј унапређену бочну траку програма. Садржи побољшане " "иконице, бољи распоред извора и могућност ширења и скупљања категорија." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Унапређен дијалог прикључака" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Прикажи или сакриј унапређен дијалог прикључака. Садржи прекидаче уместо " "поља за означавање и редне алатне траке са иконицама. Најпогодније за Гном " "базирана окружења." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Тамна тема ако је доступна" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Водоравно" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Усправно" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Пусти претходну нумеру" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Настави или паузирај репродукцију" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Пусти следећу нумеру" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Насумично пусти нумере" alternative-toolbar-0.18.0/po/sr@latin.po000066400000000000000000000205651324014357300203220ustar00rootroot00000000000000# Serbian Latin translation for alternative-toolbar # Copyright (c) 2017 Rosetta Contributors and Canonical Ltd 2017 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2017. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2017-02-21 20:51+0000\n" "Last-Translator: Leipero \n" "Language-Team: Serbian Latin \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Idi Unazad" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Idi unazad, u trenutnoj numeri, za 5 sekundi" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Idi Unapred" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Idi unapred, u trenutnoj numeri, za 10 sekundi" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Prikaži Traku Alata Kontrolа-Puštanja" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Prikaži ili sakrij alatnu traku kontrolа-puštanja" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Prikaži Alatnu Traku Izvora" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Prikaži ili sakrij alatnu traku izvora" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Alternativna Traka Alata" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Zameni alatnu traku Ritam Mašine Ukrašenom Alatnom Trakom Klijenta ili " "Sažetom Alatnom Trakom koja može biti skrivena" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Prikaži Sve" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Uvezi" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stanice" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Najbolje Ocenjene" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Nedavno Dodate" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Nedavno Puštane" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podemisije" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Pokreni Ponovo" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Lokalna Kolekcija" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Izvori Na Vezi" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Drugi Izvori" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Liste Numera" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Pesme" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorije" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Razgledaj" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Ponavljaj trenutnu numeru" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Ponovo pokreni program da bi izmene imale efekta." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Traka Alata:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Najpovoljnije za radne površine\n" "okruženja poput Gnoma ili Elementari." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Savremeno" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Koristi sažete kontrole" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Prikaži vizuelno sažet stil kontrola reprodukcije u alatnoj traci umesto " "uobičejnog stila Ritam Mašine\n" "Uvek omogućeno u savremenom režimu alatne trake." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Prikaži:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Album/žanr/godina puštene pesme" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Prikaži album/žanr/godinu umesto pesma-izvođač-album. Korisno za radna " "okruženja gde je pesma-izvođač-album već prikazano u naslovu prozora." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Informacije o kontrolama reprodukcije" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Prikaži ili sakrij informacije o kontrolama reprodukcije" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Kontrola jačine zvuka" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Prikaži ili sakrij kontrolu jačine zvuka." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Kontrole reprodukcije" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Prikaži ili sakrij kontrole reprodukcije pri pokretanju programa." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Koristi:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Naziv pesma/izvođač u redu" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Prikaži nazivе Pesme i Izvođača ispred klizača. Ukoliko nije označeno, oni " "su prikazani iznad klizača." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Umanjen klizač stanja" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Prikaži i koristi umanjen klizač stanja numere - korisno kada je klizač " "podrazumevane teme prevelik." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Unapređena bočna traka" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Prikaži ili sakrij unapređenu bočnu traku programa. Sadrži poboljšane " "ikonice, bolji raspored izvora i mogućnost širenja i skupljanja kategorija." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Unapređen dijalog priključaka" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Prikaži ili sakrij unapređen dijalog priključaka. Sadrži prekidače umesto " "polja za označavanje i redne alatne trake sa ikonicama. Najpogodnije za Gnom " "bazirana okruženja." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "Tamna tema ako je dostupna" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "Vodoravno" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "Uspravno" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Pusti prethodnu numeru" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Nastavi ili pauziraj reprodukciju" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Pusti sledeću numeru" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Nasumično pusti numere" alternative-toolbar-0.18.0/po/sv.po000066400000000000000000000146361324014357300172000ustar00rootroot00000000000000# Swedish translation for alternative-toolbar # Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2016. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-02-13 00:05+0000\n" "Last-Translator: Kristoffer Grundström \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Sök bakåt" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Sök framåt" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Visa eller göm källans verktygsfält" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Visa alla" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Importera" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Stationer" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Mina högst rankade" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Senast tillagda" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Senast spelade" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Poddsändningar" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Starta om" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Spellistor" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Låtar" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategorier" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Bläddra" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Visa:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Volymkontroll" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "" alternative-toolbar-0.18.0/po/th.po000066400000000000000000000205401324014357300171520ustar00rootroot00000000000000# Thai translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-10-11 19:00+0000\n" "Last-Translator: Rockworld \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "ค้นหาย้อนหลัง" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "ค้นหาย้อนหลัง ในเพลงนี้ 5 วินาที" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "ค้นหาไปข้างหน้า" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "ค้นหาไปข้างหน้า ในเพลงนี้ 10 วินาที" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "แสดงแถบเครื่องมือควบคุมการเล่น" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "แสดงหรือซ่อนแถบเครื่องมือควบคุมการเล่น" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "แสดงแถบเครื่องมือแหล่งข้อมูล" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "แสดงหรือซ่อนแถบเครื่องมือแหล่งข้อมูล" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "แถบเครื่องมืออื่น ๆ" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "แสดงทั้งหมด" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "นำเข้า" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "คะแนนสูงสุด" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "เพิ่มล่าสุด" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "เล่นล่าสุด" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "พอดคาสต์" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "เริ่มใหม่" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "เพลง" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "ประเภท" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "เล่นเพลงนี้ซ้ำ" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "เริ่มต้นเครื่องเล่นใหม่เพื่อให้การเปลี่ยนแปลงมีผล" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "แถบเครื่องมือ:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "เข้ากันได้ดีที่สุดกับสภาพแวดล้อม\n" "เดสก์ท็อปต่าง ๆ เช่น Gnome และ Elementary" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "ทันสมัย" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "ใช้คอนโทรลที่มีขนาดกะทัดรัด" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "แสดงคอนโทรลการเล่นในแถบเครื่องมือในรูปแบบกะทัดรัดแทนรูปแบบมาตรฐานของ " "Rhythmbox\n" "เปิดใช้งานสำหรับโหมดแถบเครื่องมือแบบทันสมัยเสมอ" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "แสดง:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "อัลบั้ม/แนว/ปี ของเพลงที่กำลังเล่นอยู่" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "ตัวควบคุมระดับเสียง" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "การใช้งาน:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "เล่นเพลงก่อนหน้า" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "พักการเล่น หรือเล่นต่อ" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "เล่นเพลงต่อไป" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "สุ่มเล่นเพลง" alternative-toolbar-0.18.0/po/tr.po000066400000000000000000000164731324014357300171760ustar00rootroot00000000000000# Turkish translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-11 21:06+0000\n" "PO-Revision-Date: 2015-08-06 12:06+0000\n" "Last-Translator: Utku Birkan \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2016-02-12 20:28+0000\n" "X-Generator: Launchpad (build 17925)\n" "Language: tr\n" "and golelcintolga@gmail.comLanguage-Team: Turkish \n" #: ../alternative-toolbar.py:217 msgid "Seek Backward" msgstr "Geri Sar" #: ../alternative-toolbar.py:220 msgid "Seek backward, in current track, by 5 seconds." msgstr "Geçerli parçayı 5 saniye geriye sarın." #: ../alternative-toolbar.py:224 msgid "Seek Forward" msgstr "İleri Sar" #: ../alternative-toolbar.py:228 msgid "Seek forward, in current track, by 10 seconds." msgstr "Geçerli parçayı 10 saniye ileri sarın." #: ../alternative-toolbar.py:240 msgid "Show Play-Controls Toolbar" msgstr "Oynatım Konrollerini Göster" #: ../alternative-toolbar.py:244 msgid "Show or hide the play-controls toolbar" msgstr "" #: ../alternative-toolbar.py:249 msgid "Show Source Toolbar" msgstr "" #: ../alternative-toolbar.py:252 msgid "Show or hide the source toolbar" msgstr "Kaynak araç çubuğunu göster veya gizle" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:538 msgid "Alternative Toolbar" msgstr "Alternatif Araç çubuğu" #: ../alternative-toolbar.py:541 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" #: ../alttoolbar_controller.py:149 msgid "View All" msgstr "Tümünü Göster" #: ../alttoolbar_controller.py:315 msgid "Import" msgstr "İçeri aktar" #: ../alttoolbar_controller.py:533 msgid "Stations" msgstr "İstasyonlar" #: ../alttoolbar_controller.py:559 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:602 msgid "My Top Rated" msgstr "En Beğenilenler" #: ../alttoolbar_controller.py:606 msgid "Recently Added" msgstr "Son Eklenen" #: ../alttoolbar_controller.py:610 msgid "Recently Played" msgstr "Son Çalınan" #: ../alttoolbar_controller.py:643 msgid "Podcasts" msgstr "Podcasts" #: ../alttoolbar_preferences.py:297 msgid "Restart" msgstr "Yeniden başlat" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Yerel Koleksiyon" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Çevrimiçi kaynaklar" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Diğer kaynaklar" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Oynatma Listesi" #: ../alttoolbar_type.py:1423 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Şarkılar" #: ../alttoolbar_type.py:1428 ../alttoolbar_type.py:1509 #: ../ui/altpreferences.ui.h:27 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Kategoriler" #: ../alttoolbar_type.py:1493 msgid "Browse" msgstr "Tarayıcı" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "" "Değişikliklerin etkisini göstermesi için oynatıcıyı yeniden başlatın." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Araç çubuğu:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "En iyi Elementary ya da Gnome benzeri masaüstü ortamlarında çalışır." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Modern" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Kompakt kontrolleri kullan" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Göster:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Çalan şarkı için albüm/tarz/yıl" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Sarkı-sanatçı-albüm yerine albüm/tarz/yıl'ı görüntüle. Sarkı-sanatçı-" "albüm'ün pencere başlığı olarak görüntülendiği masaüstü ortamları için ideal" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Oynatma kontrolleri için ipuçları" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "Oynatma kontrolleri için ipuçlarını göster ya da gizle" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Ses denetimi" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Ses denetimini göster ya da gizle" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Oynatma kontrolleri" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "Oynatma kontrollerini oynatıcı başlangıcında göster ya da gizle" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Kullan:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Satır içi sarkı/sanatçı etiketi" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Şarkı ve Sanatçı etiketlerini ilerleme çubuğundan önce göster. Seçili " "değilse, etiketler ilerleme çubuğunun üzerinde gösterilir." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Kompakt ilerleme göstergesi" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Yeniden tasarlanan kenar çubuğu" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Yeniden tasarlanan eklenti yönetimi" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" #: ../ui/altpreferences.ui.h:28 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Önceki parçayı çal" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Çalmayı duraklat veya devam et" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Sonraki parçayı çal" #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Çalan parçayı tekrarla" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Parçalar karışık bir şekilde çalacak" alternative-toolbar-0.18.0/po/uk.po000066400000000000000000000256631324014357300171710ustar00rootroot00000000000000# Ukrainian translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-22 15:21+0000\n" "Last-Translator: JF-X \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "Перемотати назад" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "Перемотати назад, поточну композицію, на 5 секунд" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "Перемотати вперед" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "Перемотати вперед, поточну композицію, на 10 секунд" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "Показати панель інструментів керування відтворенням" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "Показати або приховати панель інструментів керування відтворенням" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "Показати панель інструментів джерел" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "Показати або приховати панель інструментів джерел" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "Альтернативна панель інструментів" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "" "Замінити велику панель інструментів Rhythmbox оформленням зі сторони " "користувача або компактною панеллю інструментів, яка може бути прихована" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "Показати всі" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "Імпортувати" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "Станції" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "Мої Високо Оцінені" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "Нещодавно долучені" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "Нещодавно відтворені" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Радіотрансляції" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "Перезавантажити" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "Локальні колекції" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "Онлайн джерела" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "Інші джерела" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "Списки відтворення" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "Композиції" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "Категорії" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "Огляд" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "Повторити поточну композицію" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "Перезавантажити програвач, щоб зміни набули чинності." #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "Панель інструментів:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "Найкраще пасує для настільних\n" "середовищ, таких як: Gnome та Elementary." #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "Сучасна" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "Використовувати компактні елементи керування" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "Відображати керування відтворенням на панелі інструментів у візуально " "компактному стилі, замість стандартного стилю rhytmbox.\n" "Завжди увімкнене для режиму сучасної панелі інструментів." #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "Показати:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "Альбом/жанр/рік для композиції, що відтворюється" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "" "Відображати альбом/жанр/рік замість композиція-виконавець-альбом. Корисне " "для таких настільних середовищ у яких композиція-виконавець-альбом вже " "відображається у вікні заголовку." #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "Підказки для елементів керування відтворенням." #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "" "Показати або приховати підказки для елементів керування відтворенням." #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "Керування гучністю" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "Показати або приховати керування гучністю." #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "Керування відтворенням" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "" "Показати або приховати елементи керування відтворенням при завантаженні " "програвача." #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "Використовувати:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "Вмістити мітку композиція/виконавець" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "" "Відображати мітки Композиція та Виконавець перед повзунком поступу " "відтворення." #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "Компактний повзунок поступу відтворення" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "" "Відображати та використовувати компактний повзунок поступу відтворення - " "корисний, якщо вбудована тема повзунка поступу відтвореня є візуально надто " "великою." #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "Покращена бічна панель" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "" "Показати або приховати змінену бічну панель програвача. Вона оснащена " "поліпшеними символічними іконками, кращою організацією джерел та здатністю " "до розгортання та згортання категорій." #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "Покращене діалогове вікно додатків" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "Показати або приховати змінене діалогове вікно додатків. Воно оснащене " "перемикачами замість прапорців та вбудованою панеллю інструментів з " "символічними іконками. Краще всього працює з настільними середовищами на " "базі Gnome." #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "Відтворити попередню композицію" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "Поновити або призупинити відтворення" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "Відтворити наступну композицію" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "Відтворити композицію в довільному порядку" alternative-toolbar-0.18.0/po/zh_CN.po000066400000000000000000000177051324014357300175510ustar00rootroot00000000000000# Chinese (Simplified) translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2016-09-25 18:11+0000\n" "Last-Translator: 张海 \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "快退" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "在当前曲目快退 5 秒" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "快进" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "在当前曲目快进 10 秒" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "显示播放控制工具栏" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "显示或隐藏播放控制工具栏" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "显示源工具栏" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "显示或隐藏源工具栏" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "替代工具栏" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "将 Rhythmbox 的大工具栏替换为客户端精美或紧凑的可隐藏工具栏" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "查看全部" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "导入" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "电台" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "评级最高" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "最近添加" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "最近播放" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "播客" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "重新启动" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "本地收藏" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "在线源" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "其他源" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "播放列表" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "歌曲" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "类别" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "浏览" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "重复当前曲目" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "重新启动播放器以应用设置。" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "工具栏:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "适用于类似 Gnome 和\n" "Elementary 等桌面环境。" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "现代" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "使用紧凑控件" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "在工具栏中以视觉上紧凑的样式而非 Rhythmbox 标准样式显示播放控件。\n" "在现代工具栏模式中总是启用。" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "显示:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "正在播放歌曲的专辑/流派/年份" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "显示专辑/流派/年份而非歌曲-艺人-专辑。适用于已将歌曲-艺人-专辑显示在窗口标题中的桌面环境。" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "为播放控件显示工具提示" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "显示或隐藏播放控件的工具提示。" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "音量控制" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "显示或隐藏音量控制。" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "播放控件" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "在播放器启动时显示或隐藏播放控件" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "使用:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "在行内显示歌曲/艺人信息" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "在进度条前显示歌曲和艺人信息。如果未启用,它们将会在进度条上方显示。" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "紧凑进度条" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "显示并使用紧凑的曲目进度条——在默认主题的进度条过大时适用。" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "增强的边栏" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "显示或隐藏重新设计的播放器边栏。它拥有改进的符号图标、更好的源组织和展开/收起类别的能力。" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "增前的插件对话框" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "显示或隐藏重新设计的插件对话框。它使用开关而非复选框,并且拥有带符号图标的行内工具栏。在基于 GNOME 的桌面环境上效果最佳。" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "使用深色主题(如果可用)" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "水平" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "竖直" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "播放上一曲目" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "恢复或暂停播放" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "播放下一曲目" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "随机播放曲目" alternative-toolbar-0.18.0/po/zh_TW.po000066400000000000000000000202521324014357300175720ustar00rootroot00000000000000# Chinese (Traditional) translation for alternative-toolbar # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the alternative-toolbar package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: alternative-toolbar\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2017-10-01 20:59+0100\n" "PO-Revision-Date: 2015-05-27 17:27+0000\n" "Last-Translator: Christian Y. S. Chung \n" "Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-02-09 15:32+0000\n" "X-Generator: Launchpad (build 18544)\n" #: ../alternative-toolbar.py:223 msgid "Seek Backward" msgstr "往回搜尋" #: ../alternative-toolbar.py:226 msgid "Seek backward, in current track, by 5 seconds." msgstr "往回搜尋,目前曲目,一次倒退 5 秒。" #: ../alternative-toolbar.py:230 msgid "Seek Forward" msgstr "往前搜尋" #: ../alternative-toolbar.py:234 msgid "Seek forward, in current track, by 10 seconds." msgstr "往前搜尋,目前曲目,一次前進 10 秒。" #: ../alternative-toolbar.py:246 msgid "Show Play-Controls Toolbar" msgstr "顯示播放控制項工具列" #: ../alternative-toolbar.py:250 msgid "Show or hide the play-controls toolbar" msgstr "顯示或隱藏播放控制項工具列" #: ../alternative-toolbar.py:255 msgid "Show Source Toolbar" msgstr "顯示來源工具列" #: ../alternative-toolbar.py:258 msgid "Show or hide the source toolbar" msgstr "顯示或隱藏來源工具列" #. define .plugin text strings used for translation #: ../alternative-toolbar.py:545 msgid "Alternative Toolbar" msgstr "替代工具列" #: ../alternative-toolbar.py:548 msgid "" "Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact " "Toolbar which can be hidden" msgstr "使用可隱藏的客戶端裝飾工具列或精簡工具列,來取代 Rhythmbox 的大型工具列" #: ../alttoolbar_controller.py:157 msgid "View All" msgstr "檢視全部" #: ../alttoolbar_controller.py:325 msgid "Import" msgstr "匯入" #: ../alttoolbar_controller.py:543 msgid "Stations" msgstr "電臺" #: ../alttoolbar_controller.py:572 msgid "Libre.fm" msgstr "Libre.fm" #: ../alttoolbar_controller.py:615 msgid "My Top Rated" msgstr "我的最高評價" #: ../alttoolbar_controller.py:619 msgid "Recently Added" msgstr "最近加入" #: ../alttoolbar_controller.py:623 msgid "Recently Played" msgstr "最近播放" #: ../alttoolbar_controller.py:656 msgid "Podcasts" msgstr "Podcast" #: ../alttoolbar_preferences.py:307 msgid "Restart" msgstr "重新啟動" #: ../alttoolbar_sidebar.py:82 msgid "Local collection" msgstr "本地端收藏集" #: ../alttoolbar_sidebar.py:83 msgid "Online sources" msgstr "線上來源" #: ../alttoolbar_sidebar.py:84 msgid "Other sources" msgstr "其他來源" #: ../alttoolbar_sidebar.py:85 msgid "Playlists" msgstr "播放清單" #: ../alttoolbar_type.py:1434 ../ui/altlibrary.ui.h:1 msgid "Songs" msgstr "歌曲" #: ../alttoolbar_type.py:1439 ../alttoolbar_type.py:1521 #: ../ui/altpreferences.ui.h:28 ../ui/altlibrary.ui.h:2 msgid "Categories" msgstr "分類" #: ../alttoolbar_type.py:1505 msgid "Browse" msgstr "瀏覽" #: ../alttoolbar_type.py:1568 msgid "_Help" msgstr "" #: ../alttoolbar_type.py:1569 msgid "_About" msgstr "" #: ../alttoolbar_type.py:1570 msgid "_Quit" msgstr "" #: ../alttoolbar_repeat.py:94 ../alttoolbar_repeat.py:191 msgid "Repeat all tracks" msgstr "" #: ../alttoolbar_repeat.py:96 ../alttoolbar_repeat.py:212 #: ../ui/alttoolbar.ui.h:4 msgid "Repeat the current track" msgstr "重複播放目前曲目" #: ../ui/altpreferences.ui.h:1 msgid "Restart the player for the changes to take effect." msgstr "請重新啟動播放器來讓變動生效。" #: ../ui/altpreferences.ui.h:2 msgid "Toolbar:" msgstr "工具列:" #: ../ui/altpreferences.ui.h:3 msgid "" "Best suitable for desktop\n" "environments like Gnome and Elementary." msgstr "" "最適合 Gnome、Elementary\n" "這類的桌面環境。" #: ../ui/altpreferences.ui.h:5 msgid "Modern" msgstr "現代" #: ../ui/altpreferences.ui.h:6 msgid "Use compact controls" msgstr "使用精簡控制項" #: ../ui/altpreferences.ui.h:7 msgid "" "Display the playback controls in the toolbar in visually compact style " "instead of the standard rhythmbox style.\n" "Always enabled for modern toolbar mode." msgstr "" "在工具列中以精簡的視覺風格顯示播放控制項,而非標準的 rhythombox 風格。\n" "現代工具列模式下都會啟用這個項目。" #: ../ui/altpreferences.ui.h:9 msgid "Show:" msgstr "顯示:" #: ../ui/altpreferences.ui.h:10 msgid "Album/genre/year for playing song" msgstr "播放歌曲的專輯/曲風/年代" #: ../ui/altpreferences.ui.h:11 msgid "" "Display album/genre/year instead of song-artist-album. Useful for those " "desktop-environments where song-artist-album is already displayed in the " "window title." msgstr "顯示專輯/曲風/年代而非曲目-演出者-專輯。對於那些已在視窗標題中顯示歌曲-演出者-專輯的桌面環境來說很有用。" #: ../ui/altpreferences.ui.h:12 msgid "Tooltips for the playback controls" msgstr "播放控制項的提示框" #: ../ui/altpreferences.ui.h:13 msgid "Show or hide the tooltips for the playback controls." msgstr "顯示或隱藏播放控制項的提示框。" #: ../ui/altpreferences.ui.h:14 msgid "Volume control" msgstr "音量控制" #: ../ui/altpreferences.ui.h:15 msgid "Show or hide the volume control." msgstr "顯示或隱藏音量控制項。" #: ../ui/altpreferences.ui.h:16 msgid "Playback controls" msgstr "播放控制項" #: ../ui/altpreferences.ui.h:17 msgid "Show or hide the playing controls on player startup." msgstr "播放器啟動時是要顯示或隱藏播放控制項。" #: ../ui/altpreferences.ui.h:18 msgid "Use:" msgstr "使用:" #: ../ui/altpreferences.ui.h:19 msgid "Inline song/artist label" msgstr "列內歌曲/演出者標籤" #: ../ui/altpreferences.ui.h:20 msgid "" "Display Song and Artist labels before the progress slider. If not checked, " "they are displayed above the progress slider." msgstr "在進度滑動列的前方顯示歌曲與演出者標籤。若未勾選,則在進度滑動列上方顯示。" #: ../ui/altpreferences.ui.h:21 msgid "Compact progress slider" msgstr "精簡進度滑動列" #: ../ui/altpreferences.ui.h:22 msgid "" "Display and use a compact track progress slider - useful where the default " "theme progress slider is visually too large." msgstr "顯示並使用精簡的簡曲目進度滑動列 - 若預設進度滑動列看起來過於巨大時很有用。" #: ../ui/altpreferences.ui.h:23 msgid "Enhanced sidebar" msgstr "強化式側邊欄" #: ../ui/altpreferences.ui.h:24 msgid "" "Show or hide redesigned sidebar for the player. It features improved " "symbolic icons, better sources organisation and ability to expand and " "collapse categories." msgstr "顯示或隱藏重新設計過的播放器側邊欄。它擁有改良過的符號化圖示、來源整理得更好、具備展開與收納分類的能力等。" #: ../ui/altpreferences.ui.h:25 msgid "Enhanced plugins dialog" msgstr "強化式外掛對話盒" #: ../ui/altpreferences.ui.h:26 msgid "" "Show or hide redesigned plugins dialog. It features switches instead of " "checkboxes and inline toolbar with symbolic icons . Works best with Gnome " "based desktop environments." msgstr "" "顯示或隱藏重新設計過的外掛對話盒。它採用切換開關而非勾選方框,並採用符號化圖示的列內工具列。這個功能與 Gnome 為基礎的桌面環境最搭。" #: ../ui/altpreferences.ui.h:27 msgid "Dark theme if available" msgstr "" #: ../ui/altpreferences.ui.h:29 msgid "Horizontal" msgstr "" #: ../ui/altpreferences.ui.h:30 msgid "Vertical" msgstr "" #: ../ui/alttoolbar.ui.h:1 msgid "Play the previous track" msgstr "播放上一首曲目" #: ../ui/alttoolbar.ui.h:2 msgid "Resume or pause the playback" msgstr "繼續播放或暫停播放" #: ../ui/alttoolbar.ui.h:3 msgid "Play the next track" msgstr "播放下一首曲目" #: ../ui/alttoolbar.ui.h:5 msgid "Play the tracks in random order" msgstr "隨機播放曲目" alternative-toolbar-0.18.0/readme.html000066400000000000000000000200571324014357300177070ustar00rootroot00000000000000
alternative-toolbar Version Support
Replace the Rhythmbox large toolbar with a Client-Side Decorated or Compact toolbar which can be hidden. v0.17.5 Flattr This! PayPal Donate
Email fossfreedom@ubuntu.com
Website https://github.com/fossfreedom

Replace the current standard toolbar:

pic

with either a compact toolbar:

pic

or with the new Gnome-style client-side decoration:

pic

Features

  • Option to prefer dark-themes
  • Display Browse Categories horizontally or vertically
  • Move columns via Drag-and-Drop using a views' column headers
  • Toggle compact or standard toolbar on or off
  • Volume Control can be switched on or off for all toolbars
  • Source Toolbars can be toggled (CTRL + T)
  • Seek forward (fast-forward) through a track (ALT + Right Arrow)
  • Seek backward through a track (ALT + Left Arrow)
  • Redesigned sidebar
  • Redesigned plugin window, about box and plugin preferences window
  • Repeat button can now switch between repeat tracks and repeat-one-song mode
  • Force display of the app-menu (compact/headerbar) gsettings set org.gnome.rhythmbox.plugins.alternative_toolbar app-menu-display true
  • Plugin translated completely into 14 languages and locales (18 more on the way)

The plugin preferences allows you to define which toolbars are used:

Plugin

Keyboard shortcuts

| Key | Action | |---------------------|----------------------------------------------| | CTRL + T | Toggled source toolbar. | | CTRL + F | Toggle search bar. | | CTRL + P | Start/Stop current track. | | CTRL + R | Open repeat menu. | | CTRL + K | Toggle play queue. | | CTRL + A/? | Select all songs in playlist. | | ALT + Right Arrow | Seek forward (fast-forward) through a track. | | ALT + Left Arrrow | Seek backward through a track. |

After installation enable the plugin in the plugins window:

Enable plugin

If you need to enable the player controls & source menu, this can be done from the menu:

  • Menu ->
    • View ->
      • Show Play-Controls Toolbar
      • Show Source and Media Toolbars

Installation

Latest Stable Release via source code compilation Navigate to the archive and grab the newest .tar.gz from https://github.com/fossfreedom/alternative-toolbar/releases bash cd ~/Downloads sudo apt-get install intltool git gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-peas-1.0 gir1.2-rb-3.0 gnome-pkg-tools gobject-introspection libglib2.0-dev pkg-config python3-gi python3 tar -zxvf alternative-toolbar*.tar.gz cd alternative-toolbar* ./autogen.sh --prefix=/usr make sudo make install

This will install a system-wide installation. If you have a previous locally installed version of the plugin, remove it:

rm -rf ~/.local/share/rhythmbox/plugins/alternative-toolbar

Install Latest Development Release via Git bash cd ~/Downloads sudo apt-get install intltool git gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gtk-3.0 gir1.2-peas-1.0 gir1.2-rb-3.0 gnome-pkg-tools gobject-introspection libglib2.0-dev pkg-config python3-gi python3 git clone https://github.com/fossfreedom/alternative-toolbar.git cd alternative-toolbar ./autogen.sh --prefix=/usr make sudo make install

This will install a system-wide installation. If you have a previous locally installed version of the plugin, remove it:

rm -rf ~/.local/share/rhythmbox/plugins/alternative-toolbar

Ubuntu PPA - latest stable release

If you are using Ubuntu you can install alternative-toolbar via a PPA. bash sudo add-apt-repository ppa:fossfreedom/rhythmbox-plugins sudo apt-get update sudo apt-get install rhythmbox-plugin-alternative-toolbar

Arch AUR - latest development release

If you are using Arch you can install alternative-toolbar via the rhythmbox-plugin-alternative-toolbar-git package

Gentoo ebuild

If you are using Gentoo you can install alternative-toolbar by adding the ebuild located in the gentoo branch gentoo/x11-plugins/alternative-toolbar to your local overlay (/usr/local/portage).

i.e.

``` git clone https://github.com/fossfreedom/alternative-toolbar -b gentoo

add the ebuild

git checkout master ```

Use the following to ebuild

$ ebuild alternative-toolbar-9999.ebuild digest $ emerge alternative-toolbar

To uninstall.

If installed via Git you need the original code to uninstall the plugin. bash cd ~/Downloads/alternative-toolbar* sudo make uninstall

Contribute

Please help out with translating

We need you to help us translate the english text to your native language.

Don't worry - it is easier that you think. Just visit:

  • https://translations.launchpad.net/alternative-toolbar

Remember to set your preferred language and then just submit your translation.

Credits

Thank you to:

  • me4oslav - design inspiration for the header-bar vision
  • our Translators: Launchpad Translation team
  • Julian Richen - revamped README
  • Ikey Doherty - AutoTools installer

As well as:

  • sergioad - for the initial translation (spanish) used for testing translations
  • Thanks to the rhythmbox-seek project for the track-seeking code.
  • Thanks to the repeat-one-song project for the repeat-one-song code
  • gipawu - improved progress slider code
alternative-toolbar-0.18.0/schema/000077500000000000000000000000001324014357300170205ustar00rootroot00000000000000alternative-toolbar-0.18.0/schema/org.gnome.rhythmbox.plugins.alternative_toolbar.gschema.xml000066400000000000000000000075131324014357300326130ustar00rootroot00000000000000 0 Type of display Type of display false Start toolbar in hidden state Start toolbar in hidden state true Show compact toolbar Show compact toolbar false Show album/genre/year for playing label Show album/genre/year for playing label false volume-control volume-control true inline album label display album label before progress bar instead of above it false compact progressbar Use the compact progressbar instead of the stock progress bar true use the enhanced sidebar Use the enhanced sidebar rather than the stock sidebar '{1:True}' expanders status expanders open or close status true show tooltips Show or hide tooltips used in the plugin true show enhanced plugins dialog Use the enhanced plugins dialog 2 Repeat Button Type Icon and functionality for the repeat toggle-button true show source toolbar Show or hide source toolbar false show categories in a horizontal position show categories in a horizontal position false display application menu button force the app-menu button to be displayed false prefer dark theme prefer to use a dark-theme rather than the current theme alternative-toolbar-0.18.0/ui/000077500000000000000000000000001324014357300161755ustar00rootroot00000000000000alternative-toolbar-0.18.0/ui/altlibrary.ui000066400000000000000000000043611324014357300207050ustar00rootroot00000000000000 True False True True False True Songs True True False 0 True False True True 1 Categories True True False 0 True False library_song_radiobutton True True 1 False True 0 alternative-toolbar-0.18.0/ui/altpreferences.ui000066400000000000000000000503561324014357300215470ustar00rootroot00000000000000 True False 10 10 vertical 5 True False vertical 5 True True False 5 False 6 end True False Restart the player for the changes to take effect. True True 5 0 False False 0 False True False dialog-information-symbolic False True 0 False False 0 False True 0 True False 6 Toolbar: 0 False True 1 True False 5 True False Best suitable for desktop environments like Gnome and Elementary. Modern False True 0 True True Best suitable for desktop environments like Gnome and Elementary. False True end 1 True True 5 2 Use compact controls True True False Display the playback controls in the toolbar in visually compact style instead of the standard rhythmbox style. Always enabled for modern toolbar mode. 0 True False True 3 True False 6 6 Show: 0 False True 4 Album/genre/year for playing song True True False Display album/genre/year instead of song-artist-album. Useful for those desktop-environments where song-artist-album is already displayed in the window title. 0 True False True 5 Tooltips for the playback controls True True False Show or hide the tooltips for the playback controls. 0 True False True 6 Volume control True True False Show or hide the volume control. 0 True False True 7 Playback controls True True True Show or hide the playing controls on player startup. 0 True False True 8 False True 5 0 True False vertical 5 True False 6 6 Use: 0 False True 0 Inline song/artist label True True False Display Song and Artist labels before the progress slider. If not checked, they are displayed above the progress slider. 0 True False True 1 Compact progress slider True True False Display and use a compact track progress slider - useful where the default theme progress slider is visually too large. 0 True False True 2 Enhanced sidebar True True False Show or hide redesigned sidebar for the player. It features improved symbolic icons, better sources organisation and ability to expand and collapse categories. 0 True False True 3 Enhanced plugins dialog True True False Show or hide redesigned plugins dialog. It features switches instead of checkboxes and inline toolbar with symbolic icons . Works best with Gnome based desktop environments. 0 True False True 4 Dark theme if available True True False 0 True False True 5 True False True False Categories False True 0 True False True Horizontal True True False 0.5 True False False True 0 Vertical True True False 0 True False hcategory_radiobutton False True 1 False True end 1 False True 6 True False vertical False True 5 7 False True 1 alternative-toolbar-0.18.0/ui/alttoolbar.ui000066400000000000000000000343001324014357300206770ustar00rootroot00000000000000 38 False False False False False 12 True False False False Play the previous track False 5 media-skip-backward-symbolic False True 0 False False Resume or pause the playback False 5 media-playback-start-symbolic False True 1 False False Play the next track False 5 media-skip-forward-symbolic False True 2 False False False False 12 True True False False False True 12 12 False True 0 False 6 18 vertical True False True 1 False True vertical True False True 0 0 end False True 0 True False 12 True False 0 True False False 0 False True 1 False True 2 True False 4 True True False False 3 True False False True False True True True Repeat the current track 5 True False 5 media-playlist-repeat-symbolic False True 1 True False Play the tracks in random order False 5 media-playlist-shuffle-symbolic False True 2 False False False 5 9 True False True True True False vertical button audio-volume-muted-symbolic audio-volume-high-symbolic audio-volume-low-symbolic audio-volume-medium-symbolic + True True none - True True none False True 0 False False