├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── data ├── device-link-symbolic.svg ├── laptop-connected.svg ├── laptop-disconnected.svg ├── laptop-trusted.svg ├── metadata.json.in ├── org.gnome.shell.extensions.mconnect.gresource.xml ├── org.gnome.shell.extensions.mconnect.gschema.xml ├── phone-number-default.svg ├── phone-number-home.svg ├── phone-number-mobile.svg ├── phone-number-work.svg ├── smartphone-connected.svg ├── smartphone-disconnected.svg ├── smartphone-trusted.svg ├── sms-send.svg ├── sms-symbolic.svg ├── stylesheet.css ├── tablet-connected.svg ├── tablet-disconnected.svg └── tablet-trusted.svg ├── extra ├── device-indicator-menu-browse.png ├── device-indicator-menu.png ├── device-user-menu-enable.png ├── device-user-menu-menu.png ├── dfeet-kdeconnect.png ├── extension-preferences.png ├── nautilus-integration.png ├── screenshot.png ├── sms-contact-auto-complete.png ├── sms-two-way-conversation.png └── sms-window.png ├── meson.build ├── meson └── zip.sh ├── po ├── LINGUAS ├── POTFILES ├── de.po ├── el.po ├── fr_FR.po ├── gnome-shell-extension-mconnect.pot ├── hu.po ├── it_IT.po ├── meson.build ├── nl_NL.po ├── pl_PL.po ├── pt_BR.po ├── pt_PT.po ├── sk_SK.po ├── sr.po ├── sr@latin.po └── sv_SE.po └── src ├── extension.js ├── folks.py ├── kdeconnect.js ├── lib.js ├── mconnect.js ├── nautilus-send-mconnect.py ├── prefs.js ├── share.js └── sms.js /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | This project is governed by two simple axioms of human interaction: 4 | 5 | * Don't *try* to offend people. If it is brought to your attention that you 6 | have offended someone then apologize sincerely. 7 | 8 | * Don't *try* to be offended by people. If you are offended by someone bring it 9 | to their attention and then accept their sincere apology. 10 | 11 | Any situation not resolved by adhering to these two axioms should be brought to 12 | the attention of the project maintainers who will provide mediation and take 13 | corrective action at their discretion. 14 | 15 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for considering contributing to this project. It means that you not 4 | only find it useful, but that you think there's something that could be done to 5 | make it more useful, or useful to more people. *Any* suggestions are welcome, 6 | including open discussion about the direction of the project as a whole. Don't 7 | worry if you can't code, can't document, can't design graphics, can't translate 8 | or have trouble with english; I still want to hear from you. 9 | 10 | That being said, the current vision is to be a stock Gnome project, although 11 | not necessarily *pure* Gnome. For example, there are no plans to include 12 | integration for file managers other that Nautilus, however contributions for 13 | other file managers would be accepted so long as including them doesn't *force* 14 | other users to install dependencies that they don't need or wouldn't normally 15 | be found in a stock Gnome desktop. 16 | 17 | Additionally, all code should be written in [GJS][gjs] if at all possible and 18 | should not be written in compiled languages that are architecture dependent. As 19 | long as it can be unpacked from a ZIP and ready to go for everyone, that's good 20 | enough. 21 | 22 | The best way to get in touch is either by [opening a new issue][issue] or by 23 | contacting one of the current [contributors][contributors] directly. 24 | 25 | [issue]: https://github.com/andyholmes/gnome-shell-extension-mconnect/issues/new 26 | [contributors]: https://github.com/andyholmes/gnome-shell-extension-mconnect/graphs/contributors 27 | [gjs]: https://wiki.gnome.org/Projects/Gjs 28 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NOTICE 2 | 3 | I have all but abandoned working on this extension, in favour of my newer 4 | extension [GSConnect][gsconnect] which is a complete implementation of the 5 | KDE Connect protocol that doesn't rely on the KDE Connect server or MConnect 6 | server. This is for the following reasons: 7 | 8 | * This was originally intended to be a MConnect-only extension, however the 9 | developer is busy with other projects and it remains largely incomplete. 10 | * Interacting with the KDE Connect server over DBus is very restrictive and 11 | makes many features hacky and other impossible to implement or fix. 12 | * Trying to support two different backends (properly) requires almost as much 13 | work as writing one. 14 | * I grew tired of having ~500MB of KDE dependencies installed for a tiny program 15 | 16 | I use GSConnect full-time without problems, however it only officially supports 17 | Gnome Shell 3.24+ and has not been reviewed on the extension website yet. Thanks 18 | for your understanding and support in developing this extension, and hopefully 19 | the next. 20 | 21 | ## Overview 22 | 23 | This extension integrates KDE Connect and/or MConnect into Gnome Shell. 24 | 25 | [KDE Connect][kde-connect] uses an [Android app][android-app] and a desktop 26 | server to securely exchange data, allowing file sharing, notification 27 | forwarding, sending of text messages and many other features. 28 | 29 | [MConnect][mconnect] is a work-in-progress implementation of that protocol in 30 | Vala/C, with no KDE dependencies. 31 | 32 | For those not using Gnome Shell, consider [indicator-kdeconnect][kindicator] 33 | which is very stable, actively developed, supports all the same features, more 34 | file managers and should work on any desktop with Gtk. 35 | 36 | 37 | ### Installation 38 | 39 | The extension is now available on the [official extension website][ego]! The 40 | ***latest stable release*** can always be found in the [releases page][releases]. 41 | 42 | For instructions on how to build from Git, details about KDE Connect vs 43 | MConnect and dependencies for optional features, please see the 44 | [Installation Page](../../wiki/Installation) in the [Wiki](../../wiki). 45 | 46 | 47 | ### Features 48 | 49 | * Send SMS messages 50 | * [Two-Way Conversations](../../wiki/SMS#two-way-conversations) (***Simulated***) 51 | * [Contacts Auto-complete](../../wiki/SMS#contacts-auto-complete) (***Optional***) 52 | 53 | * Find devices by causing them to ring until found 54 | 55 | * Mount and browse folders on your devices 56 | * [Auto-Mount](../../wiki/Preferences#device-auto-mount) (***Preference***) 57 | 58 | * Send files to devices 59 | * [Nautilus Integration](../../wiki/Nautilus-Integration) (***Optional***) 60 | 61 | * Monitor battery level and charging state 62 | 63 | * Supports multiple backends 64 | * [KDE Connect](../../wiki/Installation#kde-connect) 65 | * [MConnect](../../wiki/Installation#mconnect) 66 | 67 | * [Keyboard Shortcuts](../../wiki/Preferences#keyboard-shortcuts) 68 | 69 | 70 | ## Credits and Acknowledgements 71 | 72 | [@albertvaka][albertvaka] and friends for creating KDE Connect, and 73 | [@bboozzoo][bboozzoo] for developing MConnect based on their protocol. 74 | 75 | [@Bajoja][Bajoja] and the [indicator-kdeconnect][kindicator] developers, for 76 | advice and code I frequently reference. 77 | 78 | [@hugosenari][hugosenari] for his Python shim for libgee, making support for 79 | Folks possible and who graciously donated his time helping to make it work. 80 | 81 | [@RaphaelRochet][RaphaelRochet] for [application-overview-tooltip][tooltips] 82 | that was adapted to provide tooltips. 83 | 84 | The [Numix][numix] project and Google's [Material Design][material] project, 85 | some of whose icons are included in this extension. 86 | 87 | And to anyone who has submitted a Pull Request or translation, opened an issue, 88 | helped to debug, offered their opinion or expertise - thank you for visiting my 89 | little stand at the [bazaar][bazaar]. 90 | 91 | ### Special Mention 92 | 93 | [Joey Sneddon][d0od88], who was the first to star this project, wrote a great 94 | [article on OMG! Ubuntu][omg-article] and helped raise awareness of MConnect. 95 | 96 | [@ptomato][ptomato] for the work and the [bright future][gjs-future] he has 97 | contributed to GJS, as well as help on StackOverflow. 98 | 99 | [@pwithnall][pwithnall] and [@nielsdg][nielsdg] for helping me out and 100 | tolerating my harassment on the Gnome Bugzilla. 101 | 102 | The screenshot of the extension features the [Vimix Dark Laptop][vimix] Gtk & 103 | Gnome Shell theme with the [Numix Circle][numix] icon theme. 104 | 105 | [screenshot]: https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/master/extra/screenshot.png 106 | [gsconnect]: https://github.com/andyholmes/gnome-shell-extension-gsconnect 107 | [kde-connect]: https://community.kde.org/KDEConnect 108 | [android-app]: https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp 109 | [mconnect]: https://github.com/bboozzoo/mconnect 110 | [kindicator]: https://github.com/Bajoja/indicator-kdeconnect 111 | [ego]: https://extensions.gnome.org/extension/1272/mconnect/ 112 | [releases]: https://github.com/andyholmes/gnome-shell-extension-mconnect/releases 113 | [albertvaka]: https://github.com/albertvaka 114 | [bboozzoo]: https://github.com/bboozzoo 115 | [hugosenari]: https://github.com/hugosenari 116 | [RaphaelRochet]: https://github.com/RaphaelRochet 117 | [tooltips]: https://github.com/RaphaelRochet/applications-overview-tooltip 118 | [Bajoja]: https://github.com/Bajoja 119 | [bazaar]: https://wikipedia.org/wiki/The_Cathedral_and_the_Bazaar 120 | [d0od88]: https://github.com/d0od88 121 | [omg-article]: http://www.omgubuntu.co.uk/2017/08/kde-connect-gnome-extension 122 | [ptomato]: https://github.com/ptomato 123 | [pwithnall]: https://github.com/pwithnall 124 | [nielsdg]: https://github.com/nielsdg 125 | [gjs-future]: https://ptomato.wordpress.com/2017/07/30/modern-javascript-in-gnome-guadec-2017-talk/ 126 | [vimix]: https://github.com/vinceliuice/vimix-gtk-themes 127 | [numix]: https://numixproject.org/ 128 | [material]: https://material.io/ 129 | 130 | -------------------------------------------------------------------------------- /data/device-link-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/laptop-connected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/laptop-disconnected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/laptop-trusted.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/metadata.json.in: -------------------------------------------------------------------------------- 1 | { 2 | "extension-id": "@EXTENSION_ID@", 3 | "uuid": "@UUID@", 4 | "gschema-id": "@GSCHEMA_ID@", 5 | "gettext-domain": "@GETTEXT_DOMAIN@", 6 | "name": "@NAME@", 7 | "description": "@DESCRIPTION@", 8 | "version": "@VERSION@", 9 | "shell-version": @SHELL_VERSION@, 10 | "url": "@URL@" 11 | } 12 | -------------------------------------------------------------------------------- /data/org.gnome.shell.extensions.mconnect.gresource.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | device-link-symbolic.svg 5 | 6 | laptop-connected.svg 7 | laptop-disconnected.svg 8 | laptop-trusted.svg 9 | smartphone-connected.svg 10 | smartphone-disconnected.svg 11 | smartphone-trusted.svg 12 | tablet-connected.svg 13 | tablet-disconnected.svg 14 | tablet-trusted.svg 15 | 16 | phone-number-default.svg 17 | phone-number-home.svg 18 | phone-number-mobile.svg 19 | phone-number-work.svg 20 | sms-send.svg 21 | 22 | sms-symbolic.svg 23 | 24 | 25 | -------------------------------------------------------------------------------- /data/org.gnome.shell.extensions.mconnect.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | false 14 | Debug mode 15 | Enable debug features and logging 16 | 17 | 18 | false 19 | Device Auto-Mount 20 | Automatically mount devices that support it 21 | 22 | 23 | true 24 | Device Indicators 25 | Controls available via Indicators or the User Menu 26 | 27 | 28 | ["OFFLINE", "UNPAIRED"] 29 | Device Visibility 30 | Display devices in offline and unpaired states 31 | 32 | 33 | , "bindings": <['','','','','','']>}>}]]> 34 | Device Actions 35 | Configure shortcuts for device functions 36 | 37 | 38 | 39 | Extension Actions 40 | Configure shortcuts for extension functions 41 | 42 | 43 | false 44 | Nautilus Integration 45 | Send files from the file browser context menu 46 | 47 | 48 | false 49 | Persistent Discovery 50 | Constantly probe the network for devices 51 | 52 | 53 | false 54 | Service Auto-Start 55 | Start the service automatically and restart if stopped 56 | 57 | 58 | 'KDECONNECT' 59 | Service Provider 60 | The service providing devices 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /data/phone-number-default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/phone-number-home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/phone-number-mobile.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/phone-number-work.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/smartphone-connected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/smartphone-disconnected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/smartphone-trusted.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/sms-send.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/sms-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /data/stylesheet.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/data/stylesheet.css -------------------------------------------------------------------------------- /data/tablet-connected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/tablet-disconnected.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/tablet-trusted.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /extra/device-indicator-menu-browse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/device-indicator-menu-browse.png -------------------------------------------------------------------------------- /extra/device-indicator-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/device-indicator-menu.png -------------------------------------------------------------------------------- /extra/device-user-menu-enable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/device-user-menu-enable.png -------------------------------------------------------------------------------- /extra/device-user-menu-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/device-user-menu-menu.png -------------------------------------------------------------------------------- /extra/dfeet-kdeconnect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/dfeet-kdeconnect.png -------------------------------------------------------------------------------- /extra/extension-preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/extension-preferences.png -------------------------------------------------------------------------------- /extra/nautilus-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/nautilus-integration.png -------------------------------------------------------------------------------- /extra/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/screenshot.png -------------------------------------------------------------------------------- /extra/sms-contact-auto-complete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/sms-contact-auto-complete.png -------------------------------------------------------------------------------- /extra/sms-two-way-conversation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/sms-two-way-conversation.png -------------------------------------------------------------------------------- /extra/sms-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andyholmes/gnome-shell-extension-mconnect/2955e41cf5da91c0b3b9abebe1176a716b385a46/extra/sms-window.png -------------------------------------------------------------------------------- /meson.build: -------------------------------------------------------------------------------- 1 | project( 2 | 'gnome-shell-extension-mconnect', 3 | 'c', 4 | version: '17', 5 | meson_version: '>= 0.40.1', 6 | ) 7 | 8 | # User Definable Variables 9 | Name = 'MConnect' 10 | Description = 'KDE Connect/MConnect integration for Gnome Shell' 11 | ExtensionId = meson.project_name().split('gnome-shell-extension-')[1] 12 | UUID = ExtensionId + '@' + 'andyholmes.github.io' 13 | URL = 'https://github.com/andyholmes/gnome-shell-extension-mconnect' 14 | Shell = [ '3.18', '3.20', '3.22', '3.24', '3.26' ] 15 | 16 | # A list of files to be copied to the extension directory without modification. 17 | Files = files( 18 | # standard files 19 | 'src/extension.js', 20 | 'src/prefs.js', 21 | 'data/stylesheet.css', 22 | # non-standard files 23 | 'src/lib.js', 24 | 'src/kdeconnect.js', 25 | 'src/mconnect.js', 26 | 'src/share.js', 27 | 'src/sms.js', 28 | # non-GJS files 29 | 'src/nautilus-send-mconnect.py', 30 | 'src/folks.py' 31 | ) 32 | 33 | 34 | # You shouldn't need to edit anything below. 35 | #------------------------------------------------------------------------------ 36 | 37 | gnome = import('gnome') 38 | extdatadir = join_paths(get_option('datadir'), 'gnome-shell/extensions', UUID) 39 | 40 | # ZIP targets 41 | run_target('make-zip', command: ['meson/zip.sh', UUID]) 42 | run_target('install-zip', command: ['meson/zip.sh', UUID, 'install']) 43 | 44 | # Extension Source 45 | install_data( 46 | Files, 47 | install_dir: extdatadir, 48 | install_mode: 'rw-r--r--' 49 | ) 50 | 51 | # metadata.json 52 | ext_metadata = configuration_data() 53 | ext_metadata.set('NAME', Name) 54 | ext_metadata.set('DESCRIPTION', Description) 55 | ext_metadata.set('EXTENSION_ID', ExtensionId) 56 | ext_metadata.set('UUID', UUID) 57 | ext_metadata.set('VERSION', meson.project_version()) 58 | ext_metadata.set('URL', URL) 59 | ext_metadata.set('SHELL_VERSION', '[ "' + '", "'.join(Shell) + '" ]') 60 | ext_metadata.set('GSCHEMA_ID', 'org.gnome.shell.extensions.' + ExtensionId) 61 | ext_metadata.set('GETTEXT_DOMAIN', meson.project_name()) 62 | 63 | metadata_json = configure_file( 64 | input: 'data/metadata.json.in', 65 | output: 'metadata.json', 66 | configuration: ext_metadata 67 | ) 68 | install_data( 69 | metadata_json, 70 | install_dir: extdatadir, 71 | install_mode: 'rw-r--r--' 72 | ) 73 | 74 | # GSettings 75 | install_data( 76 | join_paths('data', ext_metadata.get('GSCHEMA_ID') + '.gschema.xml'), 77 | install_dir: join_paths(extdatadir, 'schemas') 78 | ) 79 | 80 | # GResource 81 | gnome.compile_resources( 82 | ext_metadata.get('GSCHEMA_ID'), 83 | join_paths('data', ext_metadata.get('GSCHEMA_ID') + '.gresource.xml'), 84 | source_dir: 'data', 85 | gresource_bundle: true, 86 | install: true, 87 | install_dir : extdatadir 88 | ) 89 | 90 | # Gettext Translations 91 | if run_command('[', '-e', 'po/meson.build', ']').returncode() == 0 92 | subdir('po') 93 | endif 94 | 95 | -------------------------------------------------------------------------------- /meson/zip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ZIP_DIR="${MESON_BUILD_ROOT}/${1}" 4 | ZIP_FILE="${MESON_BUILD_ROOT}/${1}.zip" 5 | 6 | INSTALL_DIR="${HOME}/.local/share/gnome-shell/extensions/${1}" 7 | GSCHEMA_DIR="${ZIP_DIR}/usr/local/share/glib-2.0/schemas" 8 | LOCALE_DIR="${ZIP_DIR}/usr/local/share/locale" 9 | 10 | # BUILD 11 | rm -rf ${ZIP_DIR} ${ZIP_FILE} 12 | cd ${MESON_BUILD_ROOT} 13 | DESTDIR=${ZIP_DIR} ninja install 14 | 15 | # COPY 16 | cp -pr ${ZIP_DIR}/usr/local/share/gnome-shell/extensions/${1}/* ${ZIP_DIR} 17 | 18 | glib-compile-schemas ${ZIP_DIR}/schemas 19 | 20 | if [ -d ${ZIP_DIR}/usr/local/share/locale ]; then 21 | cp -pr ${LOCALE_DIR} ${ZIP_DIR} 22 | fi 23 | 24 | rm -rf "${ZIP_DIR}/usr" 25 | 26 | # COMPRESS 27 | cd ${ZIP_DIR} 28 | zip -qr ${ZIP_FILE} . 29 | 30 | # INSTALL 31 | if [[ ${2} == "install" ]]; then 32 | rm -rf ${INSTALL_DIR} 33 | unzip ${ZIP_FILE} -d ${INSTALL_DIR} 34 | fi 35 | 36 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | de 2 | el 3 | fr_FR 4 | hu 5 | it_IT 6 | nl_NL 7 | pl_PL 8 | pt_BR 9 | pt_PT 10 | sk_SK 11 | sr 12 | sr@latin 13 | sv_SE 14 | -------------------------------------------------------------------------------- /po/POTFILES: -------------------------------------------------------------------------------- 1 | src/extension.js 2 | src/prefs.js 3 | src/share.js 4 | src/sms.js 5 | src/nautilus-send-mconnect.py 6 | data/org.gnome.shell.extensions.mconnect.gschema.xml 7 | 8 | -------------------------------------------------------------------------------- /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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-15 21:36+0200\n" 12 | "Last-Translator: Jonatan Hatakeyama Zeidler \n" 13 | "Language-Team: Jonatan Hatakeyama Zeidler\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 | "X-Generator: Poedit 2.0.1\n" 19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "Nicht verbunden" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "Nicht gekoppelt" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "SMS senden" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Geräte finden" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Dateien durchsuchen" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Dateien senden" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Kopplung anfordern" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Gerät ist nicht gekoppelt" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Wiederverbinden versuchen" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Wiederverbinden wird versucht …" 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Gerät ist getrennt" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Einhängen des Gerätedateisystems fehlgeschlagen" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Mobile Geräte" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Aktivieren" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Einstellungen Mobile Geräte" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Gerätesuche abbrechen" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Geräte suchen" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Nautilus-Erweiterungen wurden geändert" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Nautilus neustarten, um Änderungen zu übernehmen" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Neustart" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Nichts" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Wahr" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Falsch" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Gerät auswählen" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Erweiterungsmenü öffnen" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Erweiterungseinstellungen öffnen" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Dienst-Einstellungen öffnen" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Gerätemenü öffnen" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Koppeln/Wiederverbinden" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Entfernen" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Tastenkürzel für ein entferntes Gerät löschen." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Tastenkürzel nicht frei" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "Das gewünschte Tastenkürzel wird durch eine andere Anwendung genutzt und " 155 | "kann nicht überschrieben werden." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Allgemein" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Erscheinungsbild" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Dateien" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Tastatur" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Tastenkürzel" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Erweitert" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Dienst" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Einstellungen Dienst" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Einstellungen des gewählten Dienstes öffnen" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Entwicklung" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Dateien an %s senden" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Abbrechen" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Senden" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "MConnect Dateitransfer" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "%d Datei wird gesendet" 222 | msgstr[1] "%d Dateien werden gesendet" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Telefonnummer eingeben" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Telefonnummer oder Name eingeben" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "Gerät ist nicht verbunden" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "SMS-Nachricht eingeben" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "Du" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "MConnect SMS" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "An mobiles Gerät senden" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Fehlerdiagnose-Modus" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Fehlerdiagnose-Funktionen und Logging aktivieren" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Geräte automatisch verbinden" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Automatisch Geräte einhängen, falls vom Gerät unterstützt" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Geräteindikatoren" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "Indikatoren für gekoppelte Geräte anzeigen" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 278 | msgid "Device Visibility" 279 | msgstr "Gerätesichtbarkeit" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 282 | msgid "Display devices in offline and unpaired states" 283 | msgstr "Auch nicht verbundene oder gekoppelte Geräte anzeigen" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 286 | msgid "Device Actions" 287 | msgstr "Geräteaktionen" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 290 | msgid "Configure shortcuts for device functions" 291 | msgstr "Tastenkürzel für Gerätefunktionen konfigurieren" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 294 | msgid "Extension Actions" 295 | msgstr "Erweiterungsaktionen" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 298 | msgid "Configure shortcuts for extension functions" 299 | msgstr "Tastenkürzel für Erweiterungsaktionen konfigurieren" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 302 | msgid "Nautilus Integration" 303 | msgstr "Nautilus-Integration" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 306 | msgid "Send files from the file browser context menu" 307 | msgstr "Dateien vom Dateibrowser-Kontextmenü aus senden" 308 | 309 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 310 | msgid "Persistent Discovery" 311 | msgstr "Persistentes Verzeichnis" 312 | 313 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 314 | msgid "Constantly probe the network for devices" 315 | msgstr "Kontinuierlich nach Geräten suchen" 316 | 317 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 318 | msgid "Service Auto-Start" 319 | msgstr "Dienst-Autostart" 320 | 321 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 322 | msgid "Start the service automatically and restart if stopped" 323 | msgstr "Dienst automatisch starten und neustarten, falls gestoppt" 324 | 325 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 326 | msgid "Service Provider" 327 | msgstr "Dienst" 328 | 329 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 330 | msgid "The service providing devices" 331 | msgstr "Der Hintergrunddienst, der die Geräteverbindungen bereitstellt" 332 | 333 | #, fuzzy 334 | #~ msgid "Send files..." 335 | #~ msgstr "Datei senden …" 336 | 337 | #~ msgid "Preferences" 338 | #~ msgstr "Einstellungen" 339 | 340 | #~ msgid "Sending {num} file" 341 | #~ msgid_plural "Sending {num} files" 342 | #~ msgstr[0] "{num} Datei wird gesendet" 343 | #~ msgstr[1] "{num} Dateien werden gesendet" 344 | 345 | #~ msgid "Scanning for device..." 346 | #~ msgstr "Gerät werden gesucht …" 347 | 348 | #~ msgid "Send file(s) with mconnect" 349 | #~ msgstr "Dateien mit mconnect senden" 350 | -------------------------------------------------------------------------------- /po/el.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-11-12 14:42+0200\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "X-Generator: Poedit 2.0.4\n" 18 | "Last-Translator: \n" 19 | "Language: el\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "ΕΚΤΟΣ ΣΥΝΔΕΣΗΣ" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "ΜΗ ΣΥΖΕΥΓΜΕΝΟ" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Αποστολή SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Εντοπισμός συσκευής" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Περιήγηση στα αρχεία" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Αποστολή αρχείων" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Αίτηση σύζευξης" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Η συσκευή είναι μη συζευγμένη" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Προσπάθεια επανασύνδεσης" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Προσπάθεια επανασύνδεσης..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Η συσκευή είναι αποσυνδεδεμένη" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Αποτυχία πρόσδεσης συστήματος αρχείων συσκευής" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Κινητές συσκευές" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Ενεργοποίηση" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Ρυθμίσεις κινητού" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Λήξη αναζήτησης συσκευών" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Αναζήτηση συσκευών" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Άλλαξαν οι επεκτάσεις του Ναυτίλου" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Επανεκκινήστε τον Ναυτίλο για να εφαρμοστούν οι αλλαγές" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Επαννεκίνηση" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Τίποτα" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Αληθής" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Ψευδής" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Επιλογή συσκευής" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Άνοιγμα μενού επεκτάσεων" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Άνοιγμα προτιμήσεων επεκτάσεων" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Άνοιγμα ρυθμίσεων υπηρεσίας" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Άνοιγμα μενού συσκευής" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Σύζευξης/Επανασύνδεση" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Αφαίρεση" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "" 144 | "Αφαίρεση συντομεύσεων για μία συσκευή που δεν βρίσκεται πλέον σε χρήση." 145 | 146 | #: src/prefs.js:816 147 | msgid "Keyboard Shortcut Unavailable" 148 | msgstr "Μη διαθέσιμες συντομεύσεις πληκτρολογίου" 149 | 150 | #: src/prefs.js:817 151 | msgid "" 152 | "The requested keyboard shortcut is in use by another application and can't " 153 | "be overridden." 154 | msgstr "" 155 | "Η αιτούμενη συντόμευση πληκτρολογίου είναι σε χρήση από άλλη εφαρμογή και " 156 | "δεν μπορεί να χρησιμοποιηθεί." 157 | 158 | #. Preferences Page 159 | #: src/prefs.js:1065 160 | msgid "General" 161 | msgstr "Γενικά" 162 | 163 | #: src/prefs.js:1067 164 | msgid "Appearance" 165 | msgstr "Εμφάνιση" 166 | 167 | #: src/prefs.js:1071 168 | msgid "Files" 169 | msgstr "Αρχεία" 170 | 171 | #. Keyboard Shortcuts Page 172 | #: src/prefs.js:1076 173 | msgid "Keyboard" 174 | msgstr "Πληκτρολόγιο" 175 | 176 | #: src/prefs.js:1078 177 | msgid "Keyboard Shortcuts" 178 | msgstr "Συντομεύσεις πληκτρολογίου" 179 | 180 | #. Advanced Page 181 | #: src/prefs.js:1084 182 | msgid "Advanced" 183 | msgstr "Για προχωρημένους" 184 | 185 | #: src/prefs.js:1086 186 | msgid "Service" 187 | msgstr "Υπηρεσία" 188 | 189 | #: src/prefs.js:1102 190 | msgid "Service Settings" 191 | msgstr "Ρυθμίσεις υπηρεσίας" 192 | 193 | #: src/prefs.js:1103 194 | msgid "Open the settings for the current service" 195 | msgstr "Άνοιγμα ρυθμίσεων για την τρέχουσα συσκευή" 196 | 197 | #: src/prefs.js:1107 198 | msgid "Development" 199 | msgstr "Ανάπτυξη" 200 | 201 | #: src/share.js:44 202 | #, javascript-format 203 | msgid "Send files to %s" 204 | msgstr "Αποστολή αρχείων σε %s" 205 | 206 | #: src/share.js:51 207 | msgid "Cancel" 208 | msgstr "Ακύρωση" 209 | 210 | #: src/share.js:52 211 | msgid "Send" 212 | msgstr "Αποστολή" 213 | 214 | #: src/share.js:69 215 | msgid "MConnect File Share" 216 | msgstr "Διαμοιρασμός αρχείων μέσω MConnect" 217 | 218 | #: src/share.js:143 219 | #, javascript-format 220 | msgid "Sending %d file" 221 | msgid_plural "Sending %d files" 222 | msgstr[0] "Αποστολή %d αρχείου" 223 | msgstr[1] "Αποστολή %d αρχείων" 224 | 225 | #: src/sms.js:349 226 | msgid "Type a phone number" 227 | msgstr "Πληκτρολογήστε έναν αριθμό τηλεφώνου" 228 | 229 | #: src/sms.js:358 230 | msgid "Type a phone number or name" 231 | msgstr "Πληκτρολογήστε έναν αριθμό τηλεφώνου ή ένα όνομα" 232 | 233 | #: src/sms.js:453 234 | msgid "Device is offline" 235 | msgstr "Η συσκευή είναι εκτός σύνδεσης" 236 | 237 | #: src/sms.js:490 238 | msgid "Type an SMS message" 239 | msgstr "Πληκτρολογείστε ένα μήνυμα SMS" 240 | 241 | #. Log the sent message in the Conversation View and clear the entry 242 | #: src/sms.js:698 243 | msgid "You" 244 | msgstr "Έσεις" 245 | 246 | #: src/sms.js:713 247 | msgid "MConnect SMS" 248 | msgstr "" 249 | 250 | #: src/nautilus-send-mconnect.py:87 251 | msgid "Send To Mobile Device" 252 | msgstr "Αποστολή σε κινητή συσκευή" 253 | 254 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 255 | msgid "Debug mode" 256 | msgstr "Κατάσταση αποσφαλμάτωσης" 257 | 258 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 259 | msgid "Enable debug features and logging" 260 | msgstr "Ενεργοποίηση λειτουργιών αποσφαλμάτωσης και καταγραφής" 261 | 262 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 263 | msgid "Device Auto-Mount" 264 | msgstr "Αυτόματη πρόσδεση συσκευής" 265 | 266 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 267 | msgid "Automatically mount devices that support it" 268 | msgstr "Αυτόματη πρόσδεση συσκευών που το υποστηρίζουν" 269 | 270 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 271 | msgid "Device Indicators" 272 | msgstr "Δείκτες συσκευών" 273 | 274 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 275 | msgid "Controls available via Indicators or the User Menu" 276 | msgstr "Ἐλεγχος μέσω δείκτη ή του μενού χρήστη" 277 | 278 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 279 | msgid "Device Visibility" 280 | msgstr "Ορατότητα συσκευής" 281 | 282 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 283 | msgid "Display devices in offline and unpaired states" 284 | msgstr "Εμφάνιση συσκευών εκτός σύνδεσης και μη συζευγμέων" 285 | 286 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 287 | msgid "Device Actions" 288 | msgstr "Ενέργειες συσκευών" 289 | 290 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 291 | msgid "Configure shortcuts for device functions" 292 | msgstr "Επεξεργασία συντομεύσεων για λειτουργίες συσκευών" 293 | 294 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 295 | msgid "Extension Actions" 296 | msgstr "Ενέργειες επεκτάσεων" 297 | 298 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 299 | msgid "Configure shortcuts for extension functions" 300 | msgstr "Επεξεργασία συντομεύσεων για λειτουργίες επεκτάσεων" 301 | 302 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 303 | msgid "Nautilus Integration" 304 | msgstr "Ενσωμάτωση Ναυτίλου" 305 | 306 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 307 | msgid "Send files from the file browser context menu" 308 | msgstr "Αποστολή αρχείων από τα μενού περιβάλλοντος του περιηγητή αρχείων" 309 | 310 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 311 | msgid "Persistent Discovery" 312 | msgstr "Διαρκής αναζήτηση" 313 | 314 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 315 | msgid "Constantly probe the network for devices" 316 | msgstr "Συνεχής έλεγχος δικτύου για συσκευές" 317 | 318 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 319 | msgid "Service Auto-Start" 320 | msgstr "Αυτόματη έναρξη υπηρεσίας" 321 | 322 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 323 | msgid "Start the service automatically and restart if stopped" 324 | msgstr "Αυτόματη έναρξη υπηρεσίας και επανεκκίνησή της σε περίπτωση διακοπής" 325 | 326 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 327 | msgid "Service Provider" 328 | msgstr "Πάροχος υπηρεσιών" 329 | 330 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 331 | msgid "The service providing devices" 332 | msgstr "Η υπηρεσία που παρέχει τις συσκευές" 333 | -------------------------------------------------------------------------------- /po/fr_FR.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 gnome-shell-extension-mconnect package. 4 | # Simon Mellerin , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-18 10:50+0200\n" 12 | "Last-Translator: Simon Mellerin \n" 13 | "Language-Team: Simon Mellerin\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 2.0.1\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "Déconnecté" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "Non-appairé" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Envoyer un SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Localiser l'appareil" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Naviguer dans les fichiers" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Envoyer des fichiers" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Demander à s'appairer" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "L'appareil n'est pas appairé" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Reconnexion en cours" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Tentative de reconnexion..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Le périphérique est déconnecté" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Échec lors du montage du système de fichier de l'appareil" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Téléphones" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Activer" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Paramètres MConnect" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Arrêter la recherche d'appareils" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Chercher des appareils" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Changement de l'extension Nautilus" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Redémarrer Nautilus pour appliquer les changements" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Redémarrer" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Rien" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Vrai" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Faux" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Sélectionnez un appareil" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Ouvrir le menu Extension" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Ouvrir les préférences de l'extension" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Ouvrir les paramètres du service" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Ouvrir le menu Appareil" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Appairer/Reconnecter" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Retirer" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Retirer le raccourci pour un appareil obsolète" 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Raccourcis clavier indisponible" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "Ce raccourci clavier est déjà utilisé par une autre application et ne peut " 155 | "être écrasé" 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Général" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Apparence" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Fichiers" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Clavier" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Raccourcis clavier" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Avancé" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Service" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Paramètres du service" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Ouvrir les paramètres du service sélectionné" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Développement" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Envoie des fichiers vers %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Annuler" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Envoyer" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "Partage de fichier MConnect" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "Envoi d'un fichier" 222 | msgstr[1] "Envoi de %d fichiers" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Entrez un numéro de téléphone" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Entrez un numéro de téléphone ou un nom" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "L'appareil est hors-ligne" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "Redigez un SMS" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "Vous" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "Mconnect SMS" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "Envoyer au téléphone" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Mode débug" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Activer le débug et le logging" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Montage automatique du téléphone" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Monter automatiquement les appareils qui le peuvent" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Indicateur d'appareils" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "Contrôles disponibles par l'Indicateur ou par le Menu d'utilisateur" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 278 | msgid "Device Visibility" 279 | msgstr "Visibilité de l'appareil" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 282 | msgid "Display devices in offline and unpaired states" 283 | msgstr "Faire apparaître les appareils déconnectés ou non-appairés" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 286 | msgid "Device Actions" 287 | msgstr "Actions de l'appareil" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 290 | msgid "Configure shortcuts for device functions" 291 | msgstr "Configurer des raccourcis pour les fonctions de l'appareil" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 294 | msgid "Extension Actions" 295 | msgstr "Action de l'extention" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 298 | msgid "Configure shortcuts for extension functions" 299 | msgstr "Configurer des raccourcis pour les fonctions de l'extension" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 302 | msgid "Nautilus Integration" 303 | msgstr "Intégration de Nautilus" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 306 | msgid "Send files from the file browser context menu" 307 | msgstr "Envoyer des fichiers par le menu contextuel du navigateur de fichiers" 308 | 309 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 310 | msgid "Persistent Discovery" 311 | msgstr "Découverte persistante" 312 | 313 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 314 | msgid "Constantly probe the network for devices" 315 | msgstr "Rechercher continuellement des appareils sur le réseau" 316 | 317 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 318 | msgid "Service Auto-Start" 319 | msgstr "Démarrage automatique du service" 320 | 321 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 322 | msgid "Start the service automatically and restart if stopped" 323 | msgstr "Démarrer le service automatiquement et le redémarrer s'il est arrété" 324 | 325 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 326 | msgid "Service Provider" 327 | msgstr "Fournisseur de service" 328 | 329 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 330 | msgid "The service providing devices" 331 | msgstr "Service connectant les appareils" 332 | -------------------------------------------------------------------------------- /po/gnome-shell-extension-mconnect.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2017-09-16 15:41-0700\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 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "" 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "" 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | 155 | #. Preferences Page 156 | #: src/prefs.js:1065 157 | msgid "General" 158 | msgstr "" 159 | 160 | #: src/prefs.js:1067 161 | msgid "Appearance" 162 | msgstr "" 163 | 164 | #: src/prefs.js:1071 165 | msgid "Files" 166 | msgstr "" 167 | 168 | #. Keyboard Shortcuts Page 169 | #: src/prefs.js:1076 170 | msgid "Keyboard" 171 | msgstr "" 172 | 173 | #: src/prefs.js:1078 174 | msgid "Keyboard Shortcuts" 175 | msgstr "" 176 | 177 | #. Advanced Page 178 | #: src/prefs.js:1084 179 | msgid "Advanced" 180 | msgstr "" 181 | 182 | #: src/prefs.js:1086 183 | msgid "Service" 184 | msgstr "" 185 | 186 | #: src/prefs.js:1102 187 | msgid "Service Settings" 188 | msgstr "" 189 | 190 | #: src/prefs.js:1103 191 | msgid "Open the settings for the current service" 192 | msgstr "" 193 | 194 | #: src/prefs.js:1107 195 | msgid "Development" 196 | msgstr "" 197 | 198 | #: src/share.js:44 199 | #, javascript-format 200 | msgid "Send files to %s" 201 | msgstr "" 202 | 203 | #: src/share.js:51 204 | msgid "Cancel" 205 | msgstr "" 206 | 207 | #: src/share.js:52 208 | msgid "Send" 209 | msgstr "" 210 | 211 | #: src/share.js:69 212 | msgid "MConnect File Share" 213 | msgstr "" 214 | 215 | #: src/share.js:143 216 | #, javascript-format 217 | msgid "Sending %d file" 218 | msgid_plural "Sending %d files" 219 | msgstr[0] "" 220 | msgstr[1] "" 221 | 222 | #: src/sms.js:349 223 | msgid "Type a phone number" 224 | msgstr "" 225 | 226 | #: src/sms.js:358 227 | msgid "Type a phone number or name" 228 | msgstr "" 229 | 230 | #: src/sms.js:453 231 | msgid "Device is offline" 232 | msgstr "" 233 | 234 | #: src/sms.js:490 235 | msgid "Type an SMS message" 236 | msgstr "" 237 | 238 | #. Log the sent message in the Conversation View and clear the entry 239 | #: src/sms.js:698 240 | msgid "You" 241 | msgstr "" 242 | 243 | #: src/sms.js:713 244 | msgid "MConnect SMS" 245 | msgstr "" 246 | 247 | #: src/nautilus-send-mconnect.py:87 248 | msgid "Send To Mobile Device" 249 | msgstr "" 250 | 251 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 252 | msgid "Debug mode" 253 | msgstr "" 254 | 255 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 256 | msgid "Enable debug features and logging" 257 | msgstr "" 258 | 259 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 260 | msgid "Device Auto-Mount" 261 | msgstr "" 262 | 263 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 264 | msgid "Automatically mount devices that support it" 265 | msgstr "" 266 | 267 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 268 | msgid "Device Indicators" 269 | msgstr "" 270 | 271 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 272 | msgid "Controls available via Indicators or the User Menu" 273 | msgstr "" 274 | 275 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 276 | msgid "Device Visibility" 277 | msgstr "" 278 | 279 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 280 | msgid "Display devices in offline and unpaired states" 281 | msgstr "" 282 | 283 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 284 | msgid "Device Actions" 285 | msgstr "" 286 | 287 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 288 | msgid "Configure shortcuts for device functions" 289 | msgstr "" 290 | 291 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 292 | msgid "Extension Actions" 293 | msgstr "" 294 | 295 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 296 | msgid "Configure shortcuts for extension functions" 297 | msgstr "" 298 | 299 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 300 | msgid "Nautilus Integration" 301 | msgstr "" 302 | 303 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 304 | msgid "Send files from the file browser context menu" 305 | msgstr "" 306 | 307 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 308 | msgid "Persistent Discovery" 309 | msgstr "" 310 | 311 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 312 | msgid "Constantly probe the network for devices" 313 | msgstr "" 314 | 315 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 316 | msgid "Service Auto-Start" 317 | msgstr "" 318 | 319 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 320 | msgid "Start the service automatically and restart if stopped" 321 | msgstr "" 322 | 323 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 324 | msgid "Service Provider" 325 | msgstr "" 326 | 327 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 328 | msgid "The service providing devices" 329 | msgstr "" 330 | -------------------------------------------------------------------------------- /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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-06 16:01+0200\n" 12 | "Last-Translator: Báthory Péter \n" 13 | "Language-Team: \n" 14 | "Language: hu\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 2.0.1\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "OFFLINE" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "NINCS PÁROSÍTVA" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "SMS küldése" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Eszköz keresése" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Fájlrendszer böngészése" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Fájlok küldése" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Párosítás kérése" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Az eszköz nincs párosítva" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Újracsatlakozási kísérlet" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Újracsatlakozás megkísérlése…" 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Az eszköz nincs csatlakoztatva" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Nem sikerült csatolni az eszköz fájlrendszerét" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Mobil eszközök" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Engedélyezés" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Mobil beállítások" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Eszközfelderítés leállítása" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Eszközök felderítése" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "A Nautilus bővítmény módosult" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "A módosítások alkalmazásához indítsa újra a Nautilust" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Újraindítás" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Semmi" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Igaz" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Hamis" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Eszköz kiválasztása" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Bővítmények menü megnyitása" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Bővítmény beállításainak megnyitása" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Szolgáltatás beállításainak megnyitása" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Eszköz menü megnyitása" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Párosítás/Újracsatlakozás" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Eltávolítás" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Nemlétező eszköz parancsikonjának eltávolítása." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Gyorsbillentyű nem érhető el" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "A kívánt gyorsbillentyűt egy másik alkalmazás már használja, amit nem lehet " 155 | "felülbírálni." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Általános" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Megjelenítés" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Fájlok" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Billentyűzet" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Gyorsbillentyűk" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Haladó" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Szolgáltatás" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Szolgáltatás beállításai" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "A jelenlegi szolgáltató beállításainak megnyitása" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Fejlesztés" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Fájlok küldése ide: %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Mégsem" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Küldés" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "MConnect fájlmegosztás" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "%d fájl küldése" 222 | msgstr[1] "%d fájl küldése" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Adjon meg egy telefonszámot" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Adjon meg egy telefonszámot vagy nevet" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "Az eszköz offline" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "Írja be az SMS üzenetet" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "Ön" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "MConnect SMS" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "Küldés mobil eszközre" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Hibakeresési mód" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Hibakeresési lehetőségek és naplózás engedélyezése" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Eszköz automatikus csatolása" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Az azt támogató eszközök automatikus csatolása" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Eszköz indikátorok" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "" 276 | "A kezelés indikátoron keresztül vagy a felhasználói menüben legyen elérhető" 277 | 278 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 279 | msgid "Device Visibility" 280 | msgstr "Eszköz láthatóság" 281 | 282 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 283 | msgid "Display devices in offline and unpaired states" 284 | msgstr "Offline és párosítatlan állapotú eszközök megjelenítése" 285 | 286 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 287 | msgid "Device Actions" 288 | msgstr "Eszközműveletek" 289 | 290 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 291 | msgid "Configure shortcuts for device functions" 292 | msgstr "Gyorsbillentyűk konfigurálása az eszköz funkcióihoz" 293 | 294 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 295 | msgid "Extension Actions" 296 | msgstr "Bővítmény műveletek" 297 | 298 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 299 | msgid "Configure shortcuts for extension functions" 300 | msgstr "Gyorsbillentyűk konfigurálása a bővítmény funkcióihoz" 301 | 302 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 303 | msgid "Nautilus Integration" 304 | msgstr "Nautlius integráció" 305 | 306 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 307 | msgid "Send files from the file browser context menu" 308 | msgstr "Fájlok küldése a fájlkezelő helyi menüjéből" 309 | 310 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 311 | msgid "Persistent Discovery" 312 | msgstr "" 313 | 314 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 315 | msgid "Constantly probe the network for devices" 316 | msgstr "" 317 | 318 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 319 | msgid "Service Auto-Start" 320 | msgstr "Szolgáltatás auto-start" 321 | 322 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 323 | msgid "Start the service automatically and restart if stopped" 324 | msgstr "Szolgáltatás indítása automatikusan és újraindítása, ha leállt" 325 | 326 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 327 | msgid "Service Provider" 328 | msgstr "Szolgáltató" 329 | 330 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 331 | #, fuzzy 332 | msgid "The service providing devices" 333 | msgstr "A szolgáltatás, amin keresztül az eszközt el lehet érni." 334 | -------------------------------------------------------------------------------- /po/it_IT.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the gnome-shell-extension-mconnect package. 4 | # Andreas Cattelan , 2017 5 | # Michael Moroni , 2017 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 12 | "PO-Revision-Date: 2017-09-30 18:42+0200\n" 13 | "Last-Translator: Michael Moroni, \n" 14 | "Language-Team: Andreas Cattelan\n" 15 | "Language: it_IT\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: Poedit 1.8.7.1\n" 21 | 22 | #: src/extension.js:37 23 | msgid "OFFLINE" 24 | msgstr "NON IN LINEA" 25 | 26 | #: src/extension.js:38 27 | msgid "UNPAIRED" 28 | msgstr "NON COLLEGATO" 29 | 30 | #: src/extension.js:313 src/prefs.js:715 31 | msgid "Send SMS" 32 | msgstr "Invia SMS" 33 | 34 | #: src/extension.js:320 src/prefs.js:716 35 | msgid "Locate Device" 36 | msgstr "Cerca dispositivo" 37 | 38 | #: src/extension.js:328 src/prefs.js:717 39 | msgid "Browse Files" 40 | msgstr "Cerca file" 41 | 42 | #: src/extension.js:335 src/prefs.js:718 43 | msgid "Send Files" 44 | msgstr "Invia file" 45 | 46 | #: src/extension.js:494 47 | msgid "Request Pair" 48 | msgstr "Richiedi accoppiamento" 49 | 50 | #: src/extension.js:495 51 | msgid "Device is unpaired" 52 | msgstr "Il dispositivo non è collegato" 53 | 54 | #: src/extension.js:498 55 | msgid "Attempt Reconnection" 56 | msgstr "Prova ricollegamento" 57 | 58 | #: src/extension.js:501 59 | msgid "Attempting to reconnect..." 60 | msgstr "Ricollegamento in corso..." 61 | 62 | #: src/extension.js:507 63 | msgid "Device is disconnected" 64 | msgstr "Il dispositivo è disconnesso" 65 | 66 | #: src/extension.js:550 67 | msgid "Failed to mount device filesystem" 68 | msgstr "Impossibile montare il filesystem del dispositivo" 69 | 70 | #: src/extension.js:704 71 | msgid "Mobile Devices" 72 | msgstr "Dispositivi mobili" 73 | 74 | #: src/extension.js:722 75 | msgid "Enable" 76 | msgstr "Attiva" 77 | 78 | #: src/extension.js:728 79 | msgid "Mobile Settings" 80 | msgstr "Impostazioni" 81 | 82 | #: src/extension.js:780 83 | msgid "Stop Discovering Devices" 84 | msgstr "Interrompi ricerca dispositivi" 85 | 86 | #: src/extension.js:782 src/prefs.js:653 87 | msgid "Discover Devices" 88 | msgstr "Ricerca dispositivi" 89 | 90 | #: src/extension.js:1068 91 | msgid "Nautilus extensions changed" 92 | msgstr "Estensioni Nautilus cambiate" 93 | 94 | #: src/extension.js:1069 95 | msgid "Restart Nautilus to apply changes" 96 | msgstr "Riavvia Nautilus per l'applicazione dei cambiamenti" 97 | 98 | #: src/extension.js:1074 99 | msgid "Restart" 100 | msgstr "Riavvia" 101 | 102 | #: src/prefs.js:155 103 | msgid "Nothing" 104 | msgstr "Niente" 105 | 106 | #: src/prefs.js:168 107 | msgid "True" 108 | msgstr "Vero" 109 | 110 | #: src/prefs.js:181 111 | msgid "False" 112 | msgstr "Falso" 113 | 114 | #: src/prefs.js:439 115 | msgid "Select a device" 116 | msgstr "Seleziona un dispositivo" 117 | 118 | #: src/prefs.js:652 119 | msgid "Open extension menu" 120 | msgstr "Apri menù estensioni" 121 | 122 | #: src/prefs.js:654 123 | msgid "Open extension preferences" 124 | msgstr "Apri preferenze estensioni" 125 | 126 | #: src/prefs.js:655 127 | msgid "Open service settings" 128 | msgstr "Apri impostazioni servizi" 129 | 130 | #: src/prefs.js:714 131 | msgid "Open device menu" 132 | msgstr "Apri menù del dispositivo" 133 | 134 | #: src/prefs.js:719 135 | msgid "Pair/Reconnect" 136 | msgstr "Accoppia/riconnetti" 137 | 138 | #: src/prefs.js:723 139 | msgid "Remove" 140 | msgstr "Rimuovi" 141 | 142 | #: src/prefs.js:724 143 | msgid "Remove the shortcuts for a defunct device." 144 | msgstr "Rimuovi scorciatoie per dispositivi inutilizzati" 145 | 146 | #: src/prefs.js:816 147 | msgid "Keyboard Shortcut Unavailable" 148 | msgstr "Scorciatoia non disponibile" 149 | 150 | #: src/prefs.js:817 151 | msgid "" 152 | "The requested keyboard shortcut is in use by another application and can't " 153 | "be overridden." 154 | msgstr "" 155 | "La scorciatoia richiesta è utilizzata da un'altra applicazione e non può " 156 | "essere sovrascritta." 157 | 158 | #. Preferences Page 159 | #: src/prefs.js:1065 160 | msgid "General" 161 | msgstr "Generale" 162 | 163 | #: src/prefs.js:1067 164 | msgid "Appearance" 165 | msgstr "Aspetto" 166 | 167 | #: src/prefs.js:1071 168 | msgid "Files" 169 | msgstr "File" 170 | 171 | #. Keyboard Shortcuts Page 172 | #: src/prefs.js:1076 173 | msgid "Keyboard" 174 | msgstr "Tastiera" 175 | 176 | #: src/prefs.js:1078 177 | msgid "Keyboard Shortcuts" 178 | msgstr "Scorciatoie tastiera" 179 | 180 | #. Advanced Page 181 | #: src/prefs.js:1084 182 | msgid "Advanced" 183 | msgstr "Avanzate" 184 | 185 | #: src/prefs.js:1086 186 | msgid "Service" 187 | msgstr "Servizi" 188 | 189 | #: src/prefs.js:1102 190 | msgid "Service Settings" 191 | msgstr "Impostazioni servizi" 192 | 193 | #: src/prefs.js:1103 194 | msgid "Open the settings for the current service" 195 | msgstr "Apri le impostazioni per il servizio attuale" 196 | 197 | #: src/prefs.js:1107 198 | msgid "Development" 199 | msgstr "Sviluppo" 200 | 201 | #: src/share.js:44 202 | #, javascript-format 203 | msgid "Send files to %s" 204 | msgstr "Invia file a %s" 205 | 206 | #: src/share.js:51 207 | msgid "Cancel" 208 | msgstr "Cancella" 209 | 210 | #: src/share.js:52 211 | msgid "Send" 212 | msgstr "Invia" 213 | 214 | #: src/share.js:69 215 | msgid "MConnect File Share" 216 | msgstr "MConnect Condivisione file" 217 | 218 | #: src/share.js:143 219 | #, javascript-format 220 | msgid "Sending %d file" 221 | msgid_plural "Sending %d files" 222 | msgstr[0] "Invio %d file in corso" 223 | msgstr[1] "Invio %d file in corso" 224 | 225 | #: src/sms.js:349 226 | msgid "Type a phone number" 227 | msgstr "Digita un numero di telefono" 228 | 229 | #: src/sms.js:358 230 | msgid "Type a phone number or name" 231 | msgstr "Digita un numero di telefono o nome" 232 | 233 | #: src/sms.js:453 234 | msgid "Device is offline" 235 | msgstr "Il dispositivo non è in linea" 236 | 237 | #: src/sms.js:490 238 | msgid "Type an SMS message" 239 | msgstr "Scrivi un SMS" 240 | 241 | #. Log the sent message in the Conversation View and clear the entry 242 | #: src/sms.js:698 243 | msgid "You" 244 | msgstr "Tu" 245 | 246 | #: src/sms.js:713 247 | msgid "MConnect SMS" 248 | msgstr "MConnect SMS" 249 | 250 | #: src/nautilus-send-mconnect.py:87 251 | msgid "Send To Mobile Device" 252 | msgstr "Invia a dispositivo" 253 | 254 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 255 | msgid "Debug mode" 256 | msgstr "Modalità debug" 257 | 258 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 259 | msgid "Enable debug features and logging" 260 | msgstr "Attiva le modalità e la registrazione debug" 261 | 262 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 263 | msgid "Device Auto-Mount" 264 | msgstr "Monta automaticamente dispositivo" 265 | 266 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 267 | msgid "Automatically mount devices that support it" 268 | msgstr "Monta automaticamente i dispositivi che supportano il servizio" 269 | 270 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 271 | msgid "Device Indicators" 272 | msgstr "Indicatore dispositivi" 273 | 274 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 275 | msgid "Controls available via Indicators or the User Menu" 276 | msgstr "Controlli disponibili tra gli indicatori o nel menu utente" 277 | 278 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 279 | msgid "Device Visibility" 280 | msgstr "Visibilità dispositivi" 281 | 282 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 283 | msgid "Display devices in offline and unpaired states" 284 | msgstr "Visualizza dispositivi non collegati o non in linea" 285 | 286 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 287 | msgid "Device Actions" 288 | msgstr "Azioni dispositivo" 289 | 290 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 291 | msgid "Configure shortcuts for device functions" 292 | msgstr "Configura scorciatoie per dispositivi" 293 | 294 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 295 | msgid "Extension Actions" 296 | msgstr "Azioni estensione" 297 | 298 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 299 | msgid "Configure shortcuts for extension functions" 300 | msgstr "Configura scorciatoie per funzioni dell'estensione" 301 | 302 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 303 | msgid "Nautilus Integration" 304 | msgstr "Integrazione Nautilus" 305 | 306 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 307 | msgid "Send files from the file browser context menu" 308 | msgstr "Invia file direttamente dal menù di contesto di Nautilus" 309 | 310 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 311 | msgid "Persistent Discovery" 312 | msgstr "Ricerca permanente" 313 | 314 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 315 | msgid "Constantly probe the network for devices" 316 | msgstr "Analizza continuamente la rete alla ricerca di altri dispositivi" 317 | 318 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 319 | msgid "Service Auto-Start" 320 | msgstr "Servizio di autoavvio" 321 | 322 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 323 | msgid "Start the service automatically and restart if stopped" 324 | msgstr "Avvia il servizio automaticamente e riavvia se fermato" 325 | 326 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 327 | msgid "Service Provider" 328 | msgstr "Dispositivi in servizio" 329 | 330 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 331 | msgid "The service providing devices" 332 | msgstr "Servizi che soddisfano i dispositivi" 333 | 334 | #~ msgid "Website" 335 | #~ msgstr "Sito web" 336 | 337 | #~ msgid "© 2017 Andy Holmes" 338 | #~ msgstr "© 2017 Andy Holmes" 339 | 340 | #~ msgid "" 341 | #~ "If the device no longer available the keybindings will be deleted, " 342 | #~ "otherwise reset." 343 | #~ msgstr "" 344 | #~ "Se il dispositivo non è più disponibile le associazioni dei tasti " 345 | #~ "verranno cancellate, altrimenti riavvia." 346 | 347 | #~ msgid "Preferences" 348 | #~ msgstr "Preferenze" 349 | 350 | #~ msgid "Behaviour" 351 | #~ msgstr "Comportamento" 352 | 353 | #~ msgid "Shortcuts" 354 | #~ msgstr "Scorciatoie" 355 | 356 | #~ msgid "About" 357 | #~ msgstr "Informazioni" 358 | 359 | #~ msgid "Send file..." 360 | #~ msgstr "Invia file..." 361 | 362 | #~ msgid "Device Shortcuts" 363 | #~ msgstr "Scorciatoie dispositivi" 364 | -------------------------------------------------------------------------------- /po/meson.build: -------------------------------------------------------------------------------- 1 | # build translations in LINGUAS 2 | 3 | intl = import('i18n') 4 | 5 | intl.gettext( 6 | meson.project_name(), 7 | preset: 'glib' 8 | ) 9 | 10 | -------------------------------------------------------------------------------- /po/nl_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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-15 21:04+0200\n" 12 | "Last-Translator: Heimen Stoffels \n" 13 | "Language-Team: \n" 14 | "Language: nl_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 2.0.2\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "OFFLINE" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "NIET GEKOPPELD" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "SMS versturen" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Apparaat lokaliseren" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Door bestanden bladeren" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Bestanden versturen" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Koppeling verzoeken" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Apparaat is niet gekoppeld" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Opnieuw verbinden" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Bezig met proberen om opnieuw te verbinden..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Apparaat is afgekoppeld" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Aankoppelen van bestandssysteem van apparaat is mislukt" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Mobiele apparaten" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Inschakelen" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Mobiele instellingen" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Stoppen met zoeken naar apparaten" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Zoeken naar apparaten" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Nautilus-uitbreidingen zijn gewijzigd" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Herstart Nautilus om de wijzigingen toe te passen" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Herstarten" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Niks" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Waar" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Niet waar" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Selecteer een apparaat" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Uitbreidingsmenu openen" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Uitbreidingsvoorkeuren openen" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Dienstinstellingen openen" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Apparaatmenu openen" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Koppelen/Opnieuw verbinden" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Verwijderen" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Verwijder de sneltoetsen voor een niet langer bestaand apparaat." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Sneltoets is niet beschikbaar" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "De gevraagde sneltoets is in gebruik door een andere applicatie en kan niet " 155 | "worden overschreven." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Algemeen" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Uiterlijk" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Bestanden" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Toetsenbord" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Sneltoetsen" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Geavanceerd" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Dienst" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Dienstinstellingen" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Instellingen openen voor de huidige dienst" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Ontwikkeling" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Bestanden versturen naar %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Annuleren" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Versturen" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "MConnect-bestandsdeling" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "Bezig met versturen van %d bestand" 222 | msgstr[1] "Bezig met versturen van %d bestanden" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Typ een telefoonnummer" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Typ een telefoonnummer of naam" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "Apparaat is offline" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "Typ een sms-bericht" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "U" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "MConnect SMS" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "Versturen naar mobiel apparaat" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Foutopsporingsmodus" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Foutopsporingsfuncties en loggen inschakelen" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Apparaten automatisch aankoppelen" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Automatische aankoppeling van apparaten die dit ondersteunen" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Apparaatindicators" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "Besturing beschikbaar via indicators of het gebruikersmenu" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 278 | msgid "Device Visibility" 279 | msgstr "Apparaatzichtbaarheid" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 282 | msgid "Display devices in offline and unpaired states" 283 | msgstr "Apparaten die offline of niet gekoppeld zijn weergeven" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 286 | msgid "Device Actions" 287 | msgstr "Apparaatacties" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 290 | msgid "Configure shortcuts for device functions" 291 | msgstr "Sneltoetsen instellen voor apparaatfuncties" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 294 | msgid "Extension Actions" 295 | msgstr "Uitbreiding-acties" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 298 | msgid "Configure shortcuts for extension functions" 299 | msgstr "Sneltoetsen instellingen voor uitbreiding-functies" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 302 | msgid "Nautilus Integration" 303 | msgstr "Nautilus-integratie" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 306 | msgid "Send files from the file browser context menu" 307 | msgstr "" 308 | "Bestanden versturen vanuit het rechtermuisknopmenu van de bestandsbeheerder" 309 | 310 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 311 | msgid "Persistent Discovery" 312 | msgstr "Voortdurend blijven zoeken" 313 | 314 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 315 | msgid "Constantly probe the network for devices" 316 | msgstr "Continue op het netwerk zoeken naar apparaten" 317 | 318 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 319 | msgid "Service Auto-Start" 320 | msgstr "Dienst automatisch starten" 321 | 322 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 323 | msgid "Start the service automatically and restart if stopped" 324 | msgstr "Dienst automatisch starten en herstarten indien gestopt" 325 | 326 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 327 | msgid "Service Provider" 328 | msgstr "Dienstprovider" 329 | 330 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 331 | msgid "The service providing devices" 332 | msgstr "De dienst die in apparaten voorziet" 333 | -------------------------------------------------------------------------------- /po/pl_PL.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # Piotr Piórkowski , 2017 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 12 | "PO-Revision-Date: 2017-10-28 07:56+0200\n" 13 | "Last-Translator: Piotr Komur \n" 14 | "Language-Team: Piotr Komur\n" 15 | "Language: pl_PL\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=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " 20 | "|| n%100>=20) ? 1 : 2);\n" 21 | "X-Generator: Poedit 2.0.4\n" 22 | "X-Poedit-SourceCharset: UTF-8\n" 23 | 24 | #: src/extension.js:37 25 | msgid "OFFLINE" 26 | msgstr "ODŁĄCZONY" 27 | 28 | #: src/extension.js:38 29 | msgid "UNPAIRED" 30 | msgstr "NIESPAROWANY" 31 | 32 | #: src/extension.js:313 src/prefs.js:715 33 | msgid "Send SMS" 34 | msgstr "Wyślij SMS" 35 | 36 | #: src/extension.js:320 src/prefs.js:716 37 | msgid "Locate Device" 38 | msgstr "Lokalizuj urządzenie" 39 | 40 | #: src/extension.js:328 src/prefs.js:717 41 | msgid "Browse Files" 42 | msgstr "Przeglądaj pliki" 43 | 44 | #: src/extension.js:335 src/prefs.js:718 45 | msgid "Send Files" 46 | msgstr "Wyślij pliki" 47 | 48 | #: src/extension.js:494 49 | msgid "Request Pair" 50 | msgstr "Rozpocznij parowanie" 51 | 52 | #: src/extension.js:495 53 | msgid "Device is unpaired" 54 | msgstr "Urządzenie jest niesparowane" 55 | 56 | #: src/extension.js:498 57 | msgid "Attempt Reconnection" 58 | msgstr "Spróbuj ponownie nawiązać połączenie" 59 | 60 | #: src/extension.js:501 61 | msgid "Attempting to reconnect..." 62 | msgstr "Próba nawiązania połączenia..." 63 | 64 | #: src/extension.js:507 65 | msgid "Device is disconnected" 66 | msgstr "Urządzenie jest odłączone" 67 | 68 | #: src/extension.js:550 69 | msgid "Failed to mount device filesystem" 70 | msgstr "Błąd podczas montowania systemu plików" 71 | 72 | #: src/extension.js:704 73 | msgid "Mobile Devices" 74 | msgstr "Urządzenia mobilne" 75 | 76 | #: src/extension.js:722 77 | msgid "Enable" 78 | msgstr "Włączone" 79 | 80 | #: src/extension.js:728 81 | msgid "Mobile Settings" 82 | msgstr "Preferencje" 83 | 84 | #: src/extension.js:780 85 | msgid "Stop Discovering Devices" 86 | msgstr "Zatrzymaj poszukiwanie urządzeń" 87 | 88 | #: src/extension.js:782 src/prefs.js:653 89 | msgid "Discover Devices" 90 | msgstr "Wykryj urządzenia" 91 | 92 | #: src/extension.js:1068 93 | msgid "Nautilus extensions changed" 94 | msgstr "Rozszerzenie Nautilusa zostało zmienione" 95 | 96 | #: src/extension.js:1069 97 | msgid "Restart Nautilus to apply changes" 98 | msgstr "Uruchom ponownie Nautilusa, aby wprowadzić zmiany" 99 | 100 | #: src/extension.js:1074 101 | msgid "Restart" 102 | msgstr "Uruchom ponownie" 103 | 104 | #: src/prefs.js:155 105 | msgid "Nothing" 106 | msgstr "Nic" 107 | 108 | #: src/prefs.js:168 109 | msgid "True" 110 | msgstr "Prawda" 111 | 112 | #: src/prefs.js:181 113 | msgid "False" 114 | msgstr "Fałsz" 115 | 116 | #: src/prefs.js:439 117 | msgid "Select a device" 118 | msgstr "Wybierz urządzenie" 119 | 120 | #: src/prefs.js:652 121 | msgid "Open extension menu" 122 | msgstr "Otwórz menu rozszerzenia" 123 | 124 | #: src/prefs.js:654 125 | msgid "Open extension preferences" 126 | msgstr "Otwórz preferencje rozszerzenia" 127 | 128 | #: src/prefs.js:655 129 | msgid "Open service settings" 130 | msgstr "Otwórz preferencje usługi" 131 | 132 | #: src/prefs.js:714 133 | msgid "Open device menu" 134 | msgstr "Otwórz menu urządzenia" 135 | 136 | #: src/prefs.js:719 137 | msgid "Pair/Reconnect" 138 | msgstr "Paruj/Połącz ponownie" 139 | 140 | #: src/prefs.js:723 141 | msgid "Remove" 142 | msgstr "Usuń" 143 | 144 | #: src/prefs.js:724 145 | msgid "Remove the shortcuts for a defunct device." 146 | msgstr "Usuń skróty rozparowanego urządzenia." 147 | 148 | #: src/prefs.js:816 149 | msgid "Keyboard Shortcut Unavailable" 150 | msgstr "Skrót klawiszowy jest niedostępny" 151 | 152 | #: src/prefs.js:817 153 | msgid "" 154 | "The requested keyboard shortcut is in use by another application and can't " 155 | "be overridden." 156 | msgstr "" 157 | "Wybrany skrót klawiszowy jest użyty przez inną aplikację i nie może być " 158 | "nadpisany." 159 | 160 | #. Preferences Page 161 | #: src/prefs.js:1065 162 | msgid "General" 163 | msgstr "Ogólne" 164 | 165 | #: src/prefs.js:1067 166 | msgid "Appearance" 167 | msgstr "Wygląd" 168 | 169 | #: src/prefs.js:1071 170 | msgid "Files" 171 | msgstr "Pliki" 172 | 173 | #. Keyboard Shortcuts Page 174 | #: src/prefs.js:1076 175 | msgid "Keyboard" 176 | msgstr "Klawiatura" 177 | 178 | #: src/prefs.js:1078 179 | msgid "Keyboard Shortcuts" 180 | msgstr "Skróty klawiszowe" 181 | 182 | #. Advanced Page 183 | #: src/prefs.js:1084 184 | msgid "Advanced" 185 | msgstr "Zawansowane" 186 | 187 | #: src/prefs.js:1086 188 | msgid "Service" 189 | msgstr "Usługa" 190 | 191 | #: src/prefs.js:1102 192 | msgid "Service Settings" 193 | msgstr "Otwórz preferencje usługi" 194 | 195 | #: src/prefs.js:1103 196 | msgid "Open the settings for the current service" 197 | msgstr "Otwórz ustawienia dla bieżącej usługi" 198 | 199 | #: src/prefs.js:1107 200 | msgid "Development" 201 | msgstr "Dla programistów" 202 | 203 | #: src/share.js:44 204 | #, javascript-format 205 | msgid "Send files to %s" 206 | msgstr "Wyślij pliki do %s" 207 | 208 | #: src/share.js:51 209 | msgid "Cancel" 210 | msgstr "Anuluj" 211 | 212 | #: src/share.js:52 213 | msgid "Send" 214 | msgstr "Wyślij" 215 | 216 | #: src/share.js:69 217 | msgid "MConnect File Share" 218 | msgstr "Udostępnianie plików przez MConnect" 219 | 220 | #: src/share.js:143 221 | #, javascript-format 222 | msgid "Sending %d file" 223 | msgid_plural "Sending %d files" 224 | msgstr[0] "Wysyłanie %d pliku" 225 | msgstr[1] "Wysyłanie %d plików" 226 | msgstr[2] "Wysyłanie %d plików" 227 | 228 | #: src/sms.js:349 229 | msgid "Type a phone number" 230 | msgstr "Wybierz numer telefonu" 231 | 232 | #: src/sms.js:358 233 | msgid "Type a phone number or name" 234 | msgstr "Wybierz numer telefonu lub nazwę kontaktu" 235 | 236 | #: src/sms.js:453 237 | msgid "Device is offline" 238 | msgstr "Urządzenie jest offline" 239 | 240 | #: src/sms.js:490 241 | msgid "Type an SMS message" 242 | msgstr "Napisz wiadomość SMS" 243 | 244 | #. Log the sent message in the Conversation View and clear the entry 245 | #: src/sms.js:698 246 | msgid "You" 247 | msgstr "Ty" 248 | 249 | #: src/sms.js:713 250 | msgid "MConnect SMS" 251 | msgstr "MConnect SMS" 252 | 253 | #: src/nautilus-send-mconnect.py:87 254 | msgid "Send To Mobile Device" 255 | msgstr "Wyslij do urządzenia mobilnego" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 258 | msgid "Debug mode" 259 | msgstr "Tryb debugowania" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 262 | msgid "Enable debug features and logging" 263 | msgstr "Włącz funkcje trybu debugowania oraz śledzenie" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 266 | msgid "Device Auto-Mount" 267 | msgstr "Automatyczne montowanie urządzenia" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 270 | msgid "Automatically mount devices that support it" 271 | msgstr "Automatycznie montowanie urządzeń, które wspierąją tą funkcję" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 274 | msgid "Device Indicators" 275 | msgstr "Indykator urządzenia" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 278 | msgid "Controls available via Indicators or the User Menu" 279 | msgstr "Kontrola dostępna poprzez indykator lub menu użytkownika" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 282 | msgid "Device Visibility" 283 | msgstr "Widoczność urządzenia" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 286 | msgid "Display devices in offline and unpaired states" 287 | msgstr "Pokaż urządzenia odłączone i niesparowane" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 290 | msgid "Device Actions" 291 | msgstr "Funkcje urządzenia" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 294 | msgid "Configure shortcuts for device functions" 295 | msgstr "Konfiguruj skróty dla funkcji urządzenia" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 298 | msgid "Extension Actions" 299 | msgstr "Funkcje rozszerzenia" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 302 | msgid "Configure shortcuts for extension functions" 303 | msgstr "Konfiguruj skróty dla funkcji rozszerzenia" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 306 | msgid "Nautilus Integration" 307 | msgstr "Integracja z menedżerem plików Nautilus" 308 | 309 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 310 | msgid "Send files from the file browser context menu" 311 | msgstr "Wyślij pliki z menu kontekstowego menedżera plików" 312 | 313 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 314 | msgid "Persistent Discovery" 315 | msgstr "Ciągłe wykrywanie" 316 | 317 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 318 | msgid "Constantly probe the network for devices" 319 | msgstr "Stale sprawdzaj sieć w poszukiwaniu urządzeń" 320 | 321 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 322 | msgid "Service Auto-Start" 323 | msgstr "Automatyczy uruchamianie usługi" 324 | 325 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 326 | msgid "Start the service automatically and restart if stopped" 327 | msgstr "Uruchom usługę automatycznie i restartuj po zatrzymaniu" 328 | 329 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 330 | msgid "Service Provider" 331 | msgstr "Dostawca usługi" 332 | 333 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 334 | msgid "The service providing devices" 335 | msgstr "Dostawca usługi dla urządzeń mobilnych" 336 | -------------------------------------------------------------------------------- /po/pt_BR.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 gnome-shell-extension-mconnect package. 4 | # Luis Fernando Planella Gonzalez , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-14 23:06-0300\n" 12 | "Last-Translator: Luis Fernando Planella Gonzalez \n" 13 | "Language-Team: \n" 14 | "Language: pt_BR\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 2.0.3\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "OFFLINE" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "NÃO PAREADO" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Enviar SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Localizar dispositivo" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Navegar nos arquivos" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Enviar arquivos" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Solicitar pareamento" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "O dispositivo não está pareado" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Tentar reconexão" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Tentando reconectar..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "O dispositivo está desconectado" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Falha ao montar o sistema de arquivos do dispositivo" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Dispositivos móveis" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Habilitar" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Configurações" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Parar de descobrir dispositivos" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Descobrir dispositivos" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "A extensão do Nautilus foi alterada" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Reinicie o Nautilus para aplicar as mudanças" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Reiniciar" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Nada" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Verdadeiro" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Falso" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Selecione um dispositivo" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Abrir o menu da extensão" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Abrir as preferências da extensão" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Abrir as configurações do serviço" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Abrir o menu do dispositivo" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Parear / reconectar" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Remover" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Remover os atalhos para um dispositivo defunto." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Atalhos de teclado não disponíveis" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "O atalho de teclado selecionado já está em uso por outra aplicação e não " 155 | "pode ser sobrescrito." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Geral" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Aparência" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Arquivos" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Teclado" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Atalhos de teclado" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Avançado" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Serviço" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Configurações do serviço" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Abrir as configurações do serviço atual" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Desenvolvimento" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Enviar arquivos para %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Cancelar" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Enviar" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "Compartilhar arquivo com o MConnect" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "Enviando %d arquivo" 222 | msgstr[1] "Enviando %d arquivos" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Digite o número de telefone" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Digite o número de telefone ou nome" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "O dispositivo está offline" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "Digite a mensagem de SMS" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "Você" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "SMS via MConnect" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "Enviar para dispositivo móvel" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Modo de depuração" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Habilitar depuração e registro" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Auto-montagem do dispositivo" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Montar automaticamente dispositivos suportados" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Indicadores de dispositivos" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "Controles disponíveis via indicadores ou menu do usuário" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 278 | msgid "Device Visibility" 279 | msgstr "Visibilidade do dispositivo" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 282 | msgid "Display devices in offline and unpaired states" 283 | msgstr "Exibir dispositivos nos estados offline ou não pareado" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 286 | msgid "Device Actions" 287 | msgstr "Ações do dispositivo" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 290 | msgid "Configure shortcuts for device functions" 291 | msgstr "Configurar atalhos para as funções do dispositivo" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 294 | msgid "Extension Actions" 295 | msgstr "Ações da extensão" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 298 | msgid "Configure shortcuts for extension functions" 299 | msgstr "Configurar atalhos para as funções da extensão" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 302 | msgid "Nautilus Integration" 303 | msgstr "Integração com o Nautilus" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 306 | msgid "Send files from the file browser context menu" 307 | msgstr "Enviar arquivos do menu de contexto do navegador de arquivos" 308 | 309 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 310 | msgid "Persistent Discovery" 311 | msgstr "Descoberta persistente" 312 | 313 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 314 | msgid "Constantly probe the network for devices" 315 | msgstr "Monitorar a rede constantemente por dispositivos" 316 | 317 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 318 | msgid "Service Auto-Start" 319 | msgstr "Início automático do serviço" 320 | 321 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 322 | msgid "Start the service automatically and restart if stopped" 323 | msgstr "Iniciar o serviço automaticamente e reiniciá-lo se parado" 324 | 325 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 326 | msgid "Service Provider" 327 | msgstr "Provedor de serviço" 328 | 329 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 330 | msgid "The service providing devices" 331 | msgstr "Dispositivos provendo serviço" 332 | -------------------------------------------------------------------------------- /po/pt_PT.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 gnome-shell-extension-mconnect package. 4 | # Bajoja , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-05 17:21+0200\n" 12 | "Last-Translator: Bajoja \n" 13 | "Language-Team: Bajoja\n" 14 | "Language: pt_PT\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 2.0.1\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "DESLIGADO" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "DESEMPERELHADO" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Enviar SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Procurar Dispositivo" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Navegar em Ficheiros" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Enviar Ficheiros" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Pedir Emperelhamento" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Dispositivo está desemperalhado" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Tentar Reconectar" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Reconectando..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Dispositivo está desconectado" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Falha ao montar o sistema de ficheiros do dispositivo" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Dispositivos Moveis" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Habilitar" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Configurações do Telemovel" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Parar de Descobrir Dispositivos" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Decobrir Despositivos" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Extensão Nautilus alterada" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Reiniciar o Nautilus e aplicar alterações" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Reiniciar" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Nada" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Verdadeira" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Falsa" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Selecionar um dispositivo" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Abrir menu da extensão" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Abrir as definições da extensão" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Abrir as definições dos serviços" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Abrir o menu do dispositivo" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Emperelhar/Reconectar" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Remover" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Remova os atalhos para um dispositivo extinto." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Atalhos do Teclado Indesponível" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "O atalho de teclado solicitado está em uso por outro aplicativo e não " 155 | "podeser substituído." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Geral" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Aparência" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Ficheiros" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Teclado" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Atalhos do Teclado" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Avançado" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Serviço" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Definiçoes do Serviço" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Abrir as definiçoes para o atual serviço" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Desenvilvimentos" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Enviar ficheiros para %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Cancelar" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Enviar" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "Partilha de ficheiros MConnect" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "Enviando %d ficheiro" 222 | msgstr[1] "Enviando %d ficheiros" 223 | 224 | #: src/sms.js:349 225 | msgid "Type a phone number" 226 | msgstr "Digite um número de telefone" 227 | 228 | #: src/sms.js:358 229 | msgid "Type a phone number or name" 230 | msgstr "Digite um número de telefone ou um nome" 231 | 232 | #: src/sms.js:453 233 | msgid "Device is offline" 234 | msgstr "O Dispositivo está offline" 235 | 236 | #: src/sms.js:490 237 | msgid "Type an SMS message" 238 | msgstr "Escreve um SMS" 239 | 240 | #. Log the sent message in the Conversation View and clear the entry 241 | #: src/sms.js:698 242 | msgid "You" 243 | msgstr "Tu" 244 | 245 | #: src/sms.js:713 246 | msgid "MConnect SMS" 247 | msgstr "MConnect SMS" 248 | 249 | #: src/nautilus-send-mconnect.py:87 250 | msgid "Send To Mobile Device" 251 | msgstr "Enviar para dispositivo" 252 | 253 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 254 | msgid "Debug mode" 255 | msgstr "Modo Debug" 256 | 257 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 258 | msgid "Enable debug features and logging" 259 | msgstr "Habilitar recursos de debug e log" 260 | 261 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 262 | msgid "Device Auto-Mount" 263 | msgstr "Auto montar Dispositivo" 264 | 265 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 266 | msgid "Automatically mount devices that support it" 267 | msgstr "Montar automaticamente dispositivos que o suportam" 268 | 269 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 270 | msgid "Device Indicators" 271 | msgstr "Indicadores de Dispositivos" 272 | 273 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 274 | msgid "Controls available via Indicators or the User Menu" 275 | msgstr "Controlos disponiveis atraves de Indicadores ou menu de usuario" 276 | 277 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 278 | msgid "Device Visibility" 279 | msgstr "Visibilidade do Dispositivo" 280 | 281 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 282 | msgid "Display devices in offline and unpaired states" 283 | msgstr "Mostrar estado de dispositivos que estão offline e desemperelhados" 284 | 285 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 286 | msgid "Device Actions" 287 | msgstr "Ações do Dispositivo" 288 | 289 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 290 | msgid "Configure shortcuts for device functions" 291 | msgstr "Configurar atalhos para as funções das funções" 292 | 293 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 294 | msgid "Extension Actions" 295 | msgstr "Ações das Extensões" 296 | 297 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 298 | msgid "Configure shortcuts for extension functions" 299 | msgstr "Configurar atalhos para as funções da extenção" 300 | 301 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 302 | msgid "Nautilus Integration" 303 | msgstr "Integração com Nautilus" 304 | 305 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 306 | msgid "Send files from the file browser context menu" 307 | msgstr "Enviar ficheiros do menu de contexto do gestor de ficheiros" 308 | 309 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 310 | msgid "Persistent Discovery" 311 | msgstr "" 312 | 313 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 314 | msgid "Constantly probe the network for devices" 315 | msgstr "" 316 | 317 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 318 | msgid "Service Auto-Start" 319 | msgstr "Serviço de Auto-Arranque" 320 | 321 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 322 | msgid "Start the service automatically and restart if stopped" 323 | msgstr "Iniciar o serviço automaticamente e reiniciar se este parar" 324 | 325 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 326 | msgid "Service Provider" 327 | msgstr "Provedor de serviços" 328 | 329 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 330 | #, fuzzy 331 | msgid "The service providing devices" 332 | msgstr "O serviço que dispinibiliza dispositivos." 333 | -------------------------------------------------------------------------------- /po/sk_SK.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 gnome-shell-extension-mconnect package. 4 | # Juraj Fiala , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-10-28 14:14+0200\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 17 | "X-Generator: Poedit 2.0.3\n" 18 | "Last-Translator: Juraj Fiala \n" 19 | "Language: sk_SK\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "OFFLINE" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "NESPÁROVANÉ" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Poslať SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Lokalizovať zariadenie" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Prehliadať súbory" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Odoslať súbory" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Požiadať o spárovanie" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Zariadenie nie je spárované" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Pokúsiť sa znovu pripojiť" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Pokúšam sa znovu pripojiť…" 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Zariadenie je odpojené" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Pripojenie súborového systému zlyhalo" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Mobilné zariadenia" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Povoliť" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Nastavenia mobilných zariadení" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Prestať vyhľadávať zariadenia" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Nájsť zariadenia" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Rozšírenie Nautilus-u sa zmenilo" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Reštartujte Nautilus na aplikovanie zmien" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Reštartovať" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Nič" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Pravda" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Nepravda" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Vybrať zariadenie" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Otvoriť ponuku rozšírenia" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Otvoriť nastavenia rozšírenia" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Otvoriť nastavenia služby" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Otvoriť ponuku zariadenia" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Spárovať/Znovu pripojiť" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Odstrániť" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Odstrániť skratky nefunkčného zariadenia." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Klávesová skratka nie je k dispozícii" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "Požadovaná klávesová skratka je používaná inou aplikáciou a nemôže byť " 155 | "prepísaná." 156 | 157 | #. Preferences Page 158 | #: src/prefs.js:1065 159 | msgid "General" 160 | msgstr "Všeobecné" 161 | 162 | #: src/prefs.js:1067 163 | msgid "Appearance" 164 | msgstr "Vzhľad" 165 | 166 | #: src/prefs.js:1071 167 | msgid "Files" 168 | msgstr "Súbory" 169 | 170 | #. Keyboard Shortcuts Page 171 | #: src/prefs.js:1076 172 | msgid "Keyboard" 173 | msgstr "Klávesnica" 174 | 175 | #: src/prefs.js:1078 176 | msgid "Keyboard Shortcuts" 177 | msgstr "Klávesové skratky" 178 | 179 | #. Advanced Page 180 | #: src/prefs.js:1084 181 | msgid "Advanced" 182 | msgstr "Pokročilé" 183 | 184 | #: src/prefs.js:1086 185 | msgid "Service" 186 | msgstr "Služba" 187 | 188 | #: src/prefs.js:1102 189 | msgid "Service Settings" 190 | msgstr "Nastavenia služby" 191 | 192 | #: src/prefs.js:1103 193 | msgid "Open the settings for the current service" 194 | msgstr "Otvoriť nastavenia pre aktuálnu službu" 195 | 196 | #: src/prefs.js:1107 197 | msgid "Development" 198 | msgstr "Vývoj" 199 | 200 | #: src/share.js:44 201 | #, javascript-format 202 | msgid "Send files to %s" 203 | msgstr "Odoslať súbory do %s" 204 | 205 | #: src/share.js:51 206 | msgid "Cancel" 207 | msgstr "Zrušiť" 208 | 209 | #: src/share.js:52 210 | msgid "Send" 211 | msgstr "Odoslať" 212 | 213 | #: src/share.js:69 214 | msgid "MConnect File Share" 215 | msgstr "Zdieľanie súborov MConnect" 216 | 217 | #: src/share.js:143 218 | #, javascript-format 219 | msgid "Sending %d file" 220 | msgid_plural "Sending %d files" 221 | msgstr[0] "Odosielam %d súbor" 222 | msgstr[1] "Odosielam %d súbory" 223 | msgstr[2] "Odosielať %d súborov" 224 | 225 | #: src/sms.js:349 226 | msgid "Type a phone number" 227 | msgstr "Zadajte mobilné číslo" 228 | 229 | #: src/sms.js:358 230 | msgid "Type a phone number or name" 231 | msgstr "Zadajte mobilné číslo alebo meno" 232 | 233 | #: src/sms.js:453 234 | msgid "Device is offline" 235 | msgstr "Zariadenie je offline" 236 | 237 | #: src/sms.js:490 238 | msgid "Type an SMS message" 239 | msgstr "Zadajte SMS správu" 240 | 241 | #. Log the sent message in the Conversation View and clear the entry 242 | #: src/sms.js:698 243 | msgid "You" 244 | msgstr "Vy" 245 | 246 | #: src/sms.js:713 247 | msgid "MConnect SMS" 248 | msgstr "SMS MConnect" 249 | 250 | #: src/nautilus-send-mconnect.py:87 251 | msgid "Send To Mobile Device" 252 | msgstr "Odoslať do mobilného zariadenia" 253 | 254 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 255 | msgid "Debug mode" 256 | msgstr "Vývojársky režim" 257 | 258 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 259 | msgid "Enable debug features and logging" 260 | msgstr "Povolenie možností pre vývojárov a záznam" 261 | 262 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 263 | msgid "Device Auto-Mount" 264 | msgstr "Auto-pripojenie zariadenia" 265 | 266 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 267 | msgid "Automatically mount devices that support it" 268 | msgstr "Automaticky pripojiť zariadenia, ktoré to podporujú" 269 | 270 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 271 | msgid "Device Indicators" 272 | msgstr "Indikátory zariadení" 273 | 274 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 275 | msgid "Controls available via Indicators or the User Menu" 276 | msgstr "" 277 | "Ovládacie prvky sú dostupné prostredníctvom indikátorov alebo systémovej " 278 | "ponuky" 279 | 280 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 281 | msgid "Device Visibility" 282 | msgstr "Viditeľnosť zariadenia" 283 | 284 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 285 | msgid "Display devices in offline and unpaired states" 286 | msgstr "Zobrazeť offline a nespárované zariadenia" 287 | 288 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 289 | msgid "Device Actions" 290 | msgstr "Akcie zariadenia" 291 | 292 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 293 | msgid "Configure shortcuts for device functions" 294 | msgstr "Nastavenie skratiek pre funkcie zariadenia" 295 | 296 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 297 | msgid "Extension Actions" 298 | msgstr "Akcie rozšírenia" 299 | 300 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 301 | msgid "Configure shortcuts for extension functions" 302 | msgstr "Nastavenie skratiek pre funkcie rozšírenia" 303 | 304 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 305 | msgid "Nautilus Integration" 306 | msgstr "Integrácia s Nautilus-om" 307 | 308 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 309 | msgid "Send files from the file browser context menu" 310 | msgstr "Odosielajte súbory z kontextovej ponuky správcu súborov" 311 | 312 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 313 | msgid "Persistent Discovery" 314 | msgstr "Neustále vyhľadávanie" 315 | 316 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 317 | msgid "Constantly probe the network for devices" 318 | msgstr "Nepretržite skúmať sieť pre zariadenia" 319 | 320 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 321 | msgid "Service Auto-Start" 322 | msgstr "Auto-štart služby" 323 | 324 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 325 | msgid "Start the service automatically and restart if stopped" 326 | msgstr "Automaticky spustiť službu a reštartovať ju pri jej zastavení" 327 | 328 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 329 | msgid "Service Provider" 330 | msgstr "Poskytovateľ služby" 331 | 332 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 333 | msgid "The service providing devices" 334 | msgstr "Služba poskytujúca zariadenia" 335 | -------------------------------------------------------------------------------- /po/sr.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-16 13:04+0200\n" 12 | "Last-Translator: \n" 13 | "Language-Team: \n" 14 | "Language: sr\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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Poedit 2.0.3\n" 21 | 22 | #: src/extension.js:37 23 | msgid "OFFLINE" 24 | msgstr "ВАН ВЕЗЕ" 25 | 26 | #: src/extension.js:38 27 | msgid "UNPAIRED" 28 | msgstr "НЕУПАРЕН" 29 | 30 | #: src/extension.js:313 src/prefs.js:715 31 | msgid "Send SMS" 32 | msgstr "Пошаљи СМС" 33 | 34 | #: src/extension.js:320 src/prefs.js:716 35 | msgid "Locate Device" 36 | msgstr "Лоцирај уређај" 37 | 38 | #: src/extension.js:328 src/prefs.js:717 39 | msgid "Browse Files" 40 | msgstr "Прегледај фајлове" 41 | 42 | #: src/extension.js:335 src/prefs.js:718 43 | msgid "Send Files" 44 | msgstr "Пошаљи фајлове" 45 | 46 | #: src/extension.js:494 47 | msgid "Request Pair" 48 | msgstr "Захтевај упаривање" 49 | 50 | #: src/extension.js:495 51 | msgid "Device is unpaired" 52 | msgstr "Уређај није упарен" 53 | 54 | #: src/extension.js:498 55 | msgid "Attempt Reconnection" 56 | msgstr "Покошај поновно повезивање" 57 | 58 | #: src/extension.js:501 59 | msgid "Attempting to reconnect..." 60 | msgstr "Покушавам да се поново повежем..." 61 | 62 | #: src/extension.js:507 63 | msgid "Device is disconnected" 64 | msgstr "Уређај је неповезан" 65 | 66 | #: src/extension.js:550 67 | msgid "Failed to mount device filesystem" 68 | msgstr "Неуспело монтирање система фајлова на уређају" 69 | 70 | #: src/extension.js:704 71 | msgid "Mobile Devices" 72 | msgstr "Преносни уређаји" 73 | 74 | #: src/extension.js:722 75 | msgid "Enable" 76 | msgstr "Омогући" 77 | 78 | #: src/extension.js:728 79 | msgid "Mobile Settings" 80 | msgstr "Преносни уређаји" 81 | 82 | #: src/extension.js:780 83 | msgid "Stop Discovering Devices" 84 | msgstr "Прекини откривање уређаја" 85 | 86 | #: src/extension.js:782 src/prefs.js:653 87 | msgid "Discover Devices" 88 | msgstr "Откривање уређаја" 89 | 90 | #: src/extension.js:1068 91 | msgid "Nautilus extensions changed" 92 | msgstr "Проширење Наутилуса је измењено" 93 | 94 | #: src/extension.js:1069 95 | msgid "Restart Nautilus to apply changes" 96 | msgstr "Поново покрените Наутилус да би применили измене" 97 | 98 | #: src/extension.js:1074 99 | msgid "Restart" 100 | msgstr "Поново покрени" 101 | 102 | #: src/prefs.js:155 103 | msgid "Nothing" 104 | msgstr "Ништа" 105 | 106 | #: src/prefs.js:168 107 | msgid "True" 108 | msgstr "Тачно" 109 | 110 | #: src/prefs.js:181 111 | msgid "False" 112 | msgstr "Нетачно" 113 | 114 | #: src/prefs.js:439 115 | msgid "Select a device" 116 | msgstr "Изаберите уређај" 117 | 118 | #: src/prefs.js:652 119 | msgid "Open extension menu" 120 | msgstr "Отвори мени проширења" 121 | 122 | #: src/prefs.js:654 123 | msgid "Open extension preferences" 124 | msgstr "Отвори поставке проширења" 125 | 126 | #: src/prefs.js:655 127 | msgid "Open service settings" 128 | msgstr "Отвори поставке сервиса" 129 | 130 | #: src/prefs.js:714 131 | msgid "Open device menu" 132 | msgstr "Отвори мени уређаја" 133 | 134 | #: src/prefs.js:719 135 | msgid "Pair/Reconnect" 136 | msgstr "Упари/поново повежи" 137 | 138 | #: src/prefs.js:723 139 | msgid "Remove" 140 | msgstr "Уклони" 141 | 142 | #: src/prefs.js:724 143 | msgid "Remove the shortcuts for a defunct device." 144 | msgstr "Уклања пречице за уређаје који не раде." 145 | 146 | #: src/prefs.js:816 147 | msgid "Keyboard Shortcut Unavailable" 148 | msgstr "Пречице тастатуре нису доступне" 149 | 150 | #: src/prefs.js:817 151 | msgid "" 152 | "The requested keyboard shortcut is in use by another application and can't " 153 | "be overridden." 154 | msgstr "" 155 | "Захтевана пречица тастатуре се већ користи у другом програму и не може бити " 156 | "премошћена." 157 | 158 | #. Preferences Page 159 | #: src/prefs.js:1065 160 | msgid "General" 161 | msgstr "Опште" 162 | 163 | #: src/prefs.js:1067 164 | msgid "Appearance" 165 | msgstr "Изглед" 166 | 167 | #: src/prefs.js:1071 168 | msgid "Files" 169 | msgstr "Фајлови" 170 | 171 | #. Keyboard Shortcuts Page 172 | #: src/prefs.js:1076 173 | msgid "Keyboard" 174 | msgstr "Тастатура" 175 | 176 | #: src/prefs.js:1078 177 | msgid "Keyboard Shortcuts" 178 | msgstr "Пречице тастатуре" 179 | 180 | #. Advanced Page 181 | #: src/prefs.js:1084 182 | msgid "Advanced" 183 | msgstr "Напредно" 184 | 185 | #: src/prefs.js:1086 186 | msgid "Service" 187 | msgstr "Сервис" 188 | 189 | #: src/prefs.js:1102 190 | msgid "Service Settings" 191 | msgstr "Поставке сервиса" 192 | 193 | #: src/prefs.js:1103 194 | msgid "Open the settings for the current service" 195 | msgstr "Отвори поставке тренутног уређаја" 196 | 197 | #: src/prefs.js:1107 198 | msgid "Development" 199 | msgstr "Развој" 200 | 201 | #: src/share.js:44 202 | #, javascript-format 203 | msgid "Send files to %s" 204 | msgstr "Пошаљи фајлове на %s" 205 | 206 | #: src/share.js:51 207 | msgid "Cancel" 208 | msgstr "Откажи" 209 | 210 | #: src/share.js:52 211 | msgid "Send" 212 | msgstr "Пошаљи" 213 | 214 | #: src/share.js:69 215 | msgid "MConnect File Share" 216 | msgstr "Мконект дељење фајлова" 217 | 218 | #: src/share.js:143 219 | #, javascript-format 220 | msgid "Sending %d file" 221 | msgid_plural "Sending %d files" 222 | msgstr[0] "Шаљем %d фајл" 223 | msgstr[1] "Шаљем %d фајла" 224 | msgstr[2] "Шаљем %d фајлова" 225 | 226 | #: src/sms.js:349 227 | msgid "Type a phone number" 228 | msgstr "Унесите број телефона" 229 | 230 | #: src/sms.js:358 231 | msgid "Type a phone number or name" 232 | msgstr "Унесите број телефона или име" 233 | 234 | #: src/sms.js:453 235 | msgid "Device is offline" 236 | msgstr "Уређај није на вези" 237 | 238 | #: src/sms.js:490 239 | msgid "Type an SMS message" 240 | msgstr "Унесите СМС поруку" 241 | 242 | #. Log the sent message in the Conversation View and clear the entry 243 | #: src/sms.js:698 244 | msgid "You" 245 | msgstr "Ви" 246 | 247 | #: src/sms.js:713 248 | msgid "MConnect SMS" 249 | msgstr "Мконект СМС" 250 | 251 | #: src/nautilus-send-mconnect.py:87 252 | msgid "Send To Mobile Device" 253 | msgstr "Слање на мобилни уређај" 254 | 255 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 256 | msgid "Debug mode" 257 | msgstr "Режим за исправљање грешака" 258 | 259 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 260 | msgid "Enable debug features and logging" 261 | msgstr "Укључи исправљање грешака и записивање" 262 | 263 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 264 | msgid "Device Auto-Mount" 265 | msgstr "Аутомонтирање уређаја" 266 | 267 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 268 | msgid "Automatically mount devices that support it" 269 | msgstr "Аутоматски монтирај уређаје који то подржавају" 270 | 271 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 272 | msgid "Device Indicators" 273 | msgstr "Индикатори уређаја" 274 | 275 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 276 | msgid "Controls available via Indicators or the User Menu" 277 | msgstr "Контроле су доступне путем индикатора или корисничког менија" 278 | 279 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 280 | msgid "Device Visibility" 281 | msgstr "Видљивост уређаја" 282 | 283 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 284 | msgid "Display devices in offline and unpaired states" 285 | msgstr "Приказуј неупарене и уређаје ван везе" 286 | 287 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 288 | msgid "Device Actions" 289 | msgstr "Радње уређаја" 290 | 291 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 292 | msgid "Configure shortcuts for device functions" 293 | msgstr "Подешавање пречица за функције уређаја" 294 | 295 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 296 | msgid "Extension Actions" 297 | msgstr "Радње проширења" 298 | 299 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 300 | msgid "Configure shortcuts for extension functions" 301 | msgstr "Подешавање пречица за функције проширења" 302 | 303 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 304 | msgid "Nautilus Integration" 305 | msgstr "Уграђивање у Наутилус" 306 | 307 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 308 | msgid "Send files from the file browser context menu" 309 | msgstr "Слање фајлова путем котекстног менија менаџера фајлова" 310 | 311 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 312 | msgid "Persistent Discovery" 313 | msgstr "Трајно откривање" 314 | 315 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 316 | msgid "Constantly probe the network for devices" 317 | msgstr "Увек испитуј мрежу за уређајима" 318 | 319 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 320 | msgid "Service Auto-Start" 321 | msgstr "Самопокретање сервиса" 322 | 323 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 324 | msgid "Start the service automatically and restart if stopped" 325 | msgstr "Покрени сервис аутоматски и поново покрени ако је заустављен" 326 | 327 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 328 | msgid "Service Provider" 329 | msgstr "Достављач услуге" 330 | 331 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 332 | msgid "The service providing devices" 333 | msgstr "Сервис који доставља уређаје" 334 | -------------------------------------------------------------------------------- /po/sr@latin.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-16 15:41-0700\n" 11 | "PO-Revision-Date: 2017-09-16 13:13+0200\n" 12 | "Last-Translator: \n" 13 | "Language-Team: \n" 14 | "Language: sr@latin\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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 19 | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 20 | "X-Generator: Poedit 2.0.3\n" 21 | 22 | #: src/extension.js:37 23 | msgid "OFFLINE" 24 | msgstr "VAN VEZE" 25 | 26 | #: src/extension.js:38 27 | msgid "UNPAIRED" 28 | msgstr "NEUPAREN" 29 | 30 | #: src/extension.js:313 src/prefs.js:715 31 | msgid "Send SMS" 32 | msgstr "Pošalji SMS" 33 | 34 | #: src/extension.js:320 src/prefs.js:716 35 | msgid "Locate Device" 36 | msgstr "Lociraj uređaj" 37 | 38 | #: src/extension.js:328 src/prefs.js:717 39 | msgid "Browse Files" 40 | msgstr "Pregledaj fajlove" 41 | 42 | #: src/extension.js:335 src/prefs.js:718 43 | msgid "Send Files" 44 | msgstr "Pošalji fajlove" 45 | 46 | #: src/extension.js:494 47 | msgid "Request Pair" 48 | msgstr "Zahtevaj uparivanje" 49 | 50 | #: src/extension.js:495 51 | msgid "Device is unpaired" 52 | msgstr "Uređaj nije uparen" 53 | 54 | #: src/extension.js:498 55 | msgid "Attempt Reconnection" 56 | msgstr "Pokošaj ponovno povezivanje" 57 | 58 | #: src/extension.js:501 59 | msgid "Attempting to reconnect..." 60 | msgstr "Pokušavam da se ponovo povežem..." 61 | 62 | #: src/extension.js:507 63 | msgid "Device is disconnected" 64 | msgstr "Uređaj je nepovezan" 65 | 66 | #: src/extension.js:550 67 | msgid "Failed to mount device filesystem" 68 | msgstr "Neuspelo montiranje sistema fajlova na uređaju" 69 | 70 | #: src/extension.js:704 71 | msgid "Mobile Devices" 72 | msgstr "Prenosni uređaji" 73 | 74 | #: src/extension.js:722 75 | msgid "Enable" 76 | msgstr "Omogući" 77 | 78 | #: src/extension.js:728 79 | msgid "Mobile Settings" 80 | msgstr "Prenosni uređaji" 81 | 82 | #: src/extension.js:780 83 | msgid "Stop Discovering Devices" 84 | msgstr "Prekini otkrivanje uređaja" 85 | 86 | #: src/extension.js:782 src/prefs.js:653 87 | msgid "Discover Devices" 88 | msgstr "Otkrivanje uređaja" 89 | 90 | #: src/extension.js:1068 91 | msgid "Nautilus extensions changed" 92 | msgstr "Proširenje Nautilusa je izmenjeno" 93 | 94 | #: src/extension.js:1069 95 | msgid "Restart Nautilus to apply changes" 96 | msgstr "Ponovo pokrenite Nautilus da bi primenili izmene" 97 | 98 | #: src/extension.js:1074 99 | msgid "Restart" 100 | msgstr "Ponovo pokreni" 101 | 102 | #: src/prefs.js:155 103 | msgid "Nothing" 104 | msgstr "Ništa" 105 | 106 | #: src/prefs.js:168 107 | msgid "True" 108 | msgstr "Tačno" 109 | 110 | #: src/prefs.js:181 111 | msgid "False" 112 | msgstr "Netačno" 113 | 114 | #: src/prefs.js:439 115 | msgid "Select a device" 116 | msgstr "Izaberite uređaj" 117 | 118 | #: src/prefs.js:652 119 | msgid "Open extension menu" 120 | msgstr "Otvori meni proširenja" 121 | 122 | #: src/prefs.js:654 123 | msgid "Open extension preferences" 124 | msgstr "Otvori postavke proširenja" 125 | 126 | #: src/prefs.js:655 127 | msgid "Open service settings" 128 | msgstr "Otvori postavke servisa" 129 | 130 | #: src/prefs.js:714 131 | msgid "Open device menu" 132 | msgstr "Otvori meni uređaja" 133 | 134 | #: src/prefs.js:719 135 | msgid "Pair/Reconnect" 136 | msgstr "Upari/ponovo poveži" 137 | 138 | #: src/prefs.js:723 139 | msgid "Remove" 140 | msgstr "Ukloni" 141 | 142 | #: src/prefs.js:724 143 | msgid "Remove the shortcuts for a defunct device." 144 | msgstr "Uklanja prečice za uređaje koji ne rade." 145 | 146 | #: src/prefs.js:816 147 | msgid "Keyboard Shortcut Unavailable" 148 | msgstr "Prečice tastature nisu dostupne" 149 | 150 | #: src/prefs.js:817 151 | msgid "" 152 | "The requested keyboard shortcut is in use by another application and can't " 153 | "be overridden." 154 | msgstr "" 155 | "Zahtevana prečica tastature se već koristi u drugom programu i ne može biti " 156 | "premošćena." 157 | 158 | #. Preferences Page 159 | #: src/prefs.js:1065 160 | msgid "General" 161 | msgstr "Opšte" 162 | 163 | #: src/prefs.js:1067 164 | msgid "Appearance" 165 | msgstr "Izgled" 166 | 167 | #: src/prefs.js:1071 168 | msgid "Files" 169 | msgstr "Fajlovi" 170 | 171 | #. Keyboard Shortcuts Page 172 | #: src/prefs.js:1076 173 | msgid "Keyboard" 174 | msgstr "Tastatura" 175 | 176 | #: src/prefs.js:1078 177 | msgid "Keyboard Shortcuts" 178 | msgstr "Prečice tastature" 179 | 180 | #. Advanced Page 181 | #: src/prefs.js:1084 182 | msgid "Advanced" 183 | msgstr "Napredno" 184 | 185 | #: src/prefs.js:1086 186 | msgid "Service" 187 | msgstr "Servis" 188 | 189 | #: src/prefs.js:1102 190 | msgid "Service Settings" 191 | msgstr "Postavke servisa" 192 | 193 | #: src/prefs.js:1103 194 | msgid "Open the settings for the current service" 195 | msgstr "Otvori postavke trenutnog uređaja" 196 | 197 | #: src/prefs.js:1107 198 | msgid "Development" 199 | msgstr "Razvoj" 200 | 201 | #: src/share.js:44 202 | #, javascript-format 203 | msgid "Send files to %s" 204 | msgstr "Pošalji fajlove na %s" 205 | 206 | #: src/share.js:51 207 | msgid "Cancel" 208 | msgstr "Otkaži" 209 | 210 | #: src/share.js:52 211 | msgid "Send" 212 | msgstr "Pošalji" 213 | 214 | #: src/share.js:69 215 | msgid "MConnect File Share" 216 | msgstr "MConnect deljenje fajlova" 217 | 218 | #: src/share.js:143 219 | #, javascript-format 220 | msgid "Sending %d file" 221 | msgid_plural "Sending %d files" 222 | msgstr[0] "Šaljem %d fajl" 223 | msgstr[1] "Šaljem %d fajla" 224 | msgstr[2] "Šaljem %d fajlova" 225 | 226 | #: src/sms.js:349 227 | msgid "Type a phone number" 228 | msgstr "Unesite broj telefona" 229 | 230 | #: src/sms.js:358 231 | msgid "Type a phone number or name" 232 | msgstr "Unesite broj telefona ili ime" 233 | 234 | #: src/sms.js:453 235 | msgid "Device is offline" 236 | msgstr "Uređaj nije na vezi" 237 | 238 | #: src/sms.js:490 239 | msgid "Type an SMS message" 240 | msgstr "Unesite SMS poruku" 241 | 242 | #. Log the sent message in the Conversation View and clear the entry 243 | #: src/sms.js:698 244 | msgid "You" 245 | msgstr "Vi" 246 | 247 | #: src/sms.js:713 248 | msgid "MConnect SMS" 249 | msgstr "MConnect SMS" 250 | 251 | #: src/nautilus-send-mconnect.py:87 252 | msgid "Send To Mobile Device" 253 | msgstr "Slanje na mobilni uređaj" 254 | 255 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 256 | msgid "Debug mode" 257 | msgstr "Režim za ispravljanje grešaka" 258 | 259 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 260 | msgid "Enable debug features and logging" 261 | msgstr "Uključi ispravljanje grešaka i zapisivanje" 262 | 263 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 264 | msgid "Device Auto-Mount" 265 | msgstr "Automontiranje uređaja" 266 | 267 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 268 | msgid "Automatically mount devices that support it" 269 | msgstr "Automatski montiraj uređaje koji to podržavaju" 270 | 271 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 272 | msgid "Device Indicators" 273 | msgstr "Indikatori uređaja" 274 | 275 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 276 | msgid "Controls available via Indicators or the User Menu" 277 | msgstr "Kontrole su dostupne putem indikatora ili korisničkog menija" 278 | 279 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 280 | msgid "Device Visibility" 281 | msgstr "Vidljivost uređaja" 282 | 283 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 284 | msgid "Display devices in offline and unpaired states" 285 | msgstr "Prikazuj neuparene i uređaje van veze" 286 | 287 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 288 | msgid "Device Actions" 289 | msgstr "Radnje uređaja" 290 | 291 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 292 | msgid "Configure shortcuts for device functions" 293 | msgstr "Podešavanje prečica za funkcije uređaja" 294 | 295 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 296 | msgid "Extension Actions" 297 | msgstr "Radnje proširenja" 298 | 299 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 300 | msgid "Configure shortcuts for extension functions" 301 | msgstr "Podešavanje prečica za funkcije proširenja" 302 | 303 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 304 | msgid "Nautilus Integration" 305 | msgstr "Ugrađivanje u Nautilus" 306 | 307 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 308 | msgid "Send files from the file browser context menu" 309 | msgstr "Slanje fajlova putem kotekstnog menija menadžera fajlova" 310 | 311 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 312 | msgid "Persistent Discovery" 313 | msgstr "Trajno otkrivanje" 314 | 315 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 316 | msgid "Constantly probe the network for devices" 317 | msgstr "Uvek ispituj mrežu za uređajima" 318 | 319 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 320 | msgid "Service Auto-Start" 321 | msgstr "Samopokretanje servisa" 322 | 323 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 324 | msgid "Start the service automatically and restart if stopped" 325 | msgstr "Pokreni servis automatski i ponovo pokreni ako je zaustavljen" 326 | 327 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 328 | msgid "Service Provider" 329 | msgstr "Dostavljač usluge" 330 | 331 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 332 | msgid "The service providing devices" 333 | msgstr "Servis koji dostavlja uređaje" 334 | -------------------------------------------------------------------------------- /po/sv_SE.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 gnome-shell-extension-mconnect package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: gnome-shell-extension-mconnect\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-10-04 14:39+0200\n" 11 | "PO-Revision-Date: 2017-10-04 15:36+0200\n" 12 | "Last-Translator: Niklas Mellegård \n" 13 | "Language-Team: \n" 14 | "Language: sv_SE\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 2.0.1\n" 20 | 21 | #: src/extension.js:37 22 | msgid "OFFLINE" 23 | msgstr "FRÅNKOPPLAD" 24 | 25 | #: src/extension.js:38 26 | msgid "UNPAIRED" 27 | msgstr "EJ PARKOPPLAD" 28 | 29 | #: src/extension.js:313 src/prefs.js:715 30 | msgid "Send SMS" 31 | msgstr "Skicka SMS" 32 | 33 | #: src/extension.js:320 src/prefs.js:716 34 | msgid "Locate Device" 35 | msgstr "Hitta enhet" 36 | 37 | #: src/extension.js:328 src/prefs.js:717 38 | msgid "Browse Files" 39 | msgstr "Bläddra filer" 40 | 41 | #: src/extension.js:335 src/prefs.js:718 42 | msgid "Send Files" 43 | msgstr "Skicka filer" 44 | 45 | #: src/extension.js:494 46 | msgid "Request Pair" 47 | msgstr "Begär parkoppling" 48 | 49 | #: src/extension.js:495 50 | msgid "Device is unpaired" 51 | msgstr "Enheten är ej parkopplad" 52 | 53 | #: src/extension.js:498 54 | msgid "Attempt Reconnection" 55 | msgstr "Försök återansluta" 56 | 57 | #: src/extension.js:501 58 | msgid "Attempting to reconnect..." 59 | msgstr "Försöker återansluta..." 60 | 61 | #: src/extension.js:507 62 | msgid "Device is disconnected" 63 | msgstr "Enheten är frånkopplad" 64 | 65 | #: src/extension.js:550 66 | msgid "Failed to mount device filesystem" 67 | msgstr "Kunde inte montera enhetens filsystem" 68 | 69 | #: src/extension.js:704 70 | msgid "Mobile Devices" 71 | msgstr "Mobila enheter" 72 | 73 | #: src/extension.js:722 74 | msgid "Enable" 75 | msgstr "Aktiverad" 76 | 77 | #: src/extension.js:728 78 | msgid "Mobile Settings" 79 | msgstr "Mobila inställningar" 80 | 81 | #: src/extension.js:780 82 | msgid "Stop Discovering Devices" 83 | msgstr "Avbryt sökning efter enheter" 84 | 85 | #: src/extension.js:782 src/prefs.js:653 86 | msgid "Discover Devices" 87 | msgstr "Söker enheter" 88 | 89 | #: src/extension.js:1068 90 | msgid "Nautilus extensions changed" 91 | msgstr "Nautilusfunktioner ändrade" 92 | 93 | #: src/extension.js:1069 94 | msgid "Restart Nautilus to apply changes" 95 | msgstr "Starta om Nautilus för att tillämpa ändringarna" 96 | 97 | #: src/extension.js:1074 98 | msgid "Restart" 99 | msgstr "Starta om" 100 | 101 | #: src/prefs.js:155 102 | msgid "Nothing" 103 | msgstr "Inget" 104 | 105 | #: src/prefs.js:168 106 | msgid "True" 107 | msgstr "Sant" 108 | 109 | #: src/prefs.js:181 110 | msgid "False" 111 | msgstr "Falskt" 112 | 113 | #: src/prefs.js:439 114 | msgid "Select a device" 115 | msgstr "Välj en enhet" 116 | 117 | #: src/prefs.js:652 118 | msgid "Open extension menu" 119 | msgstr "Öppna menyn för extra funktioner" 120 | 121 | #: src/prefs.js:654 122 | msgid "Open extension preferences" 123 | msgstr "Öppna inställningar för extrafunktioner" 124 | 125 | #: src/prefs.js:655 126 | msgid "Open service settings" 127 | msgstr "Öppna tjänsteinställningar" 128 | 129 | #: src/prefs.js:714 130 | msgid "Open device menu" 131 | msgstr "Öppna enhetsmenyn" 132 | 133 | #: src/prefs.js:719 134 | msgid "Pair/Reconnect" 135 | msgstr "Parkoppla/Återanslut" 136 | 137 | #: src/prefs.js:723 138 | msgid "Remove" 139 | msgstr "Ta bort" 140 | 141 | #: src/prefs.js:724 142 | msgid "Remove the shortcuts for a defunct device." 143 | msgstr "Ta bort genvägen för en borttagen enhet." 144 | 145 | #: src/prefs.js:816 146 | msgid "Keyboard Shortcut Unavailable" 147 | msgstr "Kortkommandot är inte tillängligt" 148 | 149 | #: src/prefs.js:817 150 | msgid "" 151 | "The requested keyboard shortcut is in use by another application and can't " 152 | "be overridden." 153 | msgstr "" 154 | "Kortkommandot används av en annan applikation och kan inte åsidosättas." 155 | 156 | #. Preferences Page 157 | #: src/prefs.js:1065 158 | msgid "General" 159 | msgstr "Allmänt" 160 | 161 | #: src/prefs.js:1067 162 | msgid "Appearance" 163 | msgstr "Utseende" 164 | 165 | #: src/prefs.js:1071 166 | msgid "Files" 167 | msgstr "Filer" 168 | 169 | #. Keyboard Shortcuts Page 170 | #: src/prefs.js:1076 171 | msgid "Keyboard" 172 | msgstr "Tangentbord" 173 | 174 | #: src/prefs.js:1078 175 | msgid "Keyboard Shortcuts" 176 | msgstr "Kortkommandon" 177 | 178 | #. Advanced Page 179 | #: src/prefs.js:1084 180 | msgid "Advanced" 181 | msgstr "Avancerat" 182 | 183 | #: src/prefs.js:1086 184 | msgid "Service" 185 | msgstr "Tjänst" 186 | 187 | #: src/prefs.js:1102 188 | msgid "Service Settings" 189 | msgstr "Tjänsteinställningar" 190 | 191 | #: src/prefs.js:1103 192 | msgid "Open the settings for the current service" 193 | msgstr "Öppna inställningar för aktuell tjänst" 194 | 195 | #: src/prefs.js:1107 196 | msgid "Development" 197 | msgstr "Utveckling" 198 | 199 | #: src/share.js:44 200 | #, javascript-format 201 | msgid "Send files to %s" 202 | msgstr "Skicka filer till %s" 203 | 204 | #: src/share.js:51 205 | msgid "Cancel" 206 | msgstr "Avbryt" 207 | 208 | #: src/share.js:52 209 | msgid "Send" 210 | msgstr "Skicka" 211 | 212 | #: src/share.js:69 213 | msgid "MConnect File Share" 214 | msgstr "MConnect fildelning" 215 | 216 | #: src/share.js:143 217 | #, javascript-format 218 | msgid "Sending %d file" 219 | msgid_plural "Sending %d files" 220 | msgstr[0] "Skickar %d fil" 221 | msgstr[1] "Skickar %d filer" 222 | 223 | #: src/sms.js:349 224 | msgid "Type a phone number" 225 | msgstr "Ange telefonnummer" 226 | 227 | #: src/sms.js:358 228 | msgid "Type a phone number or name" 229 | msgstr "Ange telefonnummer eller namn" 230 | 231 | #: src/sms.js:453 232 | msgid "Device is offline" 233 | msgstr "Enheten är frånkopplad" 234 | 235 | #: src/sms.js:490 236 | msgid "Type an SMS message" 237 | msgstr "Skriv ett SMS-meddelande" 238 | 239 | #. Log the sent message in the Conversation View and clear the entry 240 | #: src/sms.js:698 241 | msgid "You" 242 | msgstr "Du" 243 | 244 | #: src/sms.js:713 245 | msgid "MConnect SMS" 246 | msgstr "MConnect SMS" 247 | 248 | #: src/nautilus-send-mconnect.py:87 249 | msgid "Send To Mobile Device" 250 | msgstr "Skicka till mobil enhet" 251 | 252 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:14 253 | msgid "Debug mode" 254 | msgstr "Felsökningsläge" 255 | 256 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:15 257 | msgid "Enable debug features and logging" 258 | msgstr "Sätt på felsökningfunktioner och loggning" 259 | 260 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:19 261 | msgid "Device Auto-Mount" 262 | msgstr "Automatisk montering av enheter" 263 | 264 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:20 265 | msgid "Automatically mount devices that support it" 266 | msgstr "Automatisk montering av enheter som stödjer det" 267 | 268 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:24 269 | msgid "Device Indicators" 270 | msgstr "Enhetsindikatorer" 271 | 272 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:25 273 | msgid "Controls available via Indicators or the User Menu" 274 | msgstr "Styr om enhetsindikatorn ska vara tillgänglig" 275 | 276 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:29 277 | msgid "Device Visibility" 278 | msgstr "Visa enheter" 279 | 280 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:30 281 | msgid "Display devices in offline and unpaired states" 282 | msgstr "Visa även enheter som är frånkopplade och ej parkopplade" 283 | 284 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:34 285 | msgid "Device Actions" 286 | msgstr "Enhetsoperationer" 287 | 288 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:35 289 | msgid "Configure shortcuts for device functions" 290 | msgstr "Ställ in kortkommandon för ehnhetsoperationer" 291 | 292 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:39 293 | msgid "Extension Actions" 294 | msgstr "Operationer för extrafunktioner" 295 | 296 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:40 297 | msgid "Configure shortcuts for extension functions" 298 | msgstr "Kortkommandon för extrafunktioner" 299 | 300 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:44 301 | msgid "Nautilus Integration" 302 | msgstr "Integration med Nautilus" 303 | 304 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:45 305 | msgid "Send files from the file browser context menu" 306 | msgstr "Skicka filer från filhanterarens popup-meny" 307 | 308 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:49 309 | msgid "Persistent Discovery" 310 | msgstr "Kontinuerlig enhetssökning" 311 | 312 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:50 313 | msgid "Constantly probe the network for devices" 314 | msgstr "Sök kontinuerligt efter enheter på nätverket" 315 | 316 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:54 317 | msgid "Service Auto-Start" 318 | msgstr "Auto-starta tjänsten" 319 | 320 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:55 321 | msgid "Start the service automatically and restart if stopped" 322 | msgstr "Starta tjänsten automatiskt, och start automatisk om ifall den stannar" 323 | 324 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:59 325 | msgid "Service Provider" 326 | msgstr "Tjänsteleverantör" 327 | 328 | #: data/org.gnome.shell.extensions.mconnect.gschema.xml:60 329 | msgid "The service providing devices" 330 | msgstr "Enhetstjänsten" 331 | -------------------------------------------------------------------------------- /src/folks.py: -------------------------------------------------------------------------------- 1 | # This has been modified from the work shimming Gee by Hugo Sena Ribeiro. The 2 | # original code is available here: https://github.com/hugosenari/folks 3 | 4 | import gi 5 | gi.require_version('Folks', '0.6') 6 | import ctypes as pyc 7 | from ctypes import pythonapi 8 | from gi.repository import Folks, GObject 9 | pyc.cdll.LoadLibrary('libgobject-2.0.so') 10 | lego = pyc.CDLL('libgobject-2.0.so') 11 | lego.g_type_name.restype = pyc.c_char_p 12 | lego.g_type_name.argtypes = (pyc.c_ulonglong,) 13 | pythonapi.PyCapsule_GetName.restype = pyc.c_char_p 14 | pythonapi.PyCapsule_GetName.argtypes = (pyc.py_object,) 15 | pythonapi.PyCapsule_GetPointer.restype = pyc.c_void_p 16 | pythonapi.PyCapsule_GetPointer.argtypes = (pyc.py_object, pyc.c_char_p) 17 | 18 | 19 | ############################################################################### 20 | # GObject 21 | ############################################################################### 22 | 23 | 24 | class _PyGObject_Functions(pyc.Structure): 25 | _fields_ = [ 26 | ('pygobject_register_class', 27 | pyc.PYFUNCTYPE(pyc.c_void_p)), 28 | ('pygobject_register_wrapper', 29 | pyc.PYFUNCTYPE(pyc.c_void_p)), 30 | ('pygobject_lookup_class', 31 | pyc.PYFUNCTYPE(pyc.c_void_p)), 32 | ('pygobject_new', 33 | pyc.PYFUNCTYPE(pyc.py_object, pyc.c_void_p)), 34 | ] 35 | 36 | 37 | def capsule_name(capsule): 38 | return pythonapi.PyCapsule_GetName(capsule) 39 | 40 | 41 | def capsule_ptr(capsule): 42 | name = capsule_name(capsule) 43 | return pythonapi.PyCapsule_GetPointer(capsule, name) 44 | 45 | 46 | class _PyGO_CAPI(object): 47 | ''' 48 | Static class to that create PyObject (object) from GObject (pointer) 49 | ''' 50 | _api = None 51 | 52 | @classmethod 53 | def _set_api(cls): 54 | addr = capsule_ptr(gi._gobject._PyGObject_API) 55 | cls._api = _PyGObject_Functions.from_address(addr) 56 | 57 | @classmethod 58 | def to_object(cls, addr): 59 | cls._api or cls._set_api() 60 | return cls._api.pygobject_new(addr) 61 | 62 | 63 | ############################################################################### 64 | # GType 65 | ############################################################################### 66 | 67 | 68 | INT, ADDRESS, NONE, NOT_IMPLEMENTED = range(4) 69 | 70 | G_PY_INT = { 71 | (GObject.TYPE_BOOLEAN, pyc.c_bool), 72 | (GObject.TYPE_UNICHAR, pyc.c_ubyte), 73 | (GObject.TYPE_UCHAR, pyc.c_ubyte), 74 | (GObject.TYPE_CHAR, pyc.c_char), 75 | (GObject.TYPE_INT, pyc.c_int), 76 | (GObject.TYPE_UINT, pyc.c_uint), 77 | (GObject.TYPE_FLAGS, pyc.c_uint), 78 | } 79 | 80 | G_PY_ADDRESS = { 81 | (GObject.TYPE_LONG, pyc.c_long), 82 | (GObject.TYPE_DOUBLE, pyc.c_double), 83 | (GObject.TYPE_ULONG, pyc.c_ulong), 84 | (GObject.TYPE_INT64, pyc.c_longlong), 85 | (GObject.TYPE_UINT64, pyc.c_ulonglong), 86 | (GObject.TYPE_ENUM, pyc.c_ulonglong), 87 | (GObject.TYPE_FLOAT, pyc.c_float), 88 | (GObject.TYPE_STRING, pyc.c_char_p), 89 | (GObject.TYPE_POINTER, pyc.c_void_p), 90 | (GObject.TYPE_OBJECT, pyc.c_void_p), 91 | (GObject.TYPE_PYOBJECT, pyc.py_object), 92 | } 93 | 94 | G_PY_NONE = { 95 | (GObject.TYPE_NONE, None), 96 | (GObject.TYPE_INVALID, None), 97 | } 98 | 99 | G_PY_NOT_IMPLEMENTED = { 100 | (GObject.TYPE_PARAM, None), 101 | (GObject.TYPE_STRV, None), 102 | (GObject.TYPE_VARIANT, None), 103 | (GObject.TYPE_BOXED, None), 104 | (GObject.TYPE_INTERFACE, None), 105 | } 106 | 107 | TYPES_G_PY = G_PY_INT | G_PY_ADDRESS | G_PY_NONE | G_PY_NOT_IMPLEMENTED 108 | 109 | TYPES_ID = {hash(gt): (gt, ct, INT) for gt, ct in G_PY_INT} 110 | _u = TYPES_ID.update 111 | _u({hash(gt): (gt, ct, ADDRESS) for gt, ct in G_PY_ADDRESS}) 112 | _u({hash(gt): (gt, ct, NONE) for gt, ct in G_PY_NONE}) 113 | _u({hash(gt): (gt, ct, NOT_IMPLEMENTED) for gt, ct in G_PY_NOT_IMPLEMENTED}) 114 | 115 | 116 | def gtype_name_of(gtype_id=0): 117 | ''' 118 | Return a name of gtype if type is a class 119 | 120 | this method use glib/gobjec/gtype.c/g_type_name 121 | see code 122 | https://github.com/GNOME/glib/blob/master/gobject/gtype.c#L3787 123 | ''' 124 | name = lego.g_type_name(hash(gtype_id)) 125 | return name and name.decode('utf-8') 126 | 127 | 128 | def gtype_and_ctype_of(gtype_id=0): 129 | ''' 130 | return (GType, ctype) of gtype_id 131 | May return (None, None, NOT_IMPLEMENTED) 132 | ''' 133 | _default = (None, None, NOT_IMPLEMENTED) 134 | g_and_c_type = TYPES_ID.get(hash(gtype_id), _default) 135 | if not g_and_c_type[0]: 136 | name = gtype_name_of(gtype_id) 137 | if name: 138 | gtype = GObject.GType.from_name(name) 139 | parent_id = hash(gtype.parent) 140 | parent = TYPES_ID.get(parent_id, _default) 141 | g_and_c_type = (gtype, pyc.c_void_p, parent[2]) 142 | return g_and_c_type 143 | 144 | 145 | def from_int(value, gtype_id): 146 | py_value = value 147 | types = gtype_and_ctype_of(gtype_id) 148 | gtype, ctype, ctg = types 149 | if gtype and ctype: 150 | if gtype.is_a(GObject.TYPE_OBJECT): 151 | py_value = _PyGO_CAPI.to_object(value) 152 | elif gtype.is_a(GObject.TYPE_GTYPE): 153 | py_value = gtype 154 | elif gtype.is_a(GObject.TYPE_STRING): 155 | py_value = ctype(value).value.decode('utf-8') 156 | elif ctg == INT: 157 | py_value = ctype(value).value 158 | elif ctg == ADDRESS: 159 | py_value = ctype.from_address(value) 160 | return py_value, gtype, ctype, ctg 161 | 162 | 163 | def c_to_py(value, gtype_id): 164 | return from_int(value, gtype_id)[0] 165 | 166 | 167 | ############################################################################### 168 | # GeeIterator 169 | ############################################################################### 170 | 171 | 172 | class _GeeIterator(object): 173 | def __init__(self, obj, it): 174 | self.it = it 175 | self.obj = obj 176 | self.size = None 177 | if hasattr(obj, 'get_size'): 178 | self.size = obj.get_size() 179 | 180 | def __iter__(self): 181 | it = self.it 182 | while it and it.has_next(): 183 | it.next() 184 | yield it 185 | raise StopIteration 186 | 187 | 188 | class GeeListIterator(_GeeIterator): 189 | def __init__(self, obj): 190 | _GeeIterator.__init__(self, obj, obj.iterator()) 191 | self.key_type = GObject.GType.from_name('gint') 192 | self.value_type = None 193 | if hasattr(obj, 'get_element_type'): 194 | self.value_type = obj.get_element_type() 195 | 196 | def __iter__(self): 197 | i = 0 198 | for it in _GeeIterator.__iter__(self): 199 | value = it.get() 200 | if self.value_type: 201 | value = c_to_py(value, self.value_type) 202 | yield i, value 203 | i += 1 204 | 205 | 206 | class GeeMapIterator(_GeeIterator): 207 | def __init__(self, obj): 208 | _GeeIterator.__init__(self, obj, obj.map_iterator()) 209 | self.value_type = None 210 | if hasattr(obj, 'get_value_type'): 211 | self.value_type = obj.get_value_type() 212 | self.key_type = None 213 | if hasattr(obj, 'get_key_type'): 214 | self.key_type = obj.get_key_type() 215 | 216 | def __iter__(self): 217 | for it in _GeeIterator.__iter__(self): 218 | value = it.get_value() 219 | key = it.get_key() 220 | if self.value_type: 221 | value = c_to_py(value, self.value_type) 222 | if self.key_type: 223 | key = c_to_py(key, self.key_type) 224 | yield key, value 225 | 226 | 227 | def get_iterator(obj): 228 | if hasattr(obj, "map_iterator"): 229 | return GeeMapIterator(obj) 230 | if hasattr(obj, "iterator"): 231 | return GeeListIterator(obj) 232 | return [] 233 | 234 | 235 | ############################################################################### 236 | # Folks 237 | ############################################################################### 238 | 239 | 240 | _CHANGED = 'individuals_changed_detailed' 241 | 242 | 243 | class FolksListener(object): 244 | def __init__(self, on_ready): 245 | self.aggregator = Folks.IndividualAggregator.dup() 246 | self.on_ready = on_ready 247 | self.aggregator.connect('notify::is-quiescent', self._on_quiescent) 248 | self.aggregator.prepare() 249 | 250 | def _on_quiescent(self, *args): 251 | self.on_ready(self.aggregator) 252 | 253 | 254 | class PhoneFieldDetailsWrapper(object): 255 | def __init__(self, obj): 256 | self.field_details = obj 257 | self.value_type = obj.get_value_type() 258 | self.value = c_to_py(obj.get_value(), self.value_type) 259 | params = get_iterator(obj.get_parameters()) 260 | self.parameters = {} 261 | 262 | while (params.it.next()): 263 | key = c_to_py(params.it.get_key(), params.key_type) 264 | value = c_to_py(params.it.get_value(), params.value_type) 265 | self.parameters[key] = value 266 | 267 | 268 | def get_folks(aggregator): 269 | individuals = aggregator.get_individuals() 270 | 271 | for uid, folk in get_iterator(individuals): 272 | yield folk 273 | 274 | 275 | def get_phone_numbers(folk): 276 | phone_numbers = folk.get_phone_numbers() 277 | 278 | for key, details in get_iterator(phone_numbers): 279 | yield PhoneFieldDetailsWrapper(details) 280 | 281 | 282 | ############################################################################### 283 | # main 284 | ############################################################################### 285 | 286 | if __name__ == '__main__': 287 | m = GObject.MainLoop() 288 | 289 | def ready(aggregator, *args): 290 | for folk in get_folks(aggregator): 291 | for phone_number in get_phone_numbers(folk): 292 | output = [ 293 | folk.get_display_name(), 294 | phone_number.value, 295 | phone_number.parameters.get('type', 'unknown') 296 | ] 297 | print('\t'.join(output)) 298 | 299 | m.quit() 300 | 301 | FolksListener(ready) 302 | m.run() 303 | -------------------------------------------------------------------------------- /src/lib.js: -------------------------------------------------------------------------------- 1 | /* 2 | Inspired by, but not derived from, the venerable 'convenience.js' which is: 3 | Copyright (c) 2011-2012, Giovanni Campagna 4 | */ 5 | 6 | const Lang = imports.lang; 7 | const Gettext = imports.gettext; 8 | const Gio = imports.gi.Gio; 9 | 10 | 11 | /** Return an extension object for GJS apps not privy to Gnome Shell imports */ 12 | function getCurrentExtension() { 13 | // Diced from: https://github.com/optimisme/gjs-examples/ 14 | let m = new RegExp("@(.+):\\d+").exec((new Error()).stack.split("\n")[1]); 15 | let dir = Gio.File.new_for_path(m[1]).get_parent(); 16 | 17 | let [s, meta, tag] = dir.get_child("metadata.json").load_contents(null); 18 | 19 | return { 20 | metadata: JSON.parse(meta), 21 | uuid: this.uuid, 22 | type: 2, 23 | dir: dir, 24 | path: dir.get_path(), 25 | error: "", 26 | hasPrefs: dir.get_child("prefs.js").query_exists(null) 27 | }; 28 | } 29 | 30 | var Me = getCurrentExtension(); 31 | 32 | /** Init GSettings for Me.metadata['gschema-id'] */ 33 | let schemaSrc = Gio.SettingsSchemaSource.new_from_directory( 34 | Me.dir.get_child('schemas').get_path(), 35 | Gio.SettingsSchemaSource.get_default(), 36 | false 37 | ); 38 | 39 | var Settings = new Gio.Settings({ 40 | settings_schema: schemaSrc.lookup(Me.metadata['gschema-id'], true) 41 | }); 42 | var Schema = Settings.settings_schema; 43 | 44 | /** Init GResource for fallback icons */ 45 | var Resources = Gio.resource_load(Me.path + "/org.gnome.shell.extensions.mconnect.gresource"); 46 | Resources._register(); 47 | 48 | /** Initialize Gettext for metadata['gettext-domain'] */ 49 | function initTranslations() { 50 | Gettext.bindtextdomain( 51 | Me.metadata['gettext-domain'], 52 | Me.dir.get_child('locale').get_path() 53 | ); 54 | } 55 | 56 | /** 57 | * Print a message to the log, prepended with the UUID of the extension 58 | * @param {String} msg - the message 59 | */ 60 | function log(msg) { 61 | global.log("[" + Me.metadata.uuid + "]: " + msg); 62 | } 63 | 64 | /** 65 | * Print a message to the log, prepended with the UUID of the extension and 66 | * "DEBUG". 67 | * @param {String} msg - the debugging message 68 | */ 69 | function debug(msg) { 70 | if (Settings.get_boolean("debug")) { 71 | log("DEBUG: " + msg); 72 | } 73 | } 74 | 75 | /** 76 | * Polyfills for older versions of GJS: 77 | * 78 | * Object.assign() 79 | */ 80 | if (typeof Object.assign != 'function') { 81 | // Must be writable: true, enumerable: false, configurable: true 82 | Object.defineProperty(Object, "assign", { 83 | value: function assign(target, varArgs) { // .length of function is 2 84 | 'use strict'; 85 | if (target == null) { // TypeError if undefined or null 86 | throw new TypeError('Cannot convert undefined or null to object'); 87 | } 88 | 89 | var to = Object(target); 90 | 91 | for (var index = 1; index < arguments.length; index++) { 92 | var nextSource = arguments[index]; 93 | 94 | if (nextSource != null) { // Skip over if undefined or null 95 | for (var nextKey in nextSource) { 96 | // Avoid bugs when hasOwnProperty is shadowed 97 | if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { 98 | to[nextKey] = nextSource[nextKey]; 99 | } 100 | } 101 | } 102 | } 103 | return to; 104 | }, 105 | writable: true, 106 | configurable: true 107 | }); 108 | } 109 | 110 | -------------------------------------------------------------------------------- /src/mconnect.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Imports 4 | const Lang = imports.lang; 5 | const Mainloop = imports.mainloop; 6 | const Gio = imports.gi.Gio; 7 | const GLib = imports.gi.GLib; 8 | const GObject = imports.gi.GObject; 9 | 10 | 11 | // DBus Constants 12 | var BUS_NAME = "org.mconnect"; 13 | 14 | const DeviceNode = new Gio.DBusNodeInfo.new_for_xml('\ 15 | \ 16 | \ 17 | \ 18 | \ 19 | \ 20 | \ 21 | \ 22 | \ 23 | \ 24 | \ 25 | \ 26 | \ 27 | \ 28 | \ 29 | \ 30 | \ 31 | \ 32 | \ 33 | \ 34 | \ 35 | \ 36 | \ 37 | \ 38 | \ 39 | \ 40 | \ 41 | \ 42 | \ 43 | \ 44 | \ 45 | \ 46 | \ 47 | \ 48 | \ 49 | \ 50 | \ 51 | \ 52 | \ 53 | \ 54 | \ 55 | \ 56 | \ 57 | \ 58 | \ 59 | '); 60 | 61 | DeviceNode.nodes.forEach((nodeInfo) => { nodeInfo.cache_build(); }); 62 | 63 | 64 | const ManagerNode = new Gio.DBusNodeInfo.new_for_xml('\ 65 | \ 66 | \ 67 | \ 68 | \ 69 | \ 70 | \ 71 | \ 72 | \ 73 | \ 74 | \ 75 | \ 76 | \ 77 | \ 78 | \ 79 | \ 80 | \ 81 | \ 82 | \ 83 | \ 84 | '); 85 | 86 | ManagerNode.nodes.forEach((nodeInfo) => { nodeInfo.cache_build(); }); 87 | 88 | 89 | // Start the service backend 90 | function startService() { 91 | try { 92 | GLib.spawn_command_line_async("mconnect -d"); 93 | } catch (e) { 94 | log("Error spawning MConnect daemon: " + e); 95 | } 96 | } 97 | 98 | 99 | // Open the extension preferences window 100 | function startSettings() { 101 | try { 102 | GLib.spawn_command_line_async( 103 | "xdg-open " + GLib.get_user_config_dir() + "/mconnect/mconnect.conf" 104 | ); 105 | } catch (e) { 106 | log("Error spawning MConnect settings: " + e); 107 | } 108 | } 109 | 110 | 111 | var ProxyBase = new Lang.Class({ 112 | Name: "ProxyBase", 113 | Extends: Gio.DBusProxy, 114 | Signals: { 115 | "received": { 116 | flags: GObject.SignalFlags.RUN_FIRST | GObject.SignalFlags.DETAILED, 117 | param_types: [ GObject.TYPE_VARIANT ] 118 | }, 119 | "changed": { 120 | flags: GObject.SignalFlags.RUN_FIRST | GObject.SignalFlags.DETAILED, 121 | param_types: [ GObject.TYPE_VARIANT ] 122 | } 123 | }, 124 | 125 | _init: function (iface, dbusPath) { 126 | this.parent({ 127 | gConnection: Gio.DBus.session, 128 | gInterfaceInfo: iface, 129 | gName: BUS_NAME, 130 | gObjectPath: dbusPath, 131 | gInterfaceName: iface.name 132 | }); 133 | 134 | this.cancellable = new Gio.Cancellable(); 135 | this.init(null); 136 | }, 137 | 138 | // Wrapper functions 139 | _call: function (name, callback) { 140 | /* Convert arg_array to a *real* array */ 141 | let args = Array.prototype.slice.call(arguments, 2); 142 | let methodInfo = this.gInterfaceInfo.lookup_method(name); 143 | let signature = []; 144 | let i, ret; 145 | 146 | for (i = 0; i < methodInfo.in_args.length; i++) { 147 | signature.push(methodInfo.in_args[i].signature); 148 | } 149 | 150 | let variant = new GLib.Variant("(" + signature.join("") + ")", args); 151 | 152 | if (callback) { 153 | this.call(name, variant, 0, -1, null, (proxy, result) => { 154 | let succeeded = false; 155 | 156 | try { 157 | ret = this.call_finish(result); 158 | succeeded = true; 159 | } catch (e) { 160 | log("Error calling " + name + ": " + e.message); 161 | } 162 | 163 | if (succeeded && typeof callback === "function") { 164 | return callback(ret); 165 | } 166 | }); 167 | } else { 168 | ret = this.call_sync(name, variant, 0, -1, this.cancellable); 169 | } 170 | 171 | // If return has single arg, only return that 172 | if (methodInfo.out_args.length === 1) { 173 | return (ret) ? ret.deep_unpack()[0] : null; 174 | } else { 175 | return (ret) ? ret.deep_unpack() : null; 176 | } 177 | }, 178 | 179 | _get: function (name) { 180 | let value = this.get_cached_property(name); 181 | return value ? value.deep_unpack() : null; 182 | }, 183 | 184 | _set: function (name, value) { 185 | let propertyInfo = this.gInterfaceInfo.lookup_property(name); 186 | let variant = new GLib.Variant(propertyInfo.signature, value); 187 | 188 | // Set the cached property first 189 | this.set_cached_property(name, variant); 190 | 191 | this.call( 192 | "org.freedesktop.DBus.Properties.Set", 193 | new GLib.Variant("(ssv)", [this.gInterfaceName, name, variant]), 194 | Gio.DBusCallFlags.NONE, 195 | -1, 196 | this.cancellable, 197 | (proxy, result) => { 198 | try { 199 | this.call_finish(result); 200 | } catch (e) { 201 | log("Error setting " + name + " on " + this.gObjectPath + 202 | ": " + e.message 203 | ); 204 | } 205 | } 206 | ); 207 | }, 208 | 209 | destroy: function () { 210 | GObject.signal_handlers_destroy(this); 211 | } 212 | }); 213 | 214 | /** A base class for backend Battery implementations */ 215 | var Battery = new Lang.Class({ 216 | Name: "Battery", 217 | Extends: ProxyBase, 218 | Properties: { 219 | "charging": GObject.ParamSpec.boolean( 220 | "charging", 221 | "BatteryCharging", 222 | "Whether the battery is charging or not", 223 | GObject.ParamFlags.READABLE, 224 | false 225 | ), 226 | "level": GObject.ParamSpec.int( 227 | "level", 228 | "BatteryLevel", 229 | "The battery level", 230 | GObject.ParamFlags.READABLE, 231 | 0, 100, 232 | 0 233 | ) 234 | }, 235 | 236 | _init: function (dbusPath) { 237 | this.parent(DeviceNode.interfaces[2], dbusPath); 238 | 239 | // 240 | this.connect("g-properties-changed", (proxy, properties) => { 241 | properties = properties.deep_unpack(); 242 | 243 | if (properties.hasOwnProperty("Charging")) { 244 | this.notify("charging"); 245 | } 246 | 247 | if (properties.hasOwnProperty("Level")) { 248 | this.notify("level"); 249 | } 250 | }); 251 | }, 252 | 253 | get charging () { return this._get("Charging"); }, 254 | get level () { return this._get("Level"); } 255 | }); 256 | 257 | /** A base class for backend Device implementations */ 258 | var Device = new Lang.Class({ 259 | Name: "Device", 260 | Extends: ProxyBase, 261 | Properties: { 262 | "id": GObject.ParamSpec.string( 263 | "id", 264 | "DeviceId", 265 | "The device Id", 266 | GObject.ParamFlags.READABLE, 267 | "" 268 | ), 269 | "name": GObject.ParamSpec.string( 270 | "name", 271 | "DeviceName", 272 | "The device name", 273 | GObject.ParamFlags.READABLE, 274 | "" 275 | ), 276 | "reachable": GObject.ParamSpec.boolean( 277 | "reachable", 278 | "DeviceReachable", 279 | "Whether the device is reachable/online", 280 | GObject.ParamFlags.READABLE, 281 | false 282 | ), 283 | "trusted": GObject.ParamSpec.boolean( 284 | "trusted", 285 | "DeviceTrusted", 286 | "Whether the device is trusted or not", 287 | GObject.ParamFlags.READABLE, 288 | false 289 | ), 290 | "type": GObject.ParamSpec.string( 291 | "type", 292 | "DeviceType", 293 | "The device type", 294 | GObject.ParamFlags.READABLE, 295 | "unknown" 296 | ), 297 | "mounted": GObject.ParamSpec.boolean( 298 | "mounted", 299 | "DeviceMounted", 300 | "Whether the device is mounted or not", 301 | GObject.ParamFlags.READWRITE, 302 | false 303 | ) 304 | }, 305 | 306 | _init: function (manager, dbusPath) { 307 | this.parent(DeviceNode.interfaces[1], dbusPath); 308 | 309 | this._manager = manager; 310 | 311 | // Connect to PropertiesChanged 312 | this.connect("g-properties-changed", (proxy, properties) => { 313 | properties = properties.deep_unpack(); 314 | 315 | for (let name in properties) { 316 | if (name === "Id") { 317 | this.notify("id"); 318 | } else if (name === "Name") { 319 | this.notify("name"); 320 | } else if (name === "IsActive" || name === "IsConnected") { 321 | this.notify("reachable"); 322 | } else if (name === "Allowed" || name === "IsPaired") { 323 | this.notify("trusted"); 324 | } else if (name === "DeviceType") { 325 | this.notify("type"); 326 | } 327 | } 328 | 329 | this._reloadPlugins(); 330 | }); 331 | 332 | this._reloadPlugins(); 333 | }, 334 | 335 | // Properties 336 | get id () { return this._get("Id"); }, 337 | get mounted () { return false; }, // Unsupported 338 | set mounted (bool) { return; }, // Unsupported 339 | get name () { return this._get("Name"); }, 340 | get reachable () { 341 | return (this._get("IsActive") || this._get("IsConnected")) === true; 342 | }, 343 | get trusted () { return this._get("Allowed") === true; }, 344 | get type () { return this._get("DeviceType"); }, 345 | 346 | // Methods 347 | mount: function () { throw Error("Not Implemented"); }, 348 | pair: function () { 349 | this._manager._call("AllowDevice", true, this.gObjectPath); 350 | }, 351 | ping: function () { throw Error("Not Implemented"); }, 352 | ring: function () { throw Error("Not Implemented"); }, 353 | sms: function (number, message) { throw Error("Not Implemented"); }, 354 | shareURI: function (uri) { throw Error("Not Implemented"); }, 355 | unpair: function () { 356 | this._manager._call("DisallowDevice", true, this.gObjectPath); 357 | }, 358 | 359 | // 360 | _reloadPlugins: function () { 361 | // FIXME: when Device has gone inactive 362 | let incoming = this._get("IncomingCapabilities"); 363 | let outgoing = this._get("OutgoingCapabilities"); 364 | 365 | if (outgoing.indexOf("kdeconnect.battery") > -1 && this.trusted) { 366 | this.battery = new Battery(this.gObjectPath); 367 | 368 | this.battery.connect("notify", (battery) => { 369 | this.emit("changed::battery", 370 | new GLib.Variant( 371 | "(bu)", 372 | [this.battery.charging, this.battery.level] 373 | ) 374 | ); 375 | }); 376 | 377 | // Kickstart the plugin 378 | this.emit("changed::battery", 379 | new GLib.Variant( 380 | "(bu)", 381 | [this.battery.charging, this.battery.level] 382 | ) 383 | ); 384 | } else if (this.hasOwnProperty("battery")) { 385 | this.battery.destroy(); 386 | delete this.battery; 387 | } 388 | 389 | if (outgoing.indexOf("kdeconnect.ping") > -1 && this.trusted) { 390 | this.ping = new ProxyBase( 391 | DeviceNode.interfaces[3], 392 | this.gObjectPath 393 | ); 394 | } else if (this.hasOwnProperty("ping")) { 395 | this.ping.destroy(); 396 | delete this.ping; 397 | } 398 | 399 | this.emit("changed::plugins", new GLib.Variant("()", "")); 400 | }, 401 | 402 | // Override Methods 403 | destroy: function () { 404 | ["battery", 405 | "findmyphone", 406 | "ping", 407 | "share", 408 | "telephony"].forEach((plugin) => { 409 | if (this.hasOwnProperty(plugin)) { 410 | delete this[plugin]; 411 | } 412 | }); 413 | 414 | ProxyBase.prototype.destroy.call(this); 415 | } 416 | }); 417 | 418 | 419 | // A DBus Interface wrapper for a device manager 420 | var DeviceManager = new Lang.Class({ 421 | Name: "DeviceManager", 422 | Extends: ProxyBase, 423 | Properties: { 424 | "name": GObject.ParamSpec.string( 425 | "name", 426 | "DeviceName", 427 | "The host's device name", 428 | GObject.ParamFlags.READABLE, 429 | "" 430 | ), 431 | "scanning": GObject.ParamSpec.boolean( 432 | "scanning", 433 | "ScanningDevices", 434 | "Whether scanning for devices is in progress", 435 | GObject.ParamFlags.READABLE, 436 | false 437 | ) 438 | }, 439 | Signals: { 440 | "device": { 441 | flags: GObject.SignalFlags.RUN_FIRST | GObject.SignalFlags.DETAILED, 442 | param_types: [ GObject.TYPE_STRING ] 443 | } 444 | }, 445 | 446 | _init: function () { 447 | this.parent(ManagerNode.interfaces[0], "/org/mconnect/manager"); 448 | 449 | // Track our device proxies, DBus path as key 450 | this.devices = new Map(); 451 | 452 | // Track scan request ID's 453 | this._scans = new Map(); 454 | 455 | this.connect("g-signal", (proxy, sender, name, parameters) => { 456 | parameters = parameters.deep_unpack(); 457 | 458 | if (name === "DeviceAdded") { 459 | this._deviceAdded(this, parameters[0]); 460 | } else if (name === "DeviceRemoved") { 461 | this._deviceRemoved(this, parameters[0]); 462 | } 463 | }); 464 | 465 | // Add currently managed devices 466 | this._call("ListDevices", false).forEach((dbusPath) => { 467 | this._deviceAdded(this, dbusPath); 468 | }); 469 | }, 470 | 471 | // MConnect always reports username@hostname 472 | get name () { return GLib.get_user_name() + "@" + GLib.get_host_name(); }, 473 | set name (name) { log("Not implemented"); }, 474 | get scanning () { return (this._scans.length > 0); }, 475 | 476 | // Callbacks 477 | _deviceAdded: function (manager, dbusPath) { 478 | // NOTE: not actually a signal yet 479 | this.devices.set(dbusPath, new Device(this, dbusPath)); 480 | this.emit("device::added", dbusPath); 481 | }, 482 | 483 | _deviceRemoved: function (manager, dbusPath) { 484 | // NOTE: not actually a signal yet 485 | this.devices.get(dbusPath).destroy(); 486 | this.devices.delete(dbusPath); 487 | this.emit("device::removed", dbusPath); 488 | }, 489 | 490 | // Public Methods 491 | scan: function (requestId="manager", timeout=15) { 492 | if (this._scans.has(requestId)) { 493 | log("Not implemented"); 494 | 495 | if (this._scans.get(requestId) > 0) { 496 | GLib.source_remove(this._scans.get(requestId)); 497 | } 498 | 499 | this._scans.delete(requestId) 500 | this.notify("scanning"); 501 | return false; 502 | } else { 503 | log("Not implemented"); 504 | 505 | if (timeout > 0) { 506 | this._scans.set( 507 | requestId, 508 | Mainloop.timeout_add_seconds( 509 | timeout, 510 | Lang.bind(this, this.scan, requestId), 511 | GLib.PRIORITY_DEFAULT 512 | ) 513 | ); 514 | } else { 515 | this._scans.set(requestId, timeout); 516 | } 517 | 518 | this.notify("scanning"); 519 | return true; 520 | } 521 | }, 522 | 523 | destroy: function () { 524 | for (let dbusPath of this.devices.keys()) { 525 | this._deviceRemoved(this, dbusPath); 526 | } 527 | 528 | for (let requestId of this._scans.keys()) { 529 | this.scan(requestId); 530 | } 531 | 532 | ProxyBase.prototype.destroy.call(this); 533 | } 534 | }); 535 | 536 | -------------------------------------------------------------------------------- /src/nautilus-send-mconnect.py: -------------------------------------------------------------------------------- 1 | """ 2 | nautilus-send-mconnect.py - A Nautilus extension for sending files via 3 | MConnect/KDE Connect. 4 | 5 | A great deal of credit and appreciation is owed to the indicator-kdeconnect 6 | developers for the sister Python script 'kdeconnect-send-nautilus.py': 7 | 8 | https://github.com/Bajoja/indicator-kdeconnect/blob/master/data/extensions/kdeconnect-send-nautilus.py 9 | """ 10 | 11 | import gi 12 | gi.require_version('Nautilus', '3.0') 13 | from gi.repository import Nautilus, GObject 14 | 15 | import gettext 16 | import locale 17 | import os.path 18 | import subprocess 19 | 20 | _ = gettext.gettext 21 | 22 | LOCALE_DIR = os.path.expanduser("~/.local/share/gnome-shell/extensions/mconnect@andyholmes.github.io/locale") 23 | CLI_PATH = os.path.expanduser("~/.local/share/gnome-shell/extensions/mconnect@andyholmes.github.io/share.js") 24 | 25 | 26 | class MConnectShareExtension(GObject.GObject, Nautilus.MenuProvider): 27 | """A context menu for sending files via the MConnect/KDE Connect.""" 28 | 29 | def __init__(self): 30 | """Initialize translations""" 31 | 32 | try: 33 | locale.setlocale(locale.LC_ALL, '') 34 | gettext.bindtextdomain( 35 | 'gnome-shell-extension-mconnect', 36 | LOCALE_DIR 37 | ) 38 | gettext.textdomain('gnome-shell-extension-mconnect') 39 | except: 40 | pass 41 | 42 | def get_reachable_devices(self): 43 | """Return a list of reachable, trusted devices""" 44 | 45 | args = ['gjs', CLI_PATH, '--list-available'] 46 | out = subprocess.Popen(args, stdout=subprocess.PIPE).stdout.read() 47 | 48 | devices = [] 49 | 50 | for device in filter(None, out.decode('utf-8').split("\n")): 51 | device_name, device_id = device.split(': ') 52 | devices.append({ 'name': device_name, 'id': device_id }) 53 | 54 | return devices 55 | 56 | def send_files(self, menu, files, device): 57 | """Send *files* to *device_id*""" 58 | 59 | args = ['gjs', CLI_PATH, '--device=' + device['id']] 60 | 61 | for file in files: 62 | args.append('--share=' + file.get_uri()) 63 | 64 | subprocess.Popen(args) 65 | 66 | def get_file_items(self, window, files): 67 | """Return a list of select files to be sent""" 68 | 69 | # Try to get devices 70 | try: 71 | devices = self.get_reachable_devices() 72 | except Exception as e: 73 | raise Exception('Error while getting reachable devices') 74 | 75 | # No devices, don't show menu entry 76 | if not devices: 77 | return 78 | 79 | # Only accept regular files 80 | for uri in files: 81 | if uri.get_uri_scheme() != 'file' or uri.is_directory(): 82 | return 83 | 84 | # Context Menu Item 85 | menu = Nautilus.MenuItem( 86 | name='MConnectShareExtension::Devices', 87 | label=_('Send To Mobile Device'), 88 | icon='smartphone-symbolic' 89 | ) 90 | 91 | # Context Menu 92 | submenu = Nautilus.Menu() 93 | menu.set_submenu(submenu) 94 | 95 | # Context Submenu Items 96 | for device in devices: 97 | item = Nautilus.MenuItem( 98 | name='MConnectShareExtension::Device' + device['id'], 99 | label=device['name'], 100 | icon='smartphone-symbolic' 101 | ) 102 | 103 | item.connect('activate', self.send_files, files, device) 104 | 105 | submenu.append_item(item) 106 | 107 | return menu, 108 | 109 | -------------------------------------------------------------------------------- /src/share.js: -------------------------------------------------------------------------------- 1 | /** share.js - A simple FileChooserDialog for sending files */ 2 | 3 | const Format = imports.format; 4 | const Lang = imports.lang; 5 | const System = imports.system; 6 | const Gettext = imports.gettext.domain('gnome-shell-extension-mconnect'); 7 | const _ = Gettext.gettext; 8 | const Gio = imports.gi.Gio; 9 | const GLib = imports.gi.GLib; 10 | const GObject = imports.gi.GObject; 11 | const Gtk = imports.gi.Gtk; 12 | const Notify = imports.gi.Notify; 13 | 14 | // Local Imports 15 | function getPath() { 16 | // Diced from: https://github.com/optimisme/gjs-examples/ 17 | let m = new RegExp("@(.+):\\d+").exec((new Error()).stack.split("\n")[1]); 18 | return Gio.File.new_for_path(m[1]).get_parent().get_path(); 19 | } 20 | 21 | imports.searchPath.push(getPath()); 22 | 23 | const MConnect = imports.mconnect; 24 | const KDEConnect = imports.kdeconnect; 25 | const { initTranslations, Settings } = imports.lib; 26 | 27 | var ServiceProvider = { 28 | MCONNECT: 0, 29 | KDECONNECT: 1 30 | }; 31 | 32 | // Gettext 33 | initTranslations(); 34 | String.prototype.format = Format.format; 35 | 36 | 37 | /** A simple FileChooserDialog for sharing files */ 38 | var ShareDialog = new Lang.Class({ 39 | Name: "ShareDialog", 40 | Extends: Gtk.FileChooserDialog, 41 | 42 | _init: function (application, name) { 43 | this.parent({ 44 | title: _("Send files to %s").format(name), 45 | action: Gtk.FileChooserAction.OPEN, 46 | select_multiple: true, 47 | icon_name: "document-send", 48 | modal: true 49 | }); 50 | 51 | this.add_button(_("Cancel"), Gtk.ResponseType.CANCEL); 52 | this.add_button(_("Send"), Gtk.ResponseType.OK); 53 | this.set_default_response(Gtk.ResponseType.OK); 54 | this.connect("delete-event", application.vfunc_shutdown); 55 | } 56 | }); 57 | 58 | 59 | var Application = new Lang.Class({ 60 | Name: "Application", 61 | Extends: Gio.Application, 62 | 63 | _init: function() { 64 | this.parent({ 65 | application_id: 'org.gnome.shell.extensions.mconnect.share', 66 | flags: Gio.ApplicationFlags.FLAGS_NONE 67 | }); 68 | 69 | let application_name = _("MConnect File Share"); 70 | 71 | GLib.set_prgname(application_name); 72 | GLib.set_application_name(application_name); 73 | Notify.init("gnome-shell-extension-mconnect"); 74 | 75 | // 76 | this._cmd = null; 77 | this._uris = null; 78 | this._id = null; 79 | 80 | // Options 81 | this.add_main_option( 82 | "device", 83 | "d".charCodeAt(0), 84 | GLib.OptionFlags.NONE, 85 | GLib.OptionArg.STRING, 86 | "Device ID", 87 | "" 88 | ); 89 | 90 | this.add_main_option( 91 | "share", 92 | "s".charCodeAt(0), 93 | GLib.OptionFlags.NONE, 94 | GLib.OptionArg.FILENAME_ARRAY, 95 | "Share a local (eg. file:///...) or remote uri with ", 96 | "" 97 | ); 98 | 99 | this.add_main_option( 100 | "list-devices", 101 | "l".charCodeAt(0), 102 | GLib.OptionFlags.NONE, 103 | GLib.OptionArg.NONE, 104 | "List all devices", 105 | null 106 | ); 107 | 108 | this.add_main_option( 109 | "list-available", 110 | "a".charCodeAt(0), 111 | GLib.OptionFlags.NONE, 112 | GLib.OptionArg.NONE, 113 | "List available (paired and reachable) devices", 114 | null 115 | ); 116 | 117 | this.register(null); 118 | }, 119 | 120 | share: function () { 121 | if (!this._uris.length) { return; } 122 | 123 | let found = false; 124 | 125 | for (let device of this.manager.devices.values()) { 126 | if (device.id === this._id && device.hasOwnProperty("share")) { 127 | for (let uri of this._uris) { 128 | device.shareURI(uri.toString()); 129 | found = true; 130 | } 131 | 132 | this._notifyShare(device.name, this._uris.length) 133 | } 134 | } 135 | 136 | if (!found) { throw Error("no device or share not supported"); } 137 | }, 138 | 139 | _notifyShare: function (deviceName, num) { 140 | // FIXME: this closes immediately after opening in the extension 141 | let note = new Notify.Notification({ 142 | summary: deviceName, 143 | body: Gettext.ngettext("Sending %d file", "Sending %d files", num).format(num), 144 | icon_name: "send-to-symbolic" 145 | }); 146 | 147 | note.show() 148 | }, 149 | 150 | vfunc_startup: function() { 151 | this.parent(); 152 | 153 | if (Settings.get_enum("service-provider") === ServiceProvider.MCONNECT) { 154 | this.manager = new MConnect.DeviceManager(); 155 | } else { 156 | this.manager = new KDEConnect.DeviceManager(); 157 | } 158 | }, 159 | 160 | vfunc_activate: function() { 161 | if (this._cmd === "list-devices") { 162 | this.manager.scan("list-devices"); 163 | GLib.usleep(2000000) // 2 seconds 164 | this.manager.scan("list-devices"); 165 | 166 | let status; 167 | 168 | for (let device of this.manager.devices.values()) { 169 | if (device.reachable && device.trusted) { 170 | status = " (paired and reachable)"; 171 | } else if (device.reachable) { 172 | status = " (reachable)"; 173 | } else if (device.trusted) { 174 | status = " (paired)"; 175 | } 176 | 177 | print(device.name + ": " + device.id + status); 178 | } 179 | } else if (this._cmd === "list-available") { 180 | for (let device of this.manager.devices.values()) { 181 | if (device.reachable && device.trusted) { 182 | print(device.name + ": " + device.id); 183 | } 184 | } 185 | } else if (this._cmd === "share" && this._id) { 186 | this.share(); 187 | } else if (this._id) { 188 | Gtk.init(null); 189 | 190 | let name; 191 | 192 | for (device of this.manager.devices.values()) { 193 | if (device.id === this._id) { 194 | name = device.name; 195 | } 196 | } 197 | 198 | let dialog = new ShareDialog(this, name); 199 | 200 | if (dialog.run() === Gtk.ResponseType.OK) { 201 | this._uris = dialog.get_uris(); 202 | } 203 | 204 | dialog.destroy(); 205 | 206 | this.share(); 207 | } else { 208 | throw Error("no command given"); 209 | } 210 | }, 211 | 212 | vfunc_shutdown: function() { 213 | this.parent(); 214 | 215 | this.manager.destroy(); 216 | delete this.manager; 217 | }, 218 | 219 | vfunc_handle_local_options: function(options) { 220 | if (options.contains("device")) { 221 | this._id = options.lookup_value("device", null).deep_unpack(); 222 | } 223 | 224 | if (options.contains("list-devices")) { 225 | this._cmd = "list-devices"; 226 | } else if (options.contains("list-available")) { 227 | this._cmd = "list-available"; 228 | } else if (options.contains("share")) { 229 | this._cmd = "share"; 230 | this._uris = options.lookup_value("share", null).deep_unpack(); 231 | } 232 | 233 | return -1; 234 | } 235 | }); 236 | 237 | (new Application()).run([System.programInvocationName].concat(ARGV)); 238 | 239 | --------------------------------------------------------------------------------