├── LICENSE ├── README.md ├── aboutpage.js ├── dialogwidgets.js ├── extension.js ├── icons ├── atareao.png ├── atareao.svg ├── bmc-button.svg ├── bug.svg ├── github.svg ├── info.svg ├── mastodon.svg ├── spotify.svg ├── telegram.svg ├── twitter.svg ├── wireguard-active-dark.svg ├── wireguard-active-light.svg ├── wireguard-icon.png ├── wireguard-icon.svg ├── wireguard-paused-dark.svg ├── wireguard-paused-light.svg └── youtube.svg ├── locale ├── ca │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── de │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── es │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── fi │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── fr │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── hu │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── it │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo ├── nl │ └── LC_MESSAGES │ │ └── wireguard-indicator@atareao.es.mo └── ru │ └── LC_MESSAGES │ └── wireguard-indicator@atareao.es.mo ├── metadata.json ├── po ├── ca.po ├── de.po ├── es.po ├── fi.po ├── fr.po ├── hu.po ├── it.po ├── messages.pot ├── nl.po └── ru.po ├── preferenceswidget.js ├── prefs.js ├── schemas ├── gschemas.compiled └── org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml └── screenshots ├── screenshot_01.png ├── screenshot_02.png ├── screenshot_03.png └── screenshot_04.png /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Lorenzo Carbonell Cerezo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | 15 | 16 | 17 | 18 | 19 | ![License MIT](https://img.shields.io/badge/license-MIT-green) 20 | ![Contributors](https://img.shields.io/github/contributors-anon/atareao/wireguard-indicator) 21 | ![Last commit](https://img.shields.io/github/last-commit/atareao/wireguard-indicator) 22 | [![CodeFactor](https://www.codefactor.io/repository/github/atareao/wireguard-indicator/badge)](https://www.codefactor.io/repository/github/atareao/wireguard-indicator) 23 | 24 | 25 | 26 |

Welcome to WireGuard Indicator 👋

27 |

28 | 29 | 30 | 31 |

32 |

🏠 Homepage

33 |

WireGuard Indicator is a GNOME Shell indicator that shows the status of your WireGuard VPN.

34 |

WireGuard Indicator can enable or disable the WireGuard VPN by clicking on it.

35 |

You need superuser privileges (i.e. root access).

36 | 37 | 38 | 39 | 40 | ## Prerequisites 41 | 42 | You need WireGuard. To install it, simply type in the terminal: 43 | 44 | ``` 45 | sudo apt install wireguard 46 | ``` 47 | 48 | Of course, you need to [configure your beloved WireGuard first](https://www.wireguard.com/quickstart/). 49 | 50 | 51 | 52 | 53 | ## Installing the WireGuard Indicator 54 | 55 | To install the WireGuard Indicator, follow these steps: 56 | 57 | Go to the [GNOME Extensions page](https://extensions.gnome.org/) and search for "[WireGuard Indicator](https://extensions.gnome.org/extension/3612/wireguard-indicator/)". 58 | 59 | Enable the extension by clicking the switch. 60 | 61 | 62 | 63 | ## Setting Up 64 | 65 | WireGuard Indicator provide two ways to connect to your wireguard vpn: 66 | 67 | - **nmcli** 68 | With `nmcli` we need to add our `wg.conf` file connection first by `sudo nmcli connection import type wireguard file /path/to/your/your-wg-file.conf`, since WireGuard Indicator pick up the connection of `type=wireguard` they'll show up on the drop down and toggled right away after import (note: you may want to disable the auto connect via `nm-connection-editor` or your distro network setting). 69 | 70 | - **systemd** 71 | Add wireguard to systemd by running `sudo systemctl enable wg-quick@yourconfig.service`, make sure you have your `/etc/wireguard/config.conf` in place. 72 | 73 | 74 | ## Using WireGuard Indicator 75 | 76 | When you start **WireGuard Indicator** it appears in the Indicator Area, as you can see in the next screenshot: 77 | 78 | ![WireGuard Indicator](./screenshots/screenshot_01.png) 79 | 80 | In this screenshot, the language is in Spanish. If there is no translation for your language, you can have the app in English. 81 | 82 | If you enable on one of the WireGuard connections, a dialog will appear and ask you for your password to gain root privileges. 83 | 84 | ![WireGuard Indicator](./screenshots/screenshot_02.png) 85 | 86 | You can set additional options as you can see in next screenshot: 87 | 88 | ![WireGuard Indicator](./screenshots/screenshot_03.png) 89 | 90 | * Enable the dark theme for the WireGuard Indicator icon: 91 | 92 | ![WireGuard Indicator](./screenshots/screenshot_04.png) 93 | 94 | * Set the `systemd` service name 95 | * Set the check time 96 | 97 | 98 | 99 | 100 | ## Contributing to WireGuard Indicator 101 | 102 | To contribute to **WireGuard Indicator**, please follow these steps: 103 | 104 | 1. Fork this repository. 105 | 2. Create a branch: `git checkout -b `. 106 | 3. Make your changes and commit them: `git commit -m ''` 107 | 4. Push to the original branch: `git push origin atareao/readmemaker` 108 | 5. Create the pull request. 109 | 110 | Alternatively see the GitHub documentation on [creating a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). 111 | 112 | 113 | 114 | 115 | ## 👤 Contributors ✨ 116 | 117 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 132 | 137 | 138 | 139 | 144 | 149 | 150 | 151 | 156 | 161 | 162 |
128 | 129 | 130 | 131 | 133 | 134 | 135 | 136 |
140 | 141 | Lorenzo Carbonell 142 | 143 | 145 | 146 | dtalens 147 | 148 |
152 | 153 | 💻 154 | 155 | 157 | 158 | 🌍 159 | 160 |
163 | 164 | -------------------------------------------------------------------------------- /aboutpage.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env gjs 2 | 3 | /* 4 | * Copyright (c) 2021 Lorenzo Carbonell 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to 8 | * deal in the Software without restriction, including without limitation the 9 | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 | * sell copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | * IN THE SOFTWARE. 23 | */ 24 | 25 | const {Gtk, GLib, GObject, GdkPixbuf, Gio} = imports.gi; 26 | const Extension = imports.misc.extensionUtils.getCurrentExtension(); 27 | const Widgets = Extension.imports.preferenceswidget; 28 | const Gettext = imports.gettext.domain(Extension.metadata['gettext-domain']); 29 | const _ = Gettext.gettext; 30 | 31 | var AboutPage = GObject.registerClass( 32 | { 33 | GTypeName: (Extension.uuid + '.AboutPage').replace(/[\W_]+/g,'_') 34 | }, 35 | class AboutPage extends Widgets.Page{ 36 | _init(){ 37 | super._init(); 38 | this.addLocalImage(Extension.metadata.icon, 100); 39 | const appName = Extension.metadata.name; 40 | this.addLabel(`${appName}`); 41 | this.addLabel(Extension.metadata.description); 42 | 43 | this.addFrame(null, this._getInfoFrame()); 44 | this.addFrame(null, this._getInfoNotebook()); 45 | this.addLinkButton("bmc-button", 150, 46 | "https://www.buymeacoffee.com/atareao", 47 | _("Buy me a coffee")); 48 | } 49 | 50 | _getInfoFrame(){ 51 | const info = new Widgets.Frame(); 52 | info.addLabelRow(Extension.metadata.name + " " + _('Version'), 53 | Extension.metadata.version.toString()); 54 | info.addLabelRow(_("GNOME Version"), 55 | imports.misc.config.PACKAGE_VERSION.toString()); 56 | info.addLabelRow(_("OS"), this._getOS()); 57 | info.addLabelRow(_("SessionType"), this._getSessionType()); 58 | return info; 59 | } 60 | _getInfoNotebook(){ 61 | const infoScrolledWindow = new Gtk.ScrolledWindow({ 62 | marginTop: 10, 63 | maxContentHeight: 250, 64 | minContentHeight: 250, 65 | vexpand: false, 66 | }); 67 | const notebook = new Widgets.Notebook(); 68 | infoScrolledWindow.set_child(notebook); 69 | notebook.append_page(this._getDevelopersPage()); 70 | notebook.append_page(this._getContributorsPage()); 71 | notebook.append_page(this._getSupportersPage()); 72 | notebook.append_page(this._getLicensePage()); 73 | notebook.append_page(this._getDoing()); 74 | return infoScrolledWindow; 75 | } 76 | _getNotebookPage(title, content){ 77 | const page = new Widgets.NotebookPage(title); 78 | const label = new Gtk.Label({ 79 | label: content, 80 | use_markup: true, 81 | halign: Gtk.Align.START, 82 | hexpand: false, 83 | vexpand: false 84 | }); 85 | page.append(label); 86 | return page; 87 | } 88 | _getDevelopersPage(){ 89 | const title = _("Developers"); 90 | const content = ` 91 | Lorenzo Carbonell a.k.a @atareao" 92 | `; 93 | return this._getNotebookPage(title, content); 94 | } 95 | _getContributorsPage(){ 96 | const title = _("Contributors"); 97 | const thanks = _("Thank you to all contributors!"); 98 | const visit = _("For a list of all contributors, please visit"); 99 | const url = Extension.metadata.url; 100 | const name = Extension.metadata.name; 101 | const content = ` 102 | ${thanks} 103 | ${visit} ${name}`; 104 | return this._getNotebookPage(title, content); 105 | } 106 | _getSupportersPage(){ 107 | const title = _("Supporters"); 108 | const thanks = _("Thank you to all supporters!"); 109 | const visit = _("For a list of all supporters, please visit"); 110 | const content = ` 111 | ${thanks} 112 | ${visit} Supporters`; 113 | return this._getNotebookPage(title, content); 114 | } 115 | _getLicensePage(){ 116 | const title = _("License"); 117 | const content = ` 118 | THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 119 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 120 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 121 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 122 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 123 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 124 | IN THE SOFTWARE 125 | `; 126 | return this._getNotebookPage(title, content); 127 | } 128 | _getDoing(){ 129 | const page = new Widgets.NotebookPage(_("More info")); 130 | const box = new Gtk.Box({ 131 | marginStart: 24, 132 | marginEnd: 24, 133 | orientation: Gtk.Orientation.HORIZONTAL, 134 | halign: Gtk.Align.CENTER 135 | }); 136 | const ghurl = Extension.metadata.description; 137 | const ghissue = `${ghurl}/issues`; 138 | 139 | const moreinfo = _("More information"); 140 | page.appendImageWithLabel( 141 | "info", 24, `${moreinfo}`); 142 | const issue = _("Report an issue"); 143 | page.appendImageWithLabel( 144 | "bug", 24, `${issue}`); 145 | 146 | box.append(this._getLinkButton( 147 | "youtube", 48, "https://atareao.es/youtube", "YouTube")); 148 | box.append(this._getLinkButton( 149 | "spotify", 48, "https://atareao.es/spotify", "Spotify")); 150 | box.append(this._getLinkButton( 151 | "github", 48, "https://atareao.es/github", "GitHub")); 152 | box.append(this._getLinkButton( 153 | "twitter", 48, "https://atareao.es/twitter", "Twitter")); 154 | box.append(this._getLinkButton( 155 | "mastodon", 48, "https://atareao.es/mastodon", "Mastodon")); 156 | box.append(this._getLinkButton( 157 | "telegram", 48, "https://atareao.es/telegram", "Telegram")); 158 | box.append(this._getLinkButton( 159 | "atareao", 48, "https://atareao.es", "atareao.es")); 160 | page.append(box); 161 | return page; 162 | } 163 | 164 | _getLinkButton(iconName, pixelSize, uri, tooltip){ 165 | const baseIcon = Extension.path + '/icons/' + iconName; 166 | let fileIcon = Gio.File.new_for_path(baseIcon + '.png') 167 | if(fileIcon.query_exists(null) == false){ 168 | fileIcon = Gio.File.new_for_path(baseIcon + '.svg') 169 | } 170 | if(fileIcon.query_exists(null)){ 171 | const picture = new Gtk.Image({ 172 | marginTop: 15, 173 | marginBottom: 15, 174 | file: fileIcon.get_path(), 175 | pixelSize: pixelSize, 176 | vexpand: false 177 | }); 178 | const linkButton = new Gtk.LinkButton({ 179 | hexpand: false, 180 | vexpand: false, 181 | valign: Gtk.Align.CENTER, 182 | halign: Gtk.Align.CENTER, 183 | child: picture, 184 | uri: uri, 185 | tooltip_text: tooltip 186 | }); 187 | return linkButton; 188 | } 189 | } 190 | 191 | _getOS(){ 192 | let prettyName; 193 | let osName; 194 | let versionID; 195 | let buildID; 196 | if((prettyName = GLib.get_os_info("PRETTY_NAME"))){ 197 | osName = prettyName; 198 | }else{ 199 | osName = GLib.get_os_info("NAME"); 200 | } 201 | if((versionID = GLib.get_os_info("VERSION_ID"))){ 202 | osName += `; Version ID: ${versionID}`; 203 | } 204 | if((buildID = GLib.get_os_info("BUILD_ID"))){ 205 | osName += `; Build ID: ${buildID}`; 206 | } 207 | return osName; 208 | } 209 | 210 | _getSessionType(){ 211 | return Extension.metadata.isWayLand?"Wayland":"X11"; 212 | } 213 | 214 | 215 | } 216 | ); 217 | 218 | -------------------------------------------------------------------------------- /dialogwidgets.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env gjs 2 | 3 | const {GObject, Gtk} = imports.gi; 4 | 5 | const ExtensionUtils = imports.misc.extensionUtils; 6 | const Extension = ExtensionUtils.getCurrentExtension(); 7 | const Gettext = imports.gettext.domain(Extension.uuid); 8 | const _ = Gettext.gettext; 9 | 10 | var KeyValueDialog = GObject.registerClass( 11 | { 12 | GTypeName: (Extension.uuid + '.KeyValueDialog').replace(/[\W_]+/g,'_') 13 | }, 14 | class EntryDialog extends Gtk.Dialog{ 15 | _init(parent, title, keyLabel, valueLabel, key="", value=""){ 16 | super._init({ 17 | title: title, 18 | transientFor: parent.get_root(), 19 | modal: true, 20 | use_header_bar: true 21 | }); 22 | let grid = new Gtk.Grid({ 23 | marginTop: 10, 24 | marginBottom: 10, 25 | marginStart: 10, 26 | marginEnd:10, 27 | columnSpacing: 20, 28 | rowSpacing: 20, 29 | hexpand: true, 30 | vexpand: true, 31 | halign: Gtk.Align.CENTER 32 | }); 33 | grid.insert_after(this.get_content_area(), null); 34 | 35 | let label1 = new Gtk.Label({ 36 | halign: Gtk.Align.START, 37 | label: keyLabel 38 | }); 39 | grid.attach(label1, 0, 0, 1, 1); 40 | this._entry1 = new Gtk.Entry({ 41 | text: key 42 | }); 43 | grid.attach(this._entry1, 1, 0, 1, 1); 44 | 45 | let label2 = new Gtk.Label({ 46 | halign: Gtk.Align.START, 47 | label: valueLabel 48 | }); 49 | grid.attach(label2, 0, 1, 1, 1); 50 | this._entry2 = new Gtk.Entry({ 51 | text: value 52 | }); 53 | grid.attach(this._entry2, 1, 1, 1, 1); 54 | 55 | this.add_button(_('Cancel'), Gtk.ResponseType.CANCEL); 56 | this.add_button(_('Ok'), Gtk.ResponseType.OK); 57 | } 58 | 59 | getKey(){ 60 | return this._entry1.get_text(); 61 | } 62 | setKey(key){ 63 | this._entry1.set_text(key); 64 | } 65 | getValue(){ 66 | return this._entry2.get_text(); 67 | } 68 | setValue(value){ 69 | this._entry2.set_text(value); 70 | } 71 | } 72 | ); 73 | -------------------------------------------------------------------------------- /extension.js: -------------------------------------------------------------------------------- 1 | /* 2 | * wireguard-indicator@atareao.es 3 | * 4 | * Copyright (c) 2020 Lorenzo Carbonell Cerezo 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to 8 | * deal in the Software without restriction, including without limitation the 9 | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 | * sell copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | * IN THE SOFTWARE. 23 | */ 24 | 25 | imports.gi.versions.Gdk = "3.0"; 26 | imports.gi.versions.Gio = "2.0"; 27 | imports.gi.versions.Clutter = "1.0"; 28 | imports.gi.versions.St = "1.0"; 29 | imports.gi.versions.GObject = "3.0"; 30 | imports.gi.versions.GLib = "2.0"; 31 | 32 | const {Gtk, Gdk, Gio, Clutter, St, GObject, GLib} = imports.gi; 33 | 34 | const MessageTray = imports.ui.messageTray; 35 | const Main = imports.ui.main; 36 | const PanelMenu = imports.ui.panelMenu; 37 | const PopupMenu = imports.ui.popupMenu; 38 | const ByteArray = imports.byteArray; 39 | 40 | const ExtensionUtils = imports.misc.extensionUtils; 41 | const Extension = ExtensionUtils.getCurrentExtension(); 42 | const Config = imports.misc.config; 43 | 44 | const Gettext = imports.gettext.domain(Extension.uuid); 45 | const _ = Gettext.gettext; 46 | 47 | var button; 48 | 49 | function notify(msg, details, icon='tasker') { 50 | let source = new MessageTray.Source(Extension.uuid, icon); 51 | Main.messageTray.add(source); 52 | let notification = new MessageTray.Notification(source, msg, details); 53 | notification.setTransient(true); 54 | source.notify(notification); 55 | } 56 | 57 | function getNMCliServices(){ 58 | const services = []; 59 | try { 60 | let [, stdout, stderr, status] = GLib.spawn_command_line_sync('nmcli c show'); 61 | 62 | if (status !== 0) { 63 | if (stderr instanceof Uint8Array) 64 | stderr = ByteArray.toString(stderr); 65 | 66 | throw new Error(stderr); 67 | } 68 | 69 | if (stdout instanceof Uint8Array) 70 | stdout = ByteArray.toString(stdout); 71 | 72 | // Now were done blocking the main loop, phewf! 73 | const lines = stdout.split('\n'); 74 | const name_length = lines[0].indexOf('UUID'); 75 | const uuid_length = lines[0].indexOf('TYPE'); 76 | const type_length = lines[0].indexOf('DEVICE'); 77 | for(let i = 1; i < lines.length; i++){ 78 | const name = lines[i].substring(0, name_length).trim(); 79 | const uuid = lines[i].substring(name_length, uuid_length).trim(); 80 | const type = lines[i].substring(uuid_length, type_length).trim(); 81 | if(type == "wireguard"){ 82 | services.push(`${name}|${uuid}`); 83 | } 84 | } 85 | } catch (e) { 86 | logError(e); 87 | } 88 | return services; 89 | } 90 | 91 | var WireGuardIndicator = GObject.registerClass( 92 | class WireGuardIndicator extends PanelMenu.Button{ 93 | _init(){ 94 | super._init(St.Align.START); 95 | this._settings = ExtensionUtils.getSettings(); 96 | this._isActive = null; 97 | 98 | /* Icon indicator */ 99 | const icons_folder_path = Extension.dir.get_child('icons').get_path(); 100 | if (Config.PACKAGE_VERSION.startsWith("44")){ 101 | const iconTheme = new St.IconTheme(); 102 | if (!iconTheme.get_search_path().includes(icons_folder_path)) { 103 | iconTheme.append_search_path(icons_folder_path); 104 | } 105 | iconTheme.rescan_if_needed(); 106 | }else{ 107 | const iconTheme = new Gtk.IconTheme(); 108 | iconTheme.set_custom_theme(St.Settings.get().gtk_icon_theme); 109 | iconTheme.append_search_path(icons_folder_path); 110 | } 111 | 112 | let box = new St.BoxLayout(); 113 | let label = new St.Label({text: 'Button', 114 | y_expand: true, 115 | y_align: Clutter.ActorAlign.CENTER }); 116 | //box.add(label); 117 | this.icon = new St.Icon({style_class: 'system-status-icon'}); 118 | box.add(this.icon); 119 | this.add_child(box); 120 | /* Start Menu */ 121 | this.wireGuardSwitch = new PopupMenu.PopupSwitchMenuItem( 122 | _('Wireguard status'), 123 | {active: true}); 124 | //this.menu.addMenuItem(this.wireGuardSwitch); 125 | this.services_section = new PopupMenu.PopupMenuSection(); 126 | this.menu.addMenuItem(this.services_section); 127 | /* Separator */ 128 | this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); 129 | /* Setings */ 130 | this.settingsMenuItem = new PopupMenu.PopupMenuItem(_("Settings")); 131 | this.settingsMenuItem.connect('activate', () => { 132 | ExtensionUtils.openPrefs(); 133 | }); 134 | this.menu.addMenuItem(this.settingsMenuItem); 135 | /* Init */ 136 | this._sourceId = 0; 137 | this._settingsChanged(); 138 | this._settings.connect('changed', 139 | this._settingsChanged.bind(this)); 140 | } 141 | _loadConfiguration(){ 142 | this._usenmcli = this._getValue('nmcli'); 143 | if(this._usenmcli){ 144 | this._services = getNMCliServices(); 145 | }else{ 146 | this._services = this._getValue('services'); 147 | } 148 | this._usesudo = this._getValue('sudo'); 149 | this._checktime = this._getValue('checktime'); 150 | if(this._checktime < 5){ 151 | this._checktime = 5; 152 | }else if (this._checktime > 600){ 153 | this._checktime = 600; 154 | } 155 | this._darkthem = this._getValue('darktheme') 156 | this._servicesSwitches = []; 157 | this.services_section.actor.hide(); 158 | if(this.services_section.numMenuItems > 0){ 159 | this.services_section.removeAll(); 160 | } 161 | this._services.forEach((item, index, array)=>{ 162 | let [name, service] = item.split('|'); 163 | let serviceSwitch = new PopupMenu.PopupSwitchMenuItem( 164 | name, 165 | {active: false}); 166 | serviceSwitch.label.set_name(service); 167 | serviceSwitch.connect('toggled', this._toggleSwitch.bind(this)); 168 | this._servicesSwitches.push(serviceSwitch); 169 | this.services_section.addMenuItem(serviceSwitch); 170 | this.services_section.actor.show(); 171 | }); 172 | } 173 | _checkStatus(){ 174 | let isActive = false; 175 | this._servicesSwitches.forEach((serviceSwitch)=>{ 176 | if(serviceSwitch.state){ 177 | isActive = true; 178 | return; 179 | } 180 | }); 181 | if(this._isActive == null || this._isActive != isActive){ 182 | this._isActive = isActive; 183 | this._set_icon_indicator(this._isActive); 184 | } 185 | } 186 | _toggleSwitch(widget, value){ 187 | try { 188 | let service = widget.label.get_name(); 189 | let command; 190 | if(this._usenmcli){ 191 | const setstatus = ((value == true) ? 'up': 'down'); 192 | command = ['nmcli', 'c', setstatus, 'uuid', service] 193 | }else{ 194 | const setstatus = ((value == true) ? 'start': 'stop'); 195 | command = ['systemctl', setstatus, service]; 196 | if(this._usesudo){ 197 | command.unshift('sudo'); 198 | } 199 | } 200 | let proc = Gio.Subprocess.new( 201 | command, 202 | Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE 203 | ); 204 | proc.communicate_utf8_async(null, null, (proc, res) => { 205 | try{ 206 | let [, stdout, stderr] = proc.communicate_utf8_finish(res); 207 | this._update(); 208 | }catch(e){ 209 | logError(e); 210 | } 211 | }); 212 | } catch (e) { 213 | logError(e); 214 | } 215 | } 216 | 217 | _getValue(keyName){ 218 | return this._settings.get_value(keyName).deep_unpack(); 219 | } 220 | 221 | _update(){ 222 | this._servicesSwitches.forEach((serviceSwitch, index, array)=>{ 223 | let service = serviceSwitch.label.name; 224 | try{ 225 | let command; 226 | if(this._usenmcli){ 227 | command = ['nmcli', 'c', 'show', '--active', 'uuid', service]; 228 | }else{ 229 | command = ['systemctl', 'status', service]; 230 | } 231 | let proc = Gio.Subprocess.new( 232 | command, 233 | Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE 234 | ); 235 | proc.communicate_utf8_async(null, null, (proc, res) => { 236 | try { 237 | let [, stdout, stderr] = proc.communicate_utf8_finish(res); 238 | let active; 239 | if(this._usenmcli){ 240 | active = stdout.length > 0; 241 | }else{ 242 | active = (stdout.indexOf('Active: active') > -1); 243 | } 244 | GObject.signal_handlers_block_by_func(serviceSwitch, 245 | this._toggleSwitch); 246 | serviceSwitch.setToggleState(active); 247 | GObject.signal_handlers_unblock_by_func(serviceSwitch, 248 | this._toggleSwitch); 249 | this._checkStatus(); 250 | } catch (e) { 251 | logError(e); 252 | } 253 | }); 254 | } catch (e) { 255 | logError(e); 256 | } 257 | }); 258 | return true; 259 | } 260 | 261 | _set_icon_indicator(active){ 262 | let darktheme = this._getValue('darktheme'); 263 | let theme_string = (darktheme?'dark': 'light'); 264 | let status_string = (active?'active':'paused') 265 | let icon_string = 'wireguard-' + status_string + '-' + theme_string; 266 | this.icon.set_gicon(this._get_icon(icon_string)); 267 | } 268 | 269 | _get_icon(icon_name){ 270 | let base_icon = Extension.path + '/icons/' + icon_name; 271 | let file_icon = Gio.File.new_for_path(base_icon + '.png') 272 | if(file_icon.query_exists(null) == false){ 273 | file_icon = Gio.File.new_for_path(base_icon + '.svg') 274 | } 275 | if(file_icon.query_exists(null) == false){ 276 | return null; 277 | } 278 | let icon = Gio.icon_new_for_string(file_icon.get_path()); 279 | return icon; 280 | } 281 | 282 | _settingsChanged(){ 283 | this._loadConfiguration(); 284 | this._update(); 285 | if(this._sourceId > 0){ 286 | GLib.source_remove(this._sourceId); 287 | } 288 | this._sourceId = GLib.timeout_add_seconds( 289 | GLib.PRIORITY_DEFAULT, this._checktime, 290 | this._update.bind(this)); 291 | } 292 | 293 | disableUpdate(){ 294 | if(this._sourceId > 0){ 295 | GLib.source_remove(this._sourceId); 296 | } 297 | } 298 | } 299 | ); 300 | 301 | let wireGuardIndicator; 302 | 303 | function init(){ 304 | ExtensionUtils.initTranslations(); 305 | } 306 | 307 | function enable(){ 308 | wireGuardIndicator = new WireGuardIndicator(); 309 | Main.panel.addToStatusArea('wireGuardIndicator', wireGuardIndicator, 0, 'right'); 310 | } 311 | 312 | function disable() { 313 | wireGuardIndicator.disableUpdate(); 314 | wireGuardIndicator.destroy(); 315 | } 316 | -------------------------------------------------------------------------------- /icons/atareao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/icons/atareao.png -------------------------------------------------------------------------------- /icons/bmc-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 39 | 44 | 49 | 54 | 59 | 62 | 66 | 70 | 71 | 74 | 79 | 84 | 89 | 93 | 97 | 101 | 105 | 109 | 113 | 117 | 121 | 125 | 129 | 133 | 134 | 135 | -------------------------------------------------------------------------------- /icons/bug.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml 24 | 25 | 26 | 27 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 71 | 73 | 75 | 77 | 79 | 81 | 83 | 85 | 87 | 89 | 91 | 93 | 95 | 97 | 99 | 103 | -------------------------------------------------------------------------------- /icons/github.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 43 | 45 | 46 | 48 | image/svg+xml 49 | 51 | 52 | 53 | 54 | 59 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /icons/info.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 42 | 44 | 45 | 47 | image/svg+xml 48 | 50 | 51 | 52 | 53 | 54 | 59 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /icons/mastodon.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 23 | 25 | image/svg+xml 26 | 28 | 29 | 30 | 31 | 33 | 56 | 61 | 62 | -------------------------------------------------------------------------------- /icons/spotify.svg: -------------------------------------------------------------------------------- 1 | 2 | 66 | -------------------------------------------------------------------------------- /icons/telegram.svg: -------------------------------------------------------------------------------- 1 | 2 | 62 | -------------------------------------------------------------------------------- /icons/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 43 | 45 | 46 | 48 | image/svg+xml 49 | 51 | 52 | 53 | 54 | 59 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /icons/wireguard-active-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 36 | 56 | 63 | 66 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /icons/wireguard-active-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 36 | 56 | 63 | 66 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /icons/wireguard-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/icons/wireguard-icon.png -------------------------------------------------------------------------------- /icons/wireguard-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/wireguard-paused-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 36 | 56 | 63 | 66 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /icons/wireguard-paused-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | 24 | 25 | 27 | image/svg+xml 28 | 30 | 31 | 32 | 33 | 34 | 36 | 56 | 63 | 66 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /icons/youtube.svg: -------------------------------------------------------------------------------- 1 | 2 | 20 | 22 | 43 | 45 | 46 | 48 | image/svg+xml 49 | 51 | 52 | 53 | 54 | 59 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /locale/ca/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/ca/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/de/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/de/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/es/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/es/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/fi/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/fi/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/fr/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/fr/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/hu/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/hu/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/it/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/it/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/nl/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/nl/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /locale/ru/LC_MESSAGES/wireguard-indicator@atareao.es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/locale/ru/LC_MESSAGES/wireguard-indicator@atareao.es.mo -------------------------------------------------------------------------------- /metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Manage WireGuard VPN from Desktop", 3 | "extension-id": "wireguard-indicator@atareao.es", 4 | "gettext-domain": "wireguard-indicator@atareao.es", 5 | "name": "WireGuard Indicator", 6 | "settings-schema": "org.gnome.shell.extensions.atareao.wireguard-indicator", 7 | "shell-version": ["40", "41", "42", "43", "44"], 8 | "url": "https://github.com/atareao/wireguard-indicator", 9 | "uuid": "wireguard-indicator@atareao.es", 10 | "icon": "wireguard-icon", 11 | "version": 14 12 | } 13 | -------------------------------------------------------------------------------- /po/ca.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: WireGuard Indicator\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2021-02-23 11:05+0100\n" 12 | "Last-Translator: Dani Talens \n" 13 | "Language-Team: Català\n" 14 | "Language: ca\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.4.1\n" 19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | #, fuzzy 23 | msgid "Services name" 24 | msgstr "Nom del servei" 25 | 26 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 27 | #, fuzzy 28 | msgid "Set the name of the systemd services" 29 | msgstr "Indica el nom del servei Systemd de WireGuard" 30 | 31 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 32 | msgid "Use nmcli" 33 | msgstr "" 34 | 35 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 36 | msgid "Use nmcli to manage WireGuard connections" 37 | msgstr "" 38 | 39 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 40 | msgid "Use sudo" 41 | msgstr "" 42 | 43 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 44 | msgid "Enable use sudo with service" 45 | msgstr "" 46 | 47 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 48 | msgid "Check time" 49 | msgstr "Interval de comprovació" 50 | 51 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 52 | msgid "Set the check time to test the WireGuard status" 53 | msgstr "Indica l'interval de comprovació de Wireguard" 54 | 55 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 56 | msgid "Dark theme" 57 | msgstr "Tema fosc" 58 | 59 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 60 | msgid "Enable dark theme otherwise light theme" 61 | msgstr "Estableix el tema fosc" 62 | 63 | #: dialogwidgets.js:55 64 | msgid "Cancel" 65 | msgstr "" 66 | 67 | #: dialogwidgets.js:56 68 | msgid "Ok" 69 | msgstr "" 70 | 71 | #, fuzzy 72 | #~ msgid "Service" 73 | #~ msgstr "Nom del servei" 74 | 75 | #, fuzzy 76 | #~ msgid "Services" 77 | #~ msgstr "Nom del servei" 78 | 79 | #, fuzzy 80 | #~ msgid "WireGuard Preferences" 81 | #~ msgstr "Preferències" 82 | 83 | #~ msgid "About" 84 | #~ msgstr "Quant a" 85 | 86 | #, fuzzy 87 | #~ msgid "WireGuard Indicator Configuration" 88 | #~ msgstr "Indicador de WireGuard" 89 | 90 | #~ msgid "Nothing" 91 | #~ msgstr "Res" 92 | 93 | #~ msgid "True" 94 | #~ msgstr "Vertader" 95 | 96 | #~ msgid "False" 97 | #~ msgstr "Fals" 98 | 99 | #, fuzzy 100 | #~ msgid "Version" 101 | #~ msgstr "Versió: " 102 | 103 | #, fuzzy 104 | #~ msgid "GNOME Version" 105 | #~ msgstr "Versió: " 106 | 107 | #, fuzzy 108 | #~ msgid "Report an issue" 109 | #~ msgstr "Notifica un error." 110 | 111 | #~ msgid "Wireguard status" 112 | #~ msgstr "Estat de Wireguard" 113 | 114 | #~ msgid "Settings" 115 | #~ msgstr "Configuració" 116 | 117 | #~ msgid "Help" 118 | #~ msgstr "Ajuda" 119 | 120 | #~ msgid "Project Page" 121 | #~ msgstr "Pàgina del projecte" 122 | 123 | #~ msgid "Get help online..." 124 | #~ msgstr "Cerca ajuda en línia." 125 | 126 | #~ msgid "El atareao" 127 | #~ msgstr "El atareao" 128 | 129 | #~ msgid "GitHub" 130 | #~ msgstr "GitHub" 131 | 132 | #~ msgid "Twitter" 133 | #~ msgstr "Twitter" 134 | 135 | #~ msgid "Telegram" 136 | #~ msgstr "Telegram" 137 | 138 | #~ msgid "Mastodon" 139 | #~ msgstr "Mastodon" 140 | 141 | #~ msgid "Spotify" 142 | #~ msgstr "Spotify" 143 | 144 | #~ msgid "YouTube" 145 | #~ msgstr "YouTube" 146 | 147 | #~ msgid "Atareao" 148 | #~ msgstr "Atareao" 149 | 150 | #~ msgid "Copyright © 2020 Lorenzo Carbonell" 151 | #~ msgstr "Copyright © 2020 Lorenzo Carbonell" 152 | 153 | #~ msgid "" 154 | #~ "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " 155 | #~ "OR\n" 156 | #~ msgstr "" 157 | #~ "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS " 158 | #~ "OR\n" 159 | 160 | #~ msgid "" 161 | #~ "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" 162 | #~ msgstr "" 163 | #~ "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" 164 | 165 | #~ msgid "" 166 | #~ "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL " 167 | #~ "THE\n" 168 | #~ msgstr "" 169 | #~ "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL " 170 | #~ "THE\n" 171 | 172 | #~ msgid "" 173 | #~ "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" 174 | #~ msgstr "" 175 | #~ "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" 176 | 177 | #~ msgid "" 178 | #~ "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n" 179 | #~ msgstr "" 180 | #~ "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n" 181 | 182 | #~ msgid "" 183 | #~ "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER " 184 | #~ "DEALINGS\n" 185 | #~ msgstr "" 186 | #~ "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER " 187 | #~ "DEALINGS\n" 188 | 189 | #~ msgid "IN THE SOFTWARE.\n" 190 | #~ msgstr "IN THE SOFTWARE.\n" 191 | 192 | #~ msgid "Indicator options" 193 | #~ msgstr "Opcions de l'indicador" 194 | 195 | #~ msgid "General options" 196 | #~ msgstr "Opcions generals" 197 | 198 | #~ msgid "Enable WireGuard" 199 | #~ msgstr "Activa WireGuard" 200 | 201 | #~ msgid "Disable WireGuard" 202 | #~ msgstr "Desactiva WireGuard" 203 | -------------------------------------------------------------------------------- /po/de.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2022-04-06 12:21+0200\n" 12 | "Last-Translator: \n" 13 | "Language-Team: \n" 14 | "Language: de\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | "X-Generator: Poedit 3.0.1\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | msgid "Services name" 23 | msgstr "Dienstname" 24 | 25 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 26 | msgid "Set the name of the systemd services" 27 | msgstr "Legen Sie den Namen der systemd-Dienste fest" 28 | 29 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 30 | msgid "Use nmcli" 31 | msgstr "Verwende nmcli" 32 | 33 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 34 | msgid "Use nmcli to manage WireGuard connections" 35 | msgstr "Verwende nmcli um WireGuard Verbindungen zu verwalten" 36 | 37 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 38 | msgid "Use sudo" 39 | msgstr "Benutze sudo" 40 | 41 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 42 | msgid "Enable use sudo with service" 43 | msgstr "Aktiviere die Verwendung von sudo mit dem Dienst" 44 | 45 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 46 | msgid "Check time" 47 | msgstr "Zeit kontrollieren" 48 | 49 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 50 | msgid "Set the check time to test the WireGuard status" 51 | msgstr "Lege die Prüfzeit fest, um den WireGuard-Status zu testen" 52 | 53 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 54 | msgid "Dark theme" 55 | msgstr "Dunkles Theme" 56 | 57 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 58 | msgid "Enable dark theme otherwise light theme" 59 | msgstr "Dunkles Theme aktivieren sonst helles Theme" 60 | 61 | #: dialogwidgets.js:55 62 | msgid "Cancel" 63 | msgstr "Abbrechen" 64 | 65 | #: dialogwidgets.js:56 66 | msgid "Ok" 67 | msgstr "Ok" 68 | 69 | #~ msgid "Name" 70 | #~ msgstr "Name" 71 | 72 | #~ msgid "Service" 73 | #~ msgstr "Dienst" 74 | 75 | #~ msgid "nmcli" 76 | #~ msgstr "nmcli" 77 | 78 | #~ msgid "Sudo" 79 | #~ msgstr "Sudo" 80 | 81 | #~ msgid "Services" 82 | #~ msgstr "Dienste" 83 | 84 | #~ msgid "Add" 85 | #~ msgstr "Hinzufügen" 86 | 87 | #~ msgid "Add more services" 88 | #~ msgstr "Weitere Dienste hinzufügen" 89 | 90 | #~ msgid "Theme" 91 | #~ msgstr "Theme" 92 | 93 | #~ msgid "WireGuard Preferences" 94 | #~ msgstr "WireGuard-Einstellungen" 95 | 96 | #~ msgid "Style" 97 | #~ msgstr "Stil" 98 | 99 | #~ msgid "About" 100 | #~ msgstr "Über" 101 | 102 | #~ msgid "WireGuard Indicator Configuration" 103 | #~ msgstr "WireGuard-Indikator-Konfiguration" 104 | 105 | #~ msgid "Nothing" 106 | #~ msgstr "Nichts" 107 | 108 | #~ msgid "True" 109 | #~ msgstr "Wahr" 110 | 111 | #~ msgid "False" 112 | #~ msgstr "Falsch" 113 | 114 | #~ msgid "Edit" 115 | #~ msgstr "Bearbeiten" 116 | 117 | #~ msgid "Remove" 118 | #~ msgstr "Entfernen" 119 | 120 | #~ msgid "Buy me a coffee" 121 | #~ msgstr "Kauf mir einen Kaffee" 122 | 123 | #~ msgid "Version" 124 | #~ msgstr "Version" 125 | 126 | #~ msgid "GNOME Version" 127 | #~ msgstr "GNOME Version" 128 | 129 | #~ msgid "OS" 130 | #~ msgstr "OS" 131 | 132 | #~ msgid "SessionType" 133 | #~ msgstr "SitzungsTyp" 134 | 135 | #~ msgid "Developers" 136 | #~ msgstr "Entwickler" 137 | 138 | #~ msgid "Contributors" 139 | #~ msgstr "Mitwirkende" 140 | 141 | #~ msgid "Thank you to all contributors!" 142 | #~ msgstr "Vielen Dank an alle Mitwirkenden!" 143 | 144 | #~ msgid "For a list of all contributors, please visit" 145 | #~ msgstr "Für eine Liste aller Mitwirkenden, besuchen Sie bitte" 146 | 147 | #~ msgid "Supporters" 148 | #~ msgstr "Unterstützer" 149 | 150 | #~ msgid "Thank you to all supporters!" 151 | #~ msgstr "Vielen Dank an alle Unterstützer!" 152 | 153 | #~ msgid "For a list of all supporters, please visit" 154 | #~ msgstr "Für eine Liste aller Unterstützer, besuchen Sie bitte" 155 | 156 | #~ msgid "License" 157 | #~ msgstr "Lizenz" 158 | 159 | #~ msgid "More info" 160 | #~ msgstr "Mehr Informationen" 161 | 162 | #~ msgid "More information" 163 | #~ msgstr "Mehr Informationen" 164 | 165 | #~ msgid "Report an issue" 166 | #~ msgstr "Ein Problem melden" 167 | 168 | #~ msgid "Wireguard status" 169 | #~ msgstr "Wireguard Status" 170 | 171 | #~ msgid "Settings" 172 | #~ msgstr "Einstellungen" 173 | -------------------------------------------------------------------------------- /po/es.po: -------------------------------------------------------------------------------- 1 | # Spanish translations for WireGuard Indicator package. 2 | # Copyright (C) 2020 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # Lorenzo , 2020. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: WireGuard Indicator - 1\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2020-09-15 19:23+0200\n" 12 | "Last-Translator: Lorenzo \n" 13 | "Language-Team: Spanish\n" 14 | "Language: es\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | 20 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 21 | msgid "Services name" 22 | msgstr "Nombre de los servicios" 23 | 24 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 25 | msgid "Set the name of the systemd services" 26 | msgstr "Indica el nombre del servicio Systemd de WireGuard" 27 | 28 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 29 | msgid "Use nmcli" 30 | msgstr "Utiliza nmcli" 31 | 32 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 33 | msgid "Use nmcli to manage WireGuard connections" 34 | msgstr "Utiliza nmcli para gestionar las conexiones a WireGuard" 35 | 36 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 37 | msgid "Use sudo" 38 | msgstr "Utiliza sudo" 39 | 40 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 41 | msgid "Enable use sudo with service" 42 | msgstr "Habilita el uso de sudo con el servicio" 43 | 44 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 45 | msgid "Check time" 46 | msgstr "Intervalo de comprobación" 47 | 48 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 49 | msgid "Set the check time to test the WireGuard status" 50 | msgstr "Indica el intervalo de comprobación de WireGuard" 51 | 52 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 53 | msgid "Dark theme" 54 | msgstr "Tema oscuro" 55 | 56 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 57 | msgid "Enable dark theme otherwise light theme" 58 | msgstr "Establece el tema oscuro" 59 | 60 | #: dialogwidgets.js:55 61 | msgid "Cancel" 62 | msgstr "Cancelar" 63 | 64 | #: dialogwidgets.js:56 65 | msgid "Ok" 66 | msgstr "Aceptar" 67 | 68 | #~ msgid "Name" 69 | #~ msgstr "Nombre" 70 | 71 | #~ msgid "Service" 72 | #~ msgstr "Servicio" 73 | 74 | #~ msgid "nmcli" 75 | #~ msgstr "nmcli" 76 | 77 | #~ msgid "Sudo" 78 | #~ msgstr "Sudo" 79 | 80 | #~ msgid "Services" 81 | #~ msgstr "Servicios" 82 | 83 | #~ msgid "Add" 84 | #~ msgstr "Añadir" 85 | 86 | #~ msgid "Add more services" 87 | #~ msgstr "Añadir mas servicios" 88 | 89 | #~ msgid "Theme" 90 | #~ msgstr "Tema" 91 | 92 | #~ msgid "WireGuard Preferences" 93 | #~ msgstr "Preferencias de WireGuard" 94 | 95 | #~ msgid "Style" 96 | #~ msgstr "Estilo" 97 | 98 | #~ msgid "About" 99 | #~ msgstr "Acerca de" 100 | 101 | #~ msgid "WireGuard Indicator Configuration" 102 | #~ msgstr "Configuración de WireGuard" 103 | 104 | #~ msgid "Nothing" 105 | #~ msgstr "Nada" 106 | 107 | #~ msgid "True" 108 | #~ msgstr "Cierto" 109 | 110 | #~ msgid "False" 111 | #~ msgstr "Falso" 112 | 113 | #~ msgid "Edit" 114 | #~ msgstr "Editar" 115 | 116 | #~ msgid "Remove" 117 | #~ msgstr "Eliminar" 118 | 119 | #~ msgid "Buy me a coffee" 120 | #~ msgstr "Apoya con un café" 121 | 122 | #~ msgid "Version" 123 | #~ msgstr "Versión" 124 | 125 | #~ msgid "GNOME Version" 126 | #~ msgstr "Versión de GNOME" 127 | 128 | #~ msgid "OS" 129 | #~ msgstr "OS" 130 | 131 | #~ msgid "SessionType" 132 | #~ msgstr "Tipo de sesión" 133 | 134 | #~ msgid "Developers" 135 | #~ msgstr "Desarrolladores" 136 | 137 | #~ msgid "Contributors" 138 | #~ msgstr "Contribuidores" 139 | 140 | #~ msgid "Thank you to all contributors!" 141 | #~ msgstr "Gracias a todos los contribuidores!" 142 | 143 | #~ msgid "For a list of all contributors, please visit" 144 | #~ msgstr "Para ver una lista de todos los contribuidores, por favor visita" 145 | 146 | #~ msgid "Supporters" 147 | #~ msgstr "Colaboradores" 148 | 149 | #~ msgid "Thank you to all supporters!" 150 | #~ msgstr "Gracias a todos los colaboradores!" 151 | 152 | #~ msgid "For a list of all supporters, please visit" 153 | #~ msgstr "Para ver una lista de todos los colaboradores, por favor visita" 154 | 155 | #~ msgid "License" 156 | #~ msgstr "Licencia" 157 | 158 | #~ msgid "More info" 159 | #~ msgstr "Mas información" 160 | 161 | #~ msgid "More information" 162 | #~ msgstr "Mas información" 163 | 164 | #~ msgid "Report an issue" 165 | #~ msgstr "Informa de un error..." 166 | 167 | #~ msgid "Wireguard status" 168 | #~ msgstr "Estado de Wireguard" 169 | 170 | #~ msgid "Settings" 171 | #~ msgstr "Configuración" 172 | -------------------------------------------------------------------------------- /po/fi.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2022-07-04 21:32+0300\n" 12 | "Last-Translator: \n" 13 | "Language-Team: \n" 14 | "Language: fi\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | "X-Generator: Poedit 3.1\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | msgid "Services name" 23 | msgstr "Palvelun nimi" 24 | 25 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 26 | msgid "Set the name of the systemd services" 27 | msgstr "Aseta systemd järjestelmäpalvelun nimi" 28 | 29 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 30 | msgid "Use nmcli" 31 | msgstr "Käytä nmcli palvelua" 32 | 33 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 34 | msgid "Use nmcli to manage WireGuard connections" 35 | msgstr "Käytä nmcli palvelua WireGuard yhteyksien hallintaan" 36 | 37 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 38 | msgid "Use sudo" 39 | msgstr "Käytä sudo oikeuksia" 40 | 41 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 42 | msgid "Enable use sudo with service" 43 | msgstr "Käytä järjestelmäpalvelun hallinnan yhteydessä sudo oikeuksia" 44 | 45 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 46 | msgid "Check time" 47 | msgstr "Tarkista aika" 48 | 49 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 50 | msgid "Set the check time to test the WireGuard status" 51 | msgstr "Aseta tarkistusaika WireGuard yhteyden tilan tarkistamiselle" 52 | 53 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 54 | msgid "Dark theme" 55 | msgstr "Tumma teema" 56 | 57 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 58 | msgid "Enable dark theme otherwise light theme" 59 | msgstr "Käytä tummaa teemaa, muutoin vaaleaa teemaa" 60 | 61 | #: dialogwidgets.js:55 62 | msgid "Cancel" 63 | msgstr "Peruuta" 64 | 65 | #: dialogwidgets.js:56 66 | msgid "Ok" 67 | msgstr "Ok" 68 | 69 | #~ msgid "Name" 70 | #~ msgstr "Nimi" 71 | 72 | #~ msgid "Service" 73 | #~ msgstr "Palvelu" 74 | 75 | #~ msgid "nmcli" 76 | #~ msgstr "nmcli" 77 | 78 | #~ msgid "Sudo" 79 | #~ msgstr "Sudo" 80 | 81 | #~ msgid "Services" 82 | #~ msgstr "Palvelut" 83 | 84 | #~ msgid "Add" 85 | #~ msgstr "Lisää" 86 | 87 | #~ msgid "Add more services" 88 | #~ msgstr "Lisää uusia palveluita" 89 | 90 | #~ msgid "Theme" 91 | #~ msgstr "Teema" 92 | 93 | #~ msgid "WireGuard Preferences" 94 | #~ msgstr "WireGuard asetukset" 95 | 96 | #~ msgid "Style" 97 | #~ msgstr "Tyyli" 98 | 99 | #~ msgid "About" 100 | #~ msgstr "Tietoja" 101 | 102 | #~ msgid "WireGuard Indicator Configuration" 103 | #~ msgstr "WireGuard indikaattorin asetukset" 104 | 105 | #~ msgid "Nothing" 106 | #~ msgstr "Ei mitään" 107 | 108 | #~ msgid "True" 109 | #~ msgstr "Tosi" 110 | 111 | #~ msgid "False" 112 | #~ msgstr "Epätosi" 113 | 114 | #~ msgid "Edit" 115 | #~ msgstr "Muokkaa" 116 | 117 | #~ msgid "Remove" 118 | #~ msgstr "Poista" 119 | 120 | #~ msgid "Buy me a coffee" 121 | #~ msgstr "Tarjoa kahvi" 122 | 123 | #~ msgid "Version" 124 | #~ msgstr "Versio" 125 | 126 | #~ msgid "GNOME Version" 127 | #~ msgstr "GNOME versio" 128 | 129 | #~ msgid "OS" 130 | #~ msgstr "Käyttöjärjestelmäversio" 131 | 132 | #~ msgid "SessionType" 133 | #~ msgstr "Istunnon tyyppi" 134 | 135 | #~ msgid "Developers" 136 | #~ msgstr "Kehittäjät" 137 | 138 | #~ msgid "Contributors" 139 | #~ msgstr "Tukijat" 140 | 141 | #~ msgid "Thank you to all contributors!" 142 | #~ msgstr "Kiitos kaikille tukijoille" 143 | 144 | #~ msgid "For a list of all contributors, please visit" 145 | #~ msgstr "Listan kaikista tukijoista löydät" 146 | 147 | #~ msgid "Supporters" 148 | #~ msgstr "Tukijat" 149 | 150 | #~ msgid "Thank you to all supporters!" 151 | #~ msgstr "Kiitos kaikille tukijoille" 152 | 153 | #~ msgid "For a list of all supporters, please visit" 154 | #~ msgstr "Listan kaikista tukijoista löydät" 155 | 156 | #~ msgid "License" 157 | #~ msgstr "Lisenssi" 158 | 159 | #~ msgid "More info" 160 | #~ msgstr "Lisätietoa" 161 | 162 | #~ msgid "More information" 163 | #~ msgstr "Lisätietoja" 164 | 165 | #~ msgid "Report an issue" 166 | #~ msgstr "Ilmoita ongelmasta" 167 | 168 | #~ msgid "Wireguard status" 169 | #~ msgstr "Wireguardin tila" 170 | 171 | #~ msgid "Settings" 172 | #~ msgstr "Asetukset" 173 | -------------------------------------------------------------------------------- /po/fr.po: -------------------------------------------------------------------------------- 1 | # French translations for WireGuard Indicator package. 2 | # Copyright (C) 2022 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # Mastiggia , 2022. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: WireGuard Indicator\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2022-04-16 09:49+0200\n" 12 | "Last-Translator: Mastiggia \n" 13 | "Language-Team: French\n" 14 | "Language: fr\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 19 | "X-Generator: Poedit 3.0.1\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | msgid "Services name" 23 | msgstr "Nom du service" 24 | 25 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 26 | msgid "Set the name of the systemd services" 27 | msgstr "Définir le nom des services systemd" 28 | 29 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 30 | msgid "Use nmcli" 31 | msgstr "Utiliser nmcli" 32 | 33 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 34 | msgid "Use nmcli to manage WireGuard connections" 35 | msgstr "Utiliser nmcli pour gérer les connexions WireGuard" 36 | 37 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 38 | msgid "Use sudo" 39 | msgstr "Utiliser sudo" 40 | 41 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 42 | msgid "Enable use sudo with service" 43 | msgstr "Activer l'utilisation de sudo avec le service" 44 | 45 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 46 | msgid "Check time" 47 | msgstr "Période de vérification" 48 | 49 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 50 | msgid "Set the check time to test the WireGuard status" 51 | msgstr "Définissez la période de vérification pour tester l'état de WireGuard" 52 | 53 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 54 | msgid "Dark theme" 55 | msgstr "Thème sombre" 56 | 57 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 58 | msgid "Enable dark theme otherwise light theme" 59 | msgstr "Activer le thème sombre sinon le thème clair" 60 | 61 | #: dialogwidgets.js:55 62 | msgid "Cancel" 63 | msgstr "Annuler" 64 | 65 | #: dialogwidgets.js:56 66 | msgid "Ok" 67 | msgstr "Ok" 68 | 69 | #~ msgid "Name" 70 | #~ msgstr "Nom" 71 | 72 | #~ msgid "Service" 73 | #~ msgstr "Service" 74 | 75 | #~ msgid "nmcli" 76 | #~ msgstr "nmcli" 77 | 78 | #~ msgid "Sudo" 79 | #~ msgstr "Sudo" 80 | 81 | #~ msgid "Services" 82 | #~ msgstr "Services" 83 | 84 | #~ msgid "Add" 85 | #~ msgstr "Ajouter" 86 | 87 | #~ msgid "Add more services" 88 | #~ msgstr "Ajouter plus de services" 89 | 90 | #~ msgid "Theme" 91 | #~ msgstr "Thème" 92 | 93 | #~ msgid "WireGuard Preferences" 94 | #~ msgstr "Préférences WireGuard" 95 | 96 | #~ msgid "Style" 97 | #~ msgstr "Style" 98 | 99 | #~ msgid "About" 100 | #~ msgstr "À propos de" 101 | 102 | #~ msgid "WireGuard Indicator Configuration" 103 | #~ msgstr "Configuration de WireGuard Indicator" 104 | 105 | #~ msgid "Nothing" 106 | #~ msgstr "Rien" 107 | 108 | #~ msgid "True" 109 | #~ msgstr "True" 110 | 111 | #~ msgid "False" 112 | #~ msgstr "Faux" 113 | 114 | #~ msgid "Edit" 115 | #~ msgstr "Éditer" 116 | 117 | #~ msgid "Remove" 118 | #~ msgstr "Supprimer" 119 | 120 | #~ msgid "Buy me a coffee" 121 | #~ msgstr "Offrez moi un café" 122 | 123 | #~ msgid "Version" 124 | #~ msgstr "Version" 125 | 126 | #~ msgid "GNOME Version" 127 | #~ msgstr "Version GNOME" 128 | 129 | #~ msgid "OS" 130 | #~ msgstr "OS" 131 | 132 | #~ msgid "SessionType" 133 | #~ msgstr "Type de session" 134 | 135 | #~ msgid "Developers" 136 | #~ msgstr "Développeurs" 137 | 138 | #~ msgid "Contributors" 139 | #~ msgstr "Contributeurs" 140 | 141 | #~ msgid "Thank you to all contributors!" 142 | #~ msgstr "Merci à tous les contributeurs !" 143 | 144 | #~ msgid "For a list of all contributors, please visit" 145 | #~ msgstr "Pour une liste de tous les contributeurs, veuillez visiter" 146 | 147 | #~ msgid "Supporters" 148 | #~ msgstr "Supporters" 149 | 150 | #~ msgid "Thank you to all supporters!" 151 | #~ msgstr "Merci à tous les supporters !" 152 | 153 | #~ msgid "For a list of all supporters, please visit" 154 | #~ msgstr "Pour une liste de tous les supporters, veuillez visiter" 155 | 156 | #~ msgid "License" 157 | #~ msgstr "Licence" 158 | 159 | #~ msgid "More info" 160 | #~ msgstr "Plus d'infos" 161 | 162 | #~ msgid "More information" 163 | #~ msgstr "Plus d'informations" 164 | 165 | #~ msgid "Report an issue" 166 | #~ msgstr "Signaler un problème" 167 | 168 | #~ msgid "Wireguard status" 169 | #~ msgstr "Statut de Wireguard" 170 | 171 | #~ msgid "Settings" 172 | #~ msgstr "Paramètres" 173 | -------------------------------------------------------------------------------- /po/hu.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # FIRST AUTHOR , YEAR. 5 | # infeeeee , 2022. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: wireguard-indicator\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 12 | "PO-Revision-Date: 2022-05-21 11:56+0200\n" 13 | "Last-Translator: infeeeee \n" 14 | "Language-Team: Hungarian \n" 15 | "Language: hu\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=2; plural=(n != 1)\n" 20 | "X-Generator: Gtranslator 40.0\n" 21 | 22 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 23 | msgid "Services name" 24 | msgstr "Szolgáltatások nevei" 25 | 26 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 27 | msgid "Set the name of the systemd services" 28 | msgstr "Systemd szolgáltaások neveinek a beállítása" 29 | 30 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 31 | msgid "Use nmcli" 32 | msgstr "Nmcli használata" 33 | 34 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 35 | msgid "Use nmcli to manage WireGuard connections" 36 | msgstr "Nmcli használata a WireGuard kapcsolatok kezeléséhez" 37 | 38 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 39 | msgid "Use sudo" 40 | msgstr "Sudo használata" 41 | 42 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 43 | msgid "Enable use sudo with service" 44 | msgstr "Szolgáltatások használatához hasznéjon Sudo-t" 45 | 46 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 47 | msgid "Check time" 48 | msgstr "Ellenőrzési időköz" 49 | 50 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 51 | msgid "Set the check time to test the WireGuard status" 52 | msgstr "Állítsa be az ellenőrzési időközt WireGuard állapotának ellenőrzéséhez" 53 | 54 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 55 | msgid "Dark theme" 56 | msgstr "Sötét téma" 57 | 58 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 59 | msgid "Enable dark theme otherwise light theme" 60 | msgstr "Sötét téma bekapcsolása, egyébként világos használata" 61 | 62 | #: dialogwidgets.js:55 63 | msgid "Cancel" 64 | msgstr "Mégse" 65 | 66 | #: dialogwidgets.js:56 67 | msgid "Ok" 68 | msgstr "Ok" 69 | 70 | #~ msgid "Name" 71 | #~ msgstr "Név" 72 | 73 | #~ msgid "Service" 74 | #~ msgstr "Szolgáltatás" 75 | 76 | #~ msgid "nmcli" 77 | #~ msgstr "Nmcli" 78 | 79 | #~ msgid "Sudo" 80 | #~ msgstr "Sudo" 81 | 82 | #~ msgid "Services" 83 | #~ msgstr "Szolgáltatások" 84 | 85 | #~ msgid "Add" 86 | #~ msgstr "Hozzáadás" 87 | 88 | #~ msgid "Add more services" 89 | #~ msgstr "Új szolgáltatások hozzáadása" 90 | 91 | #~ msgid "Theme" 92 | #~ msgstr "Téma" 93 | 94 | #~ msgid "WireGuard Preferences" 95 | #~ msgstr "Wireguard Beállítások" 96 | 97 | #~ msgid "Style" 98 | #~ msgstr "Megjelenés" 99 | 100 | #~ msgid "About" 101 | #~ msgstr "Névjegy" 102 | 103 | #~ msgid "WireGuard Indicator Configuration" 104 | #~ msgstr "WireGuard Indicator Beállítások" 105 | 106 | #~ msgid "Nothing" 107 | #~ msgstr "Semmi" 108 | 109 | #~ msgid "True" 110 | #~ msgstr "Igaz" 111 | 112 | #~ msgid "False" 113 | #~ msgstr "Hamis" 114 | 115 | #~ msgid "Edit" 116 | #~ msgstr "Szerkesztés" 117 | 118 | #~ msgid "Remove" 119 | #~ msgstr "Eltávolítás" 120 | 121 | #~ msgid "Buy me a coffee" 122 | #~ msgstr "Vegyen nekem egy kávét" 123 | 124 | #~ msgid "Version" 125 | #~ msgstr "Verzió" 126 | 127 | #~ msgid "GNOME Version" 128 | #~ msgstr "GNOME verzió" 129 | 130 | #~ msgid "OS" 131 | #~ msgstr "Rendszer" 132 | 133 | #~ msgid "SessionType" 134 | #~ msgstr "Munkamenet" 135 | 136 | #~ msgid "Developers" 137 | #~ msgstr "Fejlesztők" 138 | 139 | #~ msgid "Contributors" 140 | #~ msgstr "Közreműködők" 141 | 142 | #~ msgid "Thank you to all contributors!" 143 | #~ msgstr "Köszönet minden közreműködőnek!" 144 | 145 | #~ msgid "For a list of all contributors, please visit" 146 | #~ msgstr "Az összes közreműködő listájának megtekintéséhez látogasson el ide:" 147 | 148 | #~ msgid "Supporters" 149 | #~ msgstr "Támogatók" 150 | 151 | #~ msgid "Thank you to all supporters!" 152 | #~ msgstr "Köszönet minden támogatónak!" 153 | 154 | #~ msgid "For a list of all supporters, please visit" 155 | #~ msgstr "Az összes támogató listájának megtekintéséhez látogasson el ide:" 156 | 157 | #~ msgid "License" 158 | #~ msgstr "Licensz" 159 | 160 | #~ msgid "More info" 161 | #~ msgstr "Bővebben" 162 | 163 | #~ msgid "More information" 164 | #~ msgstr "Több információ" 165 | 166 | #~ msgid "Report an issue" 167 | #~ msgstr "Probléma jelentése" 168 | 169 | #~ msgid "Wireguard status" 170 | #~ msgstr "Wireguard állapot" 171 | 172 | #~ msgid "Settings" 173 | #~ msgstr "Beállítások" 174 | -------------------------------------------------------------------------------- /po/it.po: -------------------------------------------------------------------------------- 1 | # Italian translations for WireGuard Indicator package. 2 | # Copyright (C) 2022 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # Roberto Bellingeri , 2022. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: WireGuard Indicator\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2022-04-30 13:08+0200\n" 12 | "Last-Translator: Roberto Bellingeri \n" 13 | "Language-Team: Italian\n" 14 | "Language: it\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=utf-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | "X-Generator: PO File Editor https://pofile.net/free-po-editor\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | msgid "Services name" 23 | msgstr "Nome dei servizi" 24 | 25 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 26 | msgid "Set the name of the systemd services" 27 | msgstr "Imposta il nome dei servizi systemd" 28 | 29 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 30 | msgid "Use nmcli" 31 | msgstr "Utililizza nmcli" 32 | 33 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 34 | msgid "Use nmcli to manage WireGuard connections" 35 | msgstr "Usa nmcli per gestire le connessioni WireGuard" 36 | 37 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 38 | msgid "Use sudo" 39 | msgstr "Utilizza sudo" 40 | 41 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 42 | msgid "Enable use sudo with service" 43 | msgstr "Abilita l'uso sudo con il servizio" 44 | 45 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 46 | msgid "Check time" 47 | msgstr "Periodo di verifica" 48 | 49 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 50 | msgid "Set the check time to test the WireGuard status" 51 | msgstr "Imposta il tempo di controllo per testare lo stato di WireGuard" 52 | 53 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 54 | msgid "Dark theme" 55 | msgstr "Tema scuro" 56 | 57 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 58 | msgid "Enable dark theme otherwise light theme" 59 | msgstr "Abilita il tema scuro altrimenti il tema chiaro" 60 | 61 | #: dialogwidgets.js:55 62 | msgid "Cancel" 63 | msgstr "Annulla" 64 | 65 | #: dialogwidgets.js:56 66 | msgid "Ok" 67 | msgstr "Ok" 68 | 69 | #~ msgid "Name" 70 | #~ msgstr "Nome" 71 | 72 | #~ msgid "Service" 73 | #~ msgstr "Servizio" 74 | 75 | #~ msgid "nmcli" 76 | #~ msgstr "nmcli" 77 | 78 | #~ msgid "Sudo" 79 | #~ msgstr "Sudo" 80 | 81 | #~ msgid "Services" 82 | #~ msgstr "Servizi" 83 | 84 | #~ msgid "Add" 85 | #~ msgstr "Aggiungi" 86 | 87 | #~ msgid "Add more services" 88 | #~ msgstr "Aggiungi più servizi" 89 | 90 | #~ msgid "Theme" 91 | #~ msgstr "Tema" 92 | 93 | #~ msgid "WireGuard Preferences" 94 | #~ msgstr "Preferenze di WireGuard" 95 | 96 | #~ msgid "Style" 97 | #~ msgstr "Stile" 98 | 99 | #~ msgid "About" 100 | #~ msgstr "Informazioni" 101 | 102 | #~ msgid "WireGuard Indicator Configuration" 103 | #~ msgstr "Configurazione di WireGuard Indicator" 104 | 105 | #~ msgid "Nothing" 106 | #~ msgstr "Niente" 107 | 108 | #~ msgid "True" 109 | #~ msgstr "Vero" 110 | 111 | #~ msgid "False" 112 | #~ msgstr "Falso" 113 | 114 | #~ msgid "Edit" 115 | #~ msgstr "Modifica" 116 | 117 | #~ msgid "Remove" 118 | #~ msgstr "Rimuovi" 119 | 120 | #~ msgid "Buy me a coffee" 121 | #~ msgstr "Offrimi un caffè" 122 | 123 | #~ msgid "Version" 124 | #~ msgstr "Versione" 125 | 126 | #~ msgid "GNOME Version" 127 | #~ msgstr "Versione di GNOME" 128 | 129 | #~ msgid "OS" 130 | #~ msgstr "OS" 131 | 132 | #~ msgid "SessionType" 133 | #~ msgstr "Tipo di sessione" 134 | 135 | #~ msgid "Developers" 136 | #~ msgstr "Sviluppatori" 137 | 138 | #~ msgid "Contributors" 139 | #~ msgstr "Collaboratori" 140 | 141 | #~ msgid "Thank you to all contributors!" 142 | #~ msgstr "Grazie a tutti i collaboratori!" 143 | 144 | #~ msgid "For a list of all contributors, please visit" 145 | #~ msgstr "Per un elenco di tutti i collaboratori, visitare" 146 | 147 | #~ msgid "Supporters" 148 | #~ msgstr "Sostenitori" 149 | 150 | #~ msgid "Thank you to all supporters!" 151 | #~ msgstr "Grazie a tutti i sostenitori!" 152 | 153 | #~ msgid "For a list of all supporters, please visit" 154 | #~ msgstr "Per un elenco di tutti i sostenitori, visitare" 155 | 156 | #~ msgid "License" 157 | #~ msgstr "Licenza" 158 | 159 | #~ msgid "More info" 160 | #~ msgstr "Maggiori info" 161 | 162 | #~ msgid "More information" 163 | #~ msgstr "Maggiori informazioni" 164 | 165 | #~ msgid "Report an issue" 166 | #~ msgstr "Signala un problema" 167 | 168 | #~ msgid "Wireguard status" 169 | #~ msgstr "Stato di Wireguard" 170 | 171 | #~ msgid "Settings" 172 | #~ msgstr "Impostazioni" 173 | -------------------------------------------------------------------------------- /po/messages.pot: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-06-05 06:02+0200\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language-Team: LANGUAGE \n" 15 | "Language: \n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=CHARSET\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | 20 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 21 | msgid "Services name" 22 | msgstr "" 23 | 24 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 25 | msgid "Set the name of the systemd services" 26 | msgstr "" 27 | 28 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 29 | msgid "Use nmcli" 30 | msgstr "" 31 | 32 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 33 | msgid "Use nmcli to manage WireGuard connections" 34 | msgstr "" 35 | 36 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 37 | msgid "Use sudo" 38 | msgstr "" 39 | 40 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 41 | msgid "Enable use sudo with service" 42 | msgstr "" 43 | 44 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 45 | msgid "Check time" 46 | msgstr "" 47 | 48 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 49 | msgid "Set the check time to test the WireGuard status" 50 | msgstr "" 51 | 52 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 53 | msgid "Dark theme" 54 | msgstr "" 55 | 56 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 57 | msgid "Enable dark theme otherwise light theme" 58 | msgstr "" 59 | 60 | #: dialogwidgets.js:55 61 | msgid "Cancel" 62 | msgstr "" 63 | 64 | #: dialogwidgets.js:56 65 | msgid "Ok" 66 | msgstr "" 67 | -------------------------------------------------------------------------------- /po/nl.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2022-02-27 13:51+0100\n" 12 | "Last-Translator: Heimen Stoffels \n" 13 | "Language-Team: \n" 14 | "Language: nl\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | "X-Generator: Poedit 3.0.1\n" 20 | 21 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 22 | msgid "Services name" 23 | msgstr "Dienstnamen" 24 | 25 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 26 | msgid "Set the name of the systemd services" 27 | msgstr "Stel de namen van de systemd-diensten in" 28 | 29 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 30 | msgid "Use nmcli" 31 | msgstr "nmcli gebruiken" 32 | 33 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 34 | msgid "Use nmcli to manage WireGuard connections" 35 | msgstr "Laat nmcli de WireGuard-verbindingen beheren" 36 | 37 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 38 | msgid "Use sudo" 39 | msgstr "sudo gebruiken" 40 | 41 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 42 | msgid "Enable use sudo with service" 43 | msgstr "Voer de dienst uit met sudo" 44 | 45 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 46 | msgid "Check time" 47 | msgstr "Controleren, elke" 48 | 49 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 50 | msgid "Set the check time to test the WireGuard status" 51 | msgstr "Geef aan hoe vaak de WireGuard-status moet worden gecontroleerd" 52 | 53 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 54 | msgid "Dark theme" 55 | msgstr "Donker thema gebruiken" 56 | 57 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 58 | msgid "Enable dark theme otherwise light theme" 59 | msgstr "Gebruik het donkere thema in plaats van het lichte" 60 | 61 | #: dialogwidgets.js:55 62 | msgid "Cancel" 63 | msgstr "Annuleren" 64 | 65 | #: dialogwidgets.js:56 66 | msgid "Ok" 67 | msgstr "Oké" 68 | 69 | #~ msgid "Name" 70 | #~ msgstr "Naam" 71 | 72 | #~ msgid "Service" 73 | #~ msgstr "Dienst" 74 | 75 | #~ msgid "nmcli" 76 | #~ msgstr "nmcli" 77 | 78 | #~ msgid "Sudo" 79 | #~ msgstr "Sudo" 80 | 81 | #~ msgid "Services" 82 | #~ msgstr "Diensten" 83 | 84 | #~ msgid "Add" 85 | #~ msgstr "Toevoegen" 86 | 87 | #~ msgid "Add more services" 88 | #~ msgstr "Voeg meer diensten toe" 89 | 90 | #~ msgid "Theme" 91 | #~ msgstr "Thema" 92 | 93 | #~ msgid "WireGuard Preferences" 94 | #~ msgstr "Wireguard-voorkeuren" 95 | 96 | #~ msgid "Style" 97 | #~ msgstr "Stijl" 98 | 99 | #~ msgid "About" 100 | #~ msgstr "Over" 101 | 102 | #~ msgid "WireGuard Indicator Configuration" 103 | #~ msgstr "Wireguard-indicatorvoorkeuren" 104 | 105 | #~ msgid "Nothing" 106 | #~ msgstr "Niets" 107 | 108 | #~ msgid "True" 109 | #~ msgstr "Waar" 110 | 111 | #~ msgid "False" 112 | #~ msgstr "Niet waar" 113 | 114 | #~ msgid "Edit" 115 | #~ msgstr "Bewerken" 116 | 117 | #~ msgid "Remove" 118 | #~ msgstr "Verwijderen" 119 | 120 | #~ msgid "Buy me a coffee" 121 | #~ msgstr "Doneren" 122 | 123 | #~ msgid "Version" 124 | #~ msgstr "Versie" 125 | 126 | #~ msgid "GNOME Version" 127 | #~ msgstr "GNOME-versie" 128 | 129 | #~ msgid "OS" 130 | #~ msgstr "Besturingssyteem" 131 | 132 | #~ msgid "SessionType" 133 | #~ msgstr "Sessietype" 134 | 135 | #~ msgid "Developers" 136 | #~ msgstr "Ontwikkelaars" 137 | 138 | #~ msgid "Contributors" 139 | #~ msgstr "Bijdragers" 140 | 141 | #~ msgid "Thank you to all contributors!" 142 | #~ msgstr "Met dank aan alle bijdragers!" 143 | 144 | #~ msgid "For a list of all contributors, please visit" 145 | #~ msgstr "De lijst met bijdragers is te bekijken op" 146 | 147 | #~ msgid "Supporters" 148 | #~ msgstr "Ondersteuners" 149 | 150 | #~ msgid "Thank you to all supporters!" 151 | #~ msgstr "Met dank aan alle ondersteuners!" 152 | 153 | #~ msgid "For a list of all supporters, please visit" 154 | #~ msgstr "De lijst met ondersteuners is te bekijken op" 155 | 156 | #~ msgid "License" 157 | #~ msgstr "Licentie" 158 | 159 | #~ msgid "More info" 160 | #~ msgstr "Meer informatie" 161 | 162 | #~ msgid "More information" 163 | #~ msgstr "Meer informatie" 164 | 165 | #~ msgid "Report an issue" 166 | #~ msgstr "Probleem melden" 167 | 168 | #~ msgid "Wireguard status" 169 | #~ msgstr "Wireguard-status" 170 | 171 | #~ msgid "Settings" 172 | #~ msgstr "Voorkeuren" 173 | -------------------------------------------------------------------------------- /po/ru.po: -------------------------------------------------------------------------------- 1 | # Spanish translations for WireGuard Indicator package. 2 | # Copyright (C) 2020 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the WireGuard Indicator package. 4 | # Lorenzo , 2020. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: WireGuard Indicator - 1\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2023-06-05 05:59+0200\n" 11 | "PO-Revision-Date: 2020-09-15 19:23+0200\n" 12 | "Last-Translator: Lorenzo \n" 13 | "Language-Team: Spanish\n" 14 | "Language: es\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | 20 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:6 21 | msgid "Services name" 22 | msgstr "" 23 | 24 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:7 25 | msgid "Set the name of the systemd services" 26 | msgstr "" 27 | 28 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:11 29 | msgid "Use nmcli" 30 | msgstr "" 31 | 32 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:12 33 | msgid "Use nmcli to manage WireGuard connections" 34 | msgstr "" 35 | 36 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:16 37 | msgid "Use sudo" 38 | msgstr "" 39 | 40 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:17 41 | msgid "Enable use sudo with service" 42 | msgstr "" 43 | 44 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:21 45 | msgid "Check time" 46 | msgstr "" 47 | 48 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:22 49 | msgid "Set the check time to test the WireGuard status" 50 | msgstr "" 51 | 52 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:26 53 | msgid "Dark theme" 54 | msgstr "" 55 | 56 | #: schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml:27 57 | msgid "Enable dark theme otherwise light theme" 58 | msgstr "" 59 | 60 | #: dialogwidgets.js:55 61 | msgid "Cancel" 62 | msgstr "" 63 | 64 | #: dialogwidgets.js:56 65 | msgid "Ok" 66 | msgstr "" 67 | -------------------------------------------------------------------------------- /prefs.js: -------------------------------------------------------------------------------- 1 | /* 2 | * wireguard-indicator@atareao.es 3 | * 4 | * Copyright (c) 2020 Lorenzo Carbonell Cerezo 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to 8 | * deal in the Software without restriction, including without limitation the 9 | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 | * sell copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | * IN THE SOFTWARE. 23 | */ 24 | 25 | const {GLib, GObject, Gio, Gtk} = imports.gi; 26 | 27 | const ExtensionUtils = imports.misc.extensionUtils; 28 | const Extension = ExtensionUtils.getCurrentExtension(); 29 | const Widgets = Extension.imports.preferenceswidget; 30 | const AboutPage = Extension.imports.aboutpage.AboutPage; 31 | const Gettext = imports.gettext.domain(Extension.uuid); 32 | const _ = Gettext.gettext; 33 | 34 | const DialogWidgets = Extension.imports.dialogwidgets; 35 | 36 | function init() { 37 | ExtensionUtils.initTranslations(); 38 | } 39 | 40 | var WireGuarIndicatorPreferencesWidget = GObject.registerClass( 41 | class WireGuarIndicatorPreferencesWidget extends Widgets.ListWithStack{ 42 | _init(){ 43 | super._init({}); 44 | 45 | let preferencesPage = new Widgets.Page(); 46 | 47 | var settings = ExtensionUtils.getSettings(); 48 | 49 | const keyLabel = _("Name"); 50 | const valueLabel = _("Service"); 51 | 52 | const nmcliFrame = new Widgets.Frame({ 53 | marginBottom: 15, 54 | }); 55 | const nmcliSection = preferencesPage.addFrame(_("nmcli"), 56 | nmcliFrame); 57 | nmcliSection.addGSetting(settings, "nmcli"); 58 | 59 | const sudoFrame = new Widgets.Frame({ 60 | marginBottom: 15, 61 | }); 62 | const sudoSection = preferencesPage.addFrame(_("Sudo"), 63 | sudoFrame); 64 | sudoSection.addGSetting(settings, "sudo"); 65 | 66 | let servicesSection = new Widgets.ArrayKeyValueSetting( 67 | settings, "services", keyLabel, valueLabel); 68 | preferencesPage.addFrame(_("Services"), servicesSection); 69 | servicesSection.connect("edit", ()=>{ 70 | log("edit"); 71 | }); 72 | 73 | const addServicesSection = preferencesPage.addFrame(""); 74 | const buttonAdd = new Gtk.Button({ 75 | iconName: 'list-add-symbolic', 76 | hexpand: true, 77 | vexpand: false, 78 | halign: Gtk.Align.END, 79 | valign: Gtk.Align.CENTER, 80 | }); 81 | buttonAdd.connect('clicked',()=>{ 82 | const dialog = new DialogWidgets.KeyValueDialog( 83 | this, _("Add"), keyLabel, valueLabel); 84 | dialog.connect("response", (widget, response_id)=>{ 85 | const new_name = dialog.getKey(); 86 | const new_service = dialog.getValue(); 87 | if(response_id == Gtk.ResponseType.OK){ 88 | servicesSection.addRow(new_name, new_service); 89 | servicesSection.updateSettings(); 90 | } 91 | dialog.hide(); 92 | dialog.destroy(); 93 | }); 94 | dialog.show(); 95 | }); 96 | addServicesSection.addWidget(_("Add more services"), buttonAdd); 97 | 98 | settings.connect("changed", (settings, key)=>{ 99 | if(key == "nmcli"){ 100 | const value = !settings.get_boolean("nmcli"); 101 | sudoSection.set_sensitive(value); 102 | servicesSection.set_sensitive(value); 103 | addServicesSection.set_sensitive(value); 104 | } 105 | }); 106 | const checkPage = new Widgets.Page(); 107 | const checkSection = checkPage.addFrame(_("Check time")); 108 | checkSection.addWidgetSetting( 109 | settings, "checktime", 110 | new Widgets.NumberSetting(settings, "checktime", 5, 60 * 100)); 111 | 112 | const themePage = new Widgets.Page(); 113 | const styleSection = themePage.addFrame(_("Theme")); 114 | styleSection.addGSetting(settings, "darktheme"); 115 | 116 | this.add(_("WireGuard Preferences"), "preferences-other-symbolic", 117 | preferencesPage); 118 | this.add(_("Check time"), "time", checkPage); 119 | this.add(_("Style"), "style", themePage); 120 | this.add(_("About"), "help-about-symbolic", new AboutPage()); 121 | 122 | const nmcliFile = Gio.File.new_for_path("/usr/bin/nmcli"); 123 | if(!nmcliFile.query_exists(null)){ 124 | settings.set_boolean("nmcli", false); 125 | } 126 | } 127 | } 128 | ); 129 | 130 | function buildPrefsWidget() { 131 | let preferencesWidget = new WireGuarIndicatorPreferencesWidget(); 132 | preferencesWidget.connect("realize", ()=>{ 133 | const window = preferencesWidget.get_root(); 134 | window.set_title(_("WireGuard Indicator Configuration")); 135 | window.default_height = 800; 136 | window.default_width = 850; 137 | }); 138 | return preferencesWidget; 139 | } 140 | -------------------------------------------------------------------------------- /schemas/gschemas.compiled: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/schemas/gschemas.compiled -------------------------------------------------------------------------------- /schemas/org.gnome.shell.extensions.atareao.wireguard-indicator.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ["service1|wg-quick@wg0.service", "service2|wg-quick@wg1.service"] 6 | Services name 7 | Set the name of the systemd services 8 | 9 | 10 | false 11 | Use nmcli 12 | Use nmcli to manage WireGuard connections 13 | 14 | 15 | false 16 | Use sudo 17 | Enable use sudo with service 18 | 19 | 20 | 5 21 | Check time 22 | Set the check time to test the WireGuard status 23 | 24 | 25 | false 26 | Dark theme 27 | Enable dark theme otherwise light theme 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /screenshots/screenshot_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/screenshots/screenshot_01.png -------------------------------------------------------------------------------- /screenshots/screenshot_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/screenshots/screenshot_02.png -------------------------------------------------------------------------------- /screenshots/screenshot_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/screenshots/screenshot_03.png -------------------------------------------------------------------------------- /screenshots/screenshot_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atareao/wireguard-indicator/8d1a5592a398d3991007705b7e5f24880156e4e3/screenshots/screenshot_04.png --------------------------------------------------------------------------------