diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 823014a..d872271 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -26,9 +26,12 @@ If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [e.g. Ubuntu] and its version - Desktop environment [e.g. GNOME] and its version - - Sound Switcher Indicator version [e.g. 2.3.8] + - Sound Switcher Indicator version [e.g. 2.3.9] - Installation source: `snap`, `.deb`, PPA, source code etc. +**Indicator config:** +Attach the file `~/.config/indicator-sound-switcher.json` + **Indicator log:** In order to fetch it, quit the indicator from the menu ("Quit"), open Terminal and start it again as follows: ```bash diff --git a/.gitignore b/.gitignore index 2c3ec1b..0c78f41 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ /dist/ /locale/ /.idea/ +/venv/ MANIFEST *.pyc *.mo diff --git a/debian/changelog b/debian/changelog index e0a8b77..7299eb7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +indicator-sound-switcher (2.3.9-1) jammy; urgency=low + + * Configuration prune button in Preferences (#120) + + -- Dmitry Kann Tue, 28 Jun 2022 11:28:02 +0200 + indicator-sound-switcher (2.3.8-1) jammy; urgency=low * Only consider available ports for shortcut switching (#118) diff --git a/doc/i18n.md b/doc/i18n.md index 76a4b0a..a1cc625 100644 --- a/doc/i18n.md +++ b/doc/i18n.md @@ -10,6 +10,6 @@ find . -name '*.py' -or -name '*.glade' | xargs xgettext --from-code=UTF-8 --out 1. `sudo apt-get install poedit` 2. Open the `po/.po` file with Poeditor -3. Select in Poeditor: Catalogue -> Update from POT file… -> Select the file `po/indicator-sound-switcher.pot` +3. Select in Poeditor: Translation -> Update from POT file… -> Select the file `po/indicator-sound-switcher.pot` 4. Edit and save the translation 5. Commit the file and send a pull request to the author diff --git a/lib/indicator_sound_switcher/prefs.glade b/lib/indicator_sound_switcher/prefs.glade index 68dd0cb..ba663cc 100644 --- a/lib/indicator_sound_switcher/prefs.glade +++ b/lib/indicator_sound_switcher/prefs.glade @@ -1,5 +1,5 @@ - + True - False - start - Show inputs - - - - - - 0 - 0 - - - - - True - False - start - Show outputs - - - - - - 0 - 1 - - - - - True - True - end - + False + 12 + 6 + 6 + True + + + True + False + start + Show inputs + + + + + + 0 + 0 + + + + + True + False + start + Show outputs + + + + + + 0 + 1 + + + + + True + True + end + + + + 1 + 1 + + + + + True + True + end + + + + 1 + 0 + + - 1 - 1 + True + True + 0 - + True - True - end - + False + 12 + + + Prune configuration… + True + True + True + + + + False + True + 0 + + - 1 - 0 + False + True + 1 @@ -162,30 +174,31 @@ Author: Dmitry Kann True - False + False _General - True + True - False + False + True - False - 12 - 12 - 12 - 12 + False + 12 + 12 + 12 + 12 True True - 6 - 12 + 6 + 12 True - False + False Devices center @@ -193,14 +206,14 @@ Author: Dmitry Kann - 0 - 0 + 0 + 0 True - False + False Device settings 0 @@ -208,14 +221,14 @@ Author: Dmitry Kann - 1 - 0 + 1 + 0 True - False + False Port settings 0 @@ -223,28 +236,28 @@ Author: Dmitry Kann - 2 - 0 + 2 + 0 True - True + True True True - in - 200 + in + 200 True - False + False True True True - False + False True True @@ -254,14 +267,14 @@ Author: Dmitry Kann - 0 - 1 + 0 + 1 True - False + False True True vertical @@ -269,12 +282,12 @@ Author: Dmitry Kann True - False + False 6 True - False + False Custom name: @@ -286,9 +299,9 @@ Author: Dmitry Kann True - True - gtk-no - Reset + True + gtk-no + Reset @@ -308,7 +321,7 @@ Author: Dmitry Kann True - False + False start Ports: @@ -324,20 +337,20 @@ Author: Dmitry Kann True - True + True True True - in + in True - False + False True True True - False + False True True @@ -354,143 +367,144 @@ Author: Dmitry Kann - 1 - 1 + 1 + 1 + True - False - 6 - 6 + False + 6 + 6 True - False + False start Visible: - 0 - 0 + 0 + 0 True - True + True end - 1 - 0 + 1 + 0 True - False + False start Always available: - 0 - 1 + 0 + 1 True - False + False start Custom name: - 0 - 2 + 0 + 2 True - False + False start Preferred profile: - 0 - 3 + 0 + 3 True - True + True end - 1 - 1 + 1 + 1 True - True - gtk-no - Reset + True + gtk-no + Reset - 1 - 2 + 1 + 2 True - False + False pref_profile_store - 0 + 0 - 1 - 3 + 1 + 3 True - False + False start Keyboard shortcut: - 0 - 4 + 0 + 4 True - True - True + True + True - 1 - 4 + 1 + 4 - 2 - 1 + 2 + 1 @@ -501,13 +515,13 @@ Author: Dmitry Kann True - False + False _Devices - True + True 1 - False + False @@ -525,5 +539,29 @@ Author: Dmitry Kann + + + True + False + Preferences + Sound Switcher Indicator + True + close,maximize + + + gtk-refresh + True + True + True + True + True + + + + end + + + + diff --git a/lib/indicator_sound_switcher/prefs.py b/lib/indicator_sound_switcher/prefs.py index 38a1f9d..8291e07 100644 --- a/lib/indicator_sound_switcher/prefs.py +++ b/lib/indicator_sound_switcher/prefs.py @@ -270,6 +270,58 @@ def on_destroy(self, dlg): # Make sure config update has run self.indicator_refresh_cb() + def on_config_prune(self, *args): + """Signal handler: Prune configuration button clicked.""" + logging.debug('PreferencesDialog.on_config_prune()') + + # Show a confirmation dialog + pruned = False + cnt = 0 + dialog = Gtk.MessageDialog( + transient_for=self.prefs_dialog, + flags=0, + message_type=Gtk.MessageType.WARNING, + buttons=Gtk.ButtonsType.OK_CANCEL, + text=_('Prune configuration')) + dialog.format_secondary_text(_( + 'This will remove any settings about devices that are currently offline, such as Bluetooth headphones or ' + 'external sound cards.\n\n' + 'Do you wish to continue?')) + response = dialog.run() + if response == Gtk.ResponseType.OK: + # Make a set of known devices + known = {card.name for card in self.indicator.cards.values()} + logging.debug('Pruning config') + + # Remove unknown devices from the config + for name in list(self.indicator.config['devices'].keys()): + if name not in known: + del self.indicator.config['devices'][name] + cnt += 1 + logging.debug(' - Pruned device `%s`', name) + + # Save the configuration if there was a change + if cnt > 0: + logging.debug('Config changed, saving') + self.indicator.config_save() + + pruned = True + + # Kill the dialog + dialog.destroy() + + # Show info message after pruning + if pruned: + info_dlg = Gtk.MessageDialog( + transient_for=self.prefs_dialog, + flags=0, + message_type=Gtk.MessageType.INFO, + buttons=Gtk.ButtonsType.CLOSE, + text=_('Prune configuration')) + info_dlg.format_secondary_text(_('Removed {} device configuration entries.').format(cnt)) + info_dlg.run() + info_dlg.destroy() + def on_refresh(self, *args): """Signal handler: Refresh button clicked.""" logging.debug('PreferencesDialog.on_refresh()') diff --git a/po/indicator-sound-switcher.pot b/po/indicator-sound-switcher.pot index 99de7ab..6211e0d 100644 --- a/po/indicator-sound-switcher.pot +++ b/po/indicator-sound-switcher.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-03 17:38+0100\n" +"POT-Creation-Date: 2022-06-28 11:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,124 +17,179 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: lib/indicator_sound_switcher/prefs.py:181 -msgid "Out" -msgstr "" - -#: lib/indicator_sound_switcher/prefs.py:181 -msgid "In" -msgstr "" - -#: lib/indicator_sound_switcher/prefs.py:216 -#: lib/indicator_sound_switcher/prefs.py:224 -#: lib/indicator_sound_switcher/prefs.py:400 -msgid "(none)" -msgstr "" - -#: lib/indicator_sound_switcher/prefs.py:417 -msgid "Keyboard shortcut" -msgstr "" - -#: lib/indicator_sound_switcher/prefs.py:424 -msgid "" -"Press the desired key combination, Backspace to remove any shortcut, " -"or Esc to cancel." -msgstr "" - -#: lib/indicator_sound_switcher/prefs.glade:49 +#: build/lib/indicator_sound_switcher/prefs.glade:49 +#: lib/indicator_sound_switcher/prefs.glade:546 msgid "Preferences" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:50 +#: build/lib/indicator_sound_switcher/prefs.glade:50 +#: lib/indicator_sound_switcher/prefs.glade:547 msgid "Sound Switcher Indicator" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:111 +#: build/lib/indicator_sound_switcher/prefs.glade:111 +#: lib/indicator_sound_switcher/prefs.glade:90 msgid "Show inputs" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:126 +#: build/lib/indicator_sound_switcher/prefs.glade:126 +#: lib/indicator_sound_switcher/prefs.glade:105 msgid "Show outputs" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:166 +#: build/lib/indicator_sound_switcher/prefs.glade:166 +#: lib/indicator_sound_switcher/prefs.glade:178 msgid "_General" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:189 +#: build/lib/indicator_sound_switcher/prefs.glade:189 +#: lib/indicator_sound_switcher/prefs.glade:202 msgid "Devices" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:204 +#: build/lib/indicator_sound_switcher/prefs.glade:204 +#: lib/indicator_sound_switcher/prefs.glade:217 msgid "Device settings" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:219 +#: build/lib/indicator_sound_switcher/prefs.glade:219 +#: lib/indicator_sound_switcher/prefs.glade:232 msgid "Port settings" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:278 -#: lib/indicator_sound_switcher/prefs.glade:408 +#: build/lib/indicator_sound_switcher/prefs.glade:278 +#: build/lib/indicator_sound_switcher/prefs.glade:408 +#: lib/indicator_sound_switcher/prefs.glade:291 +#: lib/indicator_sound_switcher/prefs.glade:422 msgid "Custom name:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:291 -#: lib/indicator_sound_switcher/prefs.glade:444 +#: build/lib/indicator_sound_switcher/prefs.glade:291 +#: build/lib/indicator_sound_switcher/prefs.glade:444 +#: lib/indicator_sound_switcher/prefs.glade:304 +#: lib/indicator_sound_switcher/prefs.glade:458 msgid "Reset" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:313 +#: build/lib/indicator_sound_switcher/prefs.glade:313 +#: lib/indicator_sound_switcher/prefs.glade:326 msgid "Ports:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:372 +#: build/lib/indicator_sound_switcher/prefs.glade:372 +#: lib/indicator_sound_switcher/prefs.glade:386 msgid "Visible:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:396 +#: build/lib/indicator_sound_switcher/prefs.glade:396 +#: lib/indicator_sound_switcher/prefs.glade:410 msgid "Always available:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:420 +#: build/lib/indicator_sound_switcher/prefs.glade:420 +#: lib/indicator_sound_switcher/prefs.glade:434 msgid "Preferred profile:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:471 +#: build/lib/indicator_sound_switcher/prefs.glade:471 +#: lib/indicator_sound_switcher/prefs.glade:485 msgid "Keyboard shortcut:" msgstr "" -#: lib/indicator_sound_switcher/prefs.glade:505 +#: build/lib/indicator_sound_switcher/prefs.glade:505 +#: lib/indicator_sound_switcher/prefs.glade:519 msgid "_Devices" msgstr "" +#: build/lib/indicator_sound_switcher/port.py:99 #: lib/indicator_sound_switcher/port.py:99 msgid "(unknown device)" msgstr "" +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "Out" +msgstr "" + +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "In" +msgstr "" + +#: build/lib/indicator_sound_switcher/prefs.py:216 +#: build/lib/indicator_sound_switcher/prefs.py:224 +#: build/lib/indicator_sound_switcher/prefs.py:400 +#: lib/indicator_sound_switcher/card.py:71 +#: lib/indicator_sound_switcher/prefs.py:217 +#: lib/indicator_sound_switcher/prefs.py:225 +#: lib/indicator_sound_switcher/prefs.py:446 +msgid "(none)" +msgstr "" + +#: build/lib/indicator_sound_switcher/prefs.py:417 +#: lib/indicator_sound_switcher/prefs.py:463 +msgid "Keyboard shortcut" +msgstr "" + +#: build/lib/indicator_sound_switcher/prefs.py:424 +#: lib/indicator_sound_switcher/prefs.py:470 +msgid "" +"Press the desired key combination, Backspace to remove any shortcut, " +"or Esc to cancel." +msgstr "" + +#: build/lib/indicator_sound_switcher/indicator.py:192 #: lib/indicator_sound_switcher/indicator.py:195 msgid "Written by Dmitry Kann" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:993 +#: build/lib/indicator_sound_switcher/indicator.py:990 +#: lib/indicator_sound_switcher/indicator.py:1041 msgid "Inputs" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:1001 +#: build/lib/indicator_sound_switcher/indicator.py:998 +#: lib/indicator_sound_switcher/indicator.py:1049 msgid "Outputs" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:1008 +#: build/lib/indicator_sound_switcher/indicator.py:1005 +#: lib/indicator_sound_switcher/indicator.py:1056 msgid "_Refresh" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:1009 +#: build/lib/indicator_sound_switcher/indicator.py:1006 +#: lib/indicator_sound_switcher/indicator.py:1057 msgid "_Preferences…" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:1010 +#: build/lib/indicator_sound_switcher/indicator.py:1007 +#: lib/indicator_sound_switcher/indicator.py:1058 msgid "_About" msgstr "" -#: lib/indicator_sound_switcher/indicator.py:1011 +#: build/lib/indicator_sound_switcher/indicator.py:1008 +#: lib/indicator_sound_switcher/indicator.py:1059 msgid "_Quit" msgstr "" + +#: lib/indicator_sound_switcher/prefs.glade:153 +msgid "Prune configuration…" +msgstr "" + +#: lib/indicator_sound_switcher/prefs.py:285 +#: lib/indicator_sound_switcher/prefs.py:320 +msgid "Prune configuration" +msgstr "" + +#: lib/indicator_sound_switcher/prefs.py:287 +msgid "" +"This will remove any settings about devices that are currently offline, such " +"as Bluetooth headphones or external sound cards.\n" +"\n" +"Do you wish to continue?" +msgstr "" + +#: lib/indicator_sound_switcher/prefs.py:321 +msgid "Removed {} device configuration entries." +msgstr "" diff --git a/po/nl.po b/po/nl.po index abe801c..d50c803 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,137 +7,196 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-26 18:43+0200\n" -"PO-Revision-Date: 2020-05-26 18:50+0200\n" +"POT-Creation-Date: 2022-06-28 11:21+0200\n" +"PO-Revision-Date: 2022-06-28 11:24+0200\n" "Last-Translator: Dmitry Kann \n" "Language-Team: \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0.1\n" -#: lib/indicator_sound_switcher/port.py:99 -msgid "(unknown device)" -msgstr "(onbekende kaart)" - -#: lib/indicator_sound_switcher/prefs.py:178 -msgid "Out" -msgstr "Uitgang" - -#: lib/indicator_sound_switcher/prefs.py:178 -msgid "In" -msgstr "Ingang" - -#: lib/indicator_sound_switcher/prefs.py:213 -#: lib/indicator_sound_switcher/prefs.py:221 -#: lib/indicator_sound_switcher/prefs.py:397 -msgid "(none)" -msgstr "(geen)" - -#: lib/indicator_sound_switcher/prefs.py:414 -msgid "Keyboard shortcut" -msgstr "Sneltoets" - -#: lib/indicator_sound_switcher/prefs.py:421 -msgid "" -"Press the desired key combination, Backspace to remove any shortcut, " -"or Esc to cancel." -msgstr "" -"Druk op de gewenste toetscombinatie, Backspace om de snelkoppeling " -"te verwijderen of Esc om te annuleren." - -#: lib/indicator_sound_switcher/indicator.py:192 -msgid "Written by Dmitry Kann" -msgstr "Auteur: Dmitry Kann" - -#: lib/indicator_sound_switcher/indicator.py:990 -msgid "Inputs" -msgstr "Ingangen" - -#: lib/indicator_sound_switcher/indicator.py:998 -msgid "Outputs" -msgstr "Uitgangen" - -#: lib/indicator_sound_switcher/indicator.py:1005 -msgid "_Refresh" -msgstr "_Verversen" - -#: lib/indicator_sound_switcher/indicator.py:1006 -msgid "_Preferences…" -msgstr "_Instellingen…" - -#: lib/indicator_sound_switcher/indicator.py:1007 -msgid "_About" -msgstr "_Over" - -#: lib/indicator_sound_switcher/indicator.py:1008 -msgid "_Quit" -msgstr "_Afsluiten" - -#: lib/indicator_sound_switcher/prefs.glade:49 +#: build/lib/indicator_sound_switcher/prefs.glade:49 +#: lib/indicator_sound_switcher/prefs.glade:546 msgid "Preferences" msgstr "Instellingen" -#: lib/indicator_sound_switcher/prefs.glade:50 +#: build/lib/indicator_sound_switcher/prefs.glade:50 +#: lib/indicator_sound_switcher/prefs.glade:547 msgid "Sound Switcher Indicator" msgstr "Sound Switcher Indicator" -#: lib/indicator_sound_switcher/prefs.glade:114 +#: build/lib/indicator_sound_switcher/prefs.glade:111 +#: lib/indicator_sound_switcher/prefs.glade:90 msgid "Show inputs" msgstr "Ingangen tonen" -#: lib/indicator_sound_switcher/prefs.glade:129 +#: build/lib/indicator_sound_switcher/prefs.glade:126 +#: lib/indicator_sound_switcher/prefs.glade:105 msgid "Show outputs" msgstr "Uitgangen tonen" -#: lib/indicator_sound_switcher/prefs.glade:169 +#: build/lib/indicator_sound_switcher/prefs.glade:166 +#: lib/indicator_sound_switcher/prefs.glade:178 msgid "_General" msgstr "_Algemeen" -#: lib/indicator_sound_switcher/prefs.glade:192 +#: build/lib/indicator_sound_switcher/prefs.glade:189 +#: lib/indicator_sound_switcher/prefs.glade:202 msgid "Devices" msgstr "Kaarten" -#: lib/indicator_sound_switcher/prefs.glade:207 +#: build/lib/indicator_sound_switcher/prefs.glade:204 +#: lib/indicator_sound_switcher/prefs.glade:217 msgid "Device settings" msgstr "Kaartinstellingen" -#: lib/indicator_sound_switcher/prefs.glade:222 +#: build/lib/indicator_sound_switcher/prefs.glade:219 +#: lib/indicator_sound_switcher/prefs.glade:232 msgid "Port settings" msgstr "Poortinstellingen" -#: lib/indicator_sound_switcher/prefs.glade:281 -#: lib/indicator_sound_switcher/prefs.glade:411 +#: build/lib/indicator_sound_switcher/prefs.glade:278 +#: build/lib/indicator_sound_switcher/prefs.glade:408 +#: lib/indicator_sound_switcher/prefs.glade:291 +#: lib/indicator_sound_switcher/prefs.glade:422 msgid "Custom name:" msgstr "Zichtbare naam:" -#: lib/indicator_sound_switcher/prefs.glade:294 -#: lib/indicator_sound_switcher/prefs.glade:447 +#: build/lib/indicator_sound_switcher/prefs.glade:291 +#: build/lib/indicator_sound_switcher/prefs.glade:444 +#: lib/indicator_sound_switcher/prefs.glade:304 +#: lib/indicator_sound_switcher/prefs.glade:458 msgid "Reset" msgstr "Wissen" -#: lib/indicator_sound_switcher/prefs.glade:316 +#: build/lib/indicator_sound_switcher/prefs.glade:313 +#: lib/indicator_sound_switcher/prefs.glade:326 msgid "Ports:" msgstr "Poorten:" -#: lib/indicator_sound_switcher/prefs.glade:375 +#: build/lib/indicator_sound_switcher/prefs.glade:372 +#: lib/indicator_sound_switcher/prefs.glade:386 msgid "Visible:" msgstr "Zichtbaar:" -#: lib/indicator_sound_switcher/prefs.glade:399 +#: build/lib/indicator_sound_switcher/prefs.glade:396 +#: lib/indicator_sound_switcher/prefs.glade:410 msgid "Always available:" msgstr "Altijd aanwezig:" -#: lib/indicator_sound_switcher/prefs.glade:423 +#: build/lib/indicator_sound_switcher/prefs.glade:420 +#: lib/indicator_sound_switcher/prefs.glade:434 msgid "Preferred profile:" msgstr "Profielvoorkeur:" -#: lib/indicator_sound_switcher/prefs.glade:474 +#: build/lib/indicator_sound_switcher/prefs.glade:471 +#: lib/indicator_sound_switcher/prefs.glade:485 msgid "Keyboard shortcut:" msgstr "Sneltoets:" -#: lib/indicator_sound_switcher/prefs.glade:509 +#: build/lib/indicator_sound_switcher/prefs.glade:505 +#: lib/indicator_sound_switcher/prefs.glade:519 msgid "_Devices" msgstr "_Kaarten" + +#: build/lib/indicator_sound_switcher/port.py:99 +#: lib/indicator_sound_switcher/port.py:99 +msgid "(unknown device)" +msgstr "(onbekende kaart)" + +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "Out" +msgstr "Uitgang" + +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "In" +msgstr "Ingang" + +#: build/lib/indicator_sound_switcher/prefs.py:216 +#: build/lib/indicator_sound_switcher/prefs.py:224 +#: build/lib/indicator_sound_switcher/prefs.py:400 +#: lib/indicator_sound_switcher/card.py:71 +#: lib/indicator_sound_switcher/prefs.py:217 +#: lib/indicator_sound_switcher/prefs.py:225 +#: lib/indicator_sound_switcher/prefs.py:446 +msgid "(none)" +msgstr "(geen)" + +#: build/lib/indicator_sound_switcher/prefs.py:417 +#: lib/indicator_sound_switcher/prefs.py:463 +msgid "Keyboard shortcut" +msgstr "Sneltoets" + +#: build/lib/indicator_sound_switcher/prefs.py:424 +#: lib/indicator_sound_switcher/prefs.py:470 +msgid "" +"Press the desired key combination, Backspace to remove any shortcut, " +"or Esc to cancel." +msgstr "" +"Druk op de gewenste toetscombinatie, Backspace om de snelkoppeling te " +"verwijderen of Esc om te annuleren." + +#: build/lib/indicator_sound_switcher/indicator.py:192 +#: lib/indicator_sound_switcher/indicator.py:195 +msgid "Written by Dmitry Kann" +msgstr "Auteur: Dmitry Kann" + +#: build/lib/indicator_sound_switcher/indicator.py:990 +#: lib/indicator_sound_switcher/indicator.py:1041 +msgid "Inputs" +msgstr "Ingangen" + +#: build/lib/indicator_sound_switcher/indicator.py:998 +#: lib/indicator_sound_switcher/indicator.py:1049 +msgid "Outputs" +msgstr "Uitgangen" + +#: build/lib/indicator_sound_switcher/indicator.py:1005 +#: lib/indicator_sound_switcher/indicator.py:1056 +msgid "_Refresh" +msgstr "_Verversen" + +#: build/lib/indicator_sound_switcher/indicator.py:1006 +#: lib/indicator_sound_switcher/indicator.py:1057 +msgid "_Preferences…" +msgstr "_Instellingen…" + +#: build/lib/indicator_sound_switcher/indicator.py:1007 +#: lib/indicator_sound_switcher/indicator.py:1058 +msgid "_About" +msgstr "_Over" + +#: build/lib/indicator_sound_switcher/indicator.py:1008 +#: lib/indicator_sound_switcher/indicator.py:1059 +msgid "_Quit" +msgstr "_Afsluiten" + +#: lib/indicator_sound_switcher/prefs.glade:153 +msgid "Prune configuration…" +msgstr "Configuratie opschonen…" + +#: lib/indicator_sound_switcher/prefs.py:285 +#: lib/indicator_sound_switcher/prefs.py:320 +msgid "Prune configuration" +msgstr "Configuratie opschonen" + +#: lib/indicator_sound_switcher/prefs.py:287 +msgid "" +"This will remove any settings about devices that are currently offline, such " +"as Bluetooth headphones or external sound cards.\n" +"\n" +"Do you wish to continue?" +msgstr "" +"Dit zal alle instellingen verwijderen van apparaten die momenteel offline " +"zijn, zoals Bluetooth-hoofdtelefoons of externe geluidskaarten.\n" +"\n" +"Wil je doorgaan?" + +#: lib/indicator_sound_switcher/prefs.py:321 +msgid "Removed {} device configuration entries." +msgstr "{} apparaatconfiguratie-items verwijderd." diff --git a/po/ru.po b/po/ru.po index 465f896..fd8bf27 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,139 +6,198 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-26 18:43+0200\n" -"PO-Revision-Date: 2020-05-26 18:47+0200\n" +"POT-Creation-Date: 2022-06-28 11:21+0200\n" +"PO-Revision-Date: 2022-06-28 11:22+0200\n" "Last-Translator: Dmitry Kann \n" "Language-Team: \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 2.3.1\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 3.0.1\n" -#: lib/indicator_sound_switcher/port.py:99 -msgid "(unknown device)" -msgstr "(неизвестное устройство)" - -#: lib/indicator_sound_switcher/prefs.py:178 -msgid "Out" -msgstr "Выход" - -#: lib/indicator_sound_switcher/prefs.py:178 -msgid "In" -msgstr "Вход" - -#: lib/indicator_sound_switcher/prefs.py:213 -#: lib/indicator_sound_switcher/prefs.py:221 -#: lib/indicator_sound_switcher/prefs.py:397 -msgid "(none)" -msgstr "(нет)" - -#: lib/indicator_sound_switcher/prefs.py:414 -msgid "Keyboard shortcut" -msgstr "Сочетание клавиш" - -#: lib/indicator_sound_switcher/prefs.py:421 -msgid "" -"Press the desired key combination, Backspace to remove any shortcut, " -"or Esc to cancel." -msgstr "" -"Нажмите желаемую комбинацию клавиш, Backspace, чтобы удалить " -"заданную комбинацию, или Esc для отмены." - -#: lib/indicator_sound_switcher/indicator.py:192 -msgid "Written by Dmitry Kann" -msgstr "Автор: Дмитрий Канн" - -#: lib/indicator_sound_switcher/indicator.py:990 -msgid "Inputs" -msgstr "Входы" - -#: lib/indicator_sound_switcher/indicator.py:998 -msgid "Outputs" -msgstr "Выходы" - -#: lib/indicator_sound_switcher/indicator.py:1005 -msgid "_Refresh" -msgstr "_Обновить" - -#: lib/indicator_sound_switcher/indicator.py:1006 -msgid "_Preferences…" -msgstr "_Настройки…" - -#: lib/indicator_sound_switcher/indicator.py:1007 -msgid "_About" -msgstr "О _программе" - -#: lib/indicator_sound_switcher/indicator.py:1008 -msgid "_Quit" -msgstr "В_ыход" - -#: lib/indicator_sound_switcher/prefs.glade:49 +#: build/lib/indicator_sound_switcher/prefs.glade:49 +#: lib/indicator_sound_switcher/prefs.glade:546 msgid "Preferences" msgstr "Настройки" -#: lib/indicator_sound_switcher/prefs.glade:50 +#: build/lib/indicator_sound_switcher/prefs.glade:50 +#: lib/indicator_sound_switcher/prefs.glade:547 msgid "Sound Switcher Indicator" msgstr "Sound Switcher Indicator" -#: lib/indicator_sound_switcher/prefs.glade:114 +#: build/lib/indicator_sound_switcher/prefs.glade:111 +#: lib/indicator_sound_switcher/prefs.glade:90 msgid "Show inputs" msgstr "Отображать входы" -#: lib/indicator_sound_switcher/prefs.glade:129 +#: build/lib/indicator_sound_switcher/prefs.glade:126 +#: lib/indicator_sound_switcher/prefs.glade:105 msgid "Show outputs" msgstr "Отображать выходы" -#: lib/indicator_sound_switcher/prefs.glade:169 +#: build/lib/indicator_sound_switcher/prefs.glade:166 +#: lib/indicator_sound_switcher/prefs.glade:178 msgid "_General" msgstr "_Общие" -#: lib/indicator_sound_switcher/prefs.glade:192 +#: build/lib/indicator_sound_switcher/prefs.glade:189 +#: lib/indicator_sound_switcher/prefs.glade:202 msgid "Devices" msgstr "Устройства" -#: lib/indicator_sound_switcher/prefs.glade:207 +#: build/lib/indicator_sound_switcher/prefs.glade:204 +#: lib/indicator_sound_switcher/prefs.glade:217 msgid "Device settings" msgstr "Настройки устройства" -#: lib/indicator_sound_switcher/prefs.glade:222 +#: build/lib/indicator_sound_switcher/prefs.glade:219 +#: lib/indicator_sound_switcher/prefs.glade:232 msgid "Port settings" msgstr "Настройки порта" -#: lib/indicator_sound_switcher/prefs.glade:281 -#: lib/indicator_sound_switcher/prefs.glade:411 +#: build/lib/indicator_sound_switcher/prefs.glade:278 +#: build/lib/indicator_sound_switcher/prefs.glade:408 +#: lib/indicator_sound_switcher/prefs.glade:291 +#: lib/indicator_sound_switcher/prefs.glade:422 msgid "Custom name:" msgstr "Использовать имя:" -#: lib/indicator_sound_switcher/prefs.glade:294 -#: lib/indicator_sound_switcher/prefs.glade:447 +#: build/lib/indicator_sound_switcher/prefs.glade:291 +#: build/lib/indicator_sound_switcher/prefs.glade:444 +#: lib/indicator_sound_switcher/prefs.glade:304 +#: lib/indicator_sound_switcher/prefs.glade:458 msgid "Reset" msgstr "Сбросить" -#: lib/indicator_sound_switcher/prefs.glade:316 +#: build/lib/indicator_sound_switcher/prefs.glade:313 +#: lib/indicator_sound_switcher/prefs.glade:326 msgid "Ports:" msgstr "Порты:" -#: lib/indicator_sound_switcher/prefs.glade:375 +#: build/lib/indicator_sound_switcher/prefs.glade:372 +#: lib/indicator_sound_switcher/prefs.glade:386 msgid "Visible:" msgstr "Видим:" -#: lib/indicator_sound_switcher/prefs.glade:399 +#: build/lib/indicator_sound_switcher/prefs.glade:396 +#: lib/indicator_sound_switcher/prefs.glade:410 msgid "Always available:" msgstr "Всегда доступен:" -#: lib/indicator_sound_switcher/prefs.glade:423 +#: build/lib/indicator_sound_switcher/prefs.glade:420 +#: lib/indicator_sound_switcher/prefs.glade:434 msgid "Preferred profile:" msgstr "Предпочтительный профиль:" -#: lib/indicator_sound_switcher/prefs.glade:474 +#: build/lib/indicator_sound_switcher/prefs.glade:471 +#: lib/indicator_sound_switcher/prefs.glade:485 msgid "Keyboard shortcut:" msgstr "Сочетание клавиш:" -#: lib/indicator_sound_switcher/prefs.glade:509 +#: build/lib/indicator_sound_switcher/prefs.glade:505 +#: lib/indicator_sound_switcher/prefs.glade:519 msgid "_Devices" msgstr "_Устройства" + +#: build/lib/indicator_sound_switcher/port.py:99 +#: lib/indicator_sound_switcher/port.py:99 +msgid "(unknown device)" +msgstr "(неизвестное устройство)" + +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "Out" +msgstr "Выход" + +#: build/lib/indicator_sound_switcher/prefs.py:181 +#: lib/indicator_sound_switcher/prefs.py:182 +msgid "In" +msgstr "Вход" + +#: build/lib/indicator_sound_switcher/prefs.py:216 +#: build/lib/indicator_sound_switcher/prefs.py:224 +#: build/lib/indicator_sound_switcher/prefs.py:400 +#: lib/indicator_sound_switcher/card.py:71 +#: lib/indicator_sound_switcher/prefs.py:217 +#: lib/indicator_sound_switcher/prefs.py:225 +#: lib/indicator_sound_switcher/prefs.py:446 +msgid "(none)" +msgstr "(нет)" + +#: build/lib/indicator_sound_switcher/prefs.py:417 +#: lib/indicator_sound_switcher/prefs.py:463 +msgid "Keyboard shortcut" +msgstr "Сочетание клавиш" + +#: build/lib/indicator_sound_switcher/prefs.py:424 +#: lib/indicator_sound_switcher/prefs.py:470 +msgid "" +"Press the desired key combination, Backspace to remove any shortcut, " +"or Esc to cancel." +msgstr "" +"Нажмите желаемую комбинацию клавиш, Backspace, чтобы удалить заданную " +"комбинацию, или Esc для отмены." + +#: build/lib/indicator_sound_switcher/indicator.py:192 +#: lib/indicator_sound_switcher/indicator.py:195 +msgid "Written by Dmitry Kann" +msgstr "Автор: Дмитрий Канн" + +#: build/lib/indicator_sound_switcher/indicator.py:990 +#: lib/indicator_sound_switcher/indicator.py:1041 +msgid "Inputs" +msgstr "Входы" + +#: build/lib/indicator_sound_switcher/indicator.py:998 +#: lib/indicator_sound_switcher/indicator.py:1049 +msgid "Outputs" +msgstr "Выходы" + +#: build/lib/indicator_sound_switcher/indicator.py:1005 +#: lib/indicator_sound_switcher/indicator.py:1056 +msgid "_Refresh" +msgstr "_Обновить" + +#: build/lib/indicator_sound_switcher/indicator.py:1006 +#: lib/indicator_sound_switcher/indicator.py:1057 +msgid "_Preferences…" +msgstr "_Настройки…" + +#: build/lib/indicator_sound_switcher/indicator.py:1007 +#: lib/indicator_sound_switcher/indicator.py:1058 +msgid "_About" +msgstr "О _программе" + +#: build/lib/indicator_sound_switcher/indicator.py:1008 +#: lib/indicator_sound_switcher/indicator.py:1059 +msgid "_Quit" +msgstr "В_ыход" + +#: lib/indicator_sound_switcher/prefs.glade:153 +msgid "Prune configuration…" +msgstr "Очистить конфигурацию…" + +#: lib/indicator_sound_switcher/prefs.py:285 +#: lib/indicator_sound_switcher/prefs.py:320 +msgid "Prune configuration" +msgstr "Очистить конфигурацию" + +#: lib/indicator_sound_switcher/prefs.py:287 +msgid "" +"This will remove any settings about devices that are currently offline, such " +"as Bluetooth headphones or external sound cards.\n" +"\n" +"Do you wish to continue?" +msgstr "" +"Данная операция удалит настройки устройств, которые в настоящий момент не " +"подключены, таких как Bluetooth-наушники и внешние звуковые карты.\n" +"\n" +"Вы хотите продолжить?" + +#: lib/indicator_sound_switcher/prefs.py:321 +msgid "Removed {} device configuration entries." +msgstr "Удалены записи конфигурации {} устройств." diff --git a/setup.py b/setup.py index 42fedbd..de94a65 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ APP_ID = 'indicator-sound-switcher' -APP_VERSION = '2.3.8' +APP_VERSION = '2.3.9' def compile_lang_files() -> list: