diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000000000000000000000000000000000000..47d2f9bed7e7885353f07687afe9b63b25364b41
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,718 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-14 23:21-0400\n"
+"PO-Revision-Date: 2018-02-01 23:37+0000\n"
+"Last-Translator: Jan Christian Grünhage <jan.christian@gruenhage.xyz>\n"
+"Language-Team: German "
+"<https://hosted.weblate.org/projects/monkeysphere/monkeysign/de/>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.19-dev\n"
+
+#: ../monkeysign/cli.py:26
+msgid ""
+"sign a key in a safe fashion.\n"
+"\n"
+"This command signs a key based on the fingerprint or user id\n"
+"specified on the commandline, encrypt the result and mail it to the\n"
+"user. This leave the choice of publishing the certification to that\n"
+"person and makes sure that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configured to prompt for\n"
+"passwords."
+msgstr ""
+"Signiere einen Schlüssel auf eine sichere Weise.\n"
+"\n"
+"Dieses Kommando signiert einen Schlüssel basierend auf dem Fingerabdruck "
+"oder der Nutzerkennung\n"
+"die auf der Kommandozeile spezifiziert wird, verschlüsselt das Ergebnis und "
+"mailt es dem Nutzer.\n"
+"Das überlässt die Wahl ob die Signatur veröffentlicht wird dem Nutzer, dem "
+"die signierte Identität gehört.\n"
+"\n"
+"Dieses Programm nimmt an, das gpg-agent konfiguriert ist nach Passwörtern zu "
+"fragen."
+
+#: ../monkeysign/cli.py:37
+msgid "%prog [options] <keyid>"
+msgstr ""
+
+#: ../monkeysign/cli.py:38
+msgid "<keyid>: a GPG fingerprint or key id"
+msgstr "<keyid>: ein GPG Fingerabdruck oder eine Schlüsselkennung"
+
+#: ../monkeysign/cli.py:45
+msgid "wrong number of arguments, use -h for full help"
+msgstr "Falsche Anzahl an Argumenten, siehe -h für mehr Hilfe"
+
+#: ../monkeysign/cli.py:57
+#, python-format
+msgid "reset GPG_TTY to %s"
+msgstr ""
+
+#: ../monkeysign/cli.py:65
+#, python-format
+msgid ""
+"Preparing to sign with this key\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../monkeysign/cli.py:100
+#, python-format
+msgid " (1-%d or full UID, control-c to abort): "
+msgstr ""
+
+#: ../monkeysign/cli.py:104
+msgid "invalid uid"
+msgstr ""
+
+#: ../monkeysign/gpg.py:209
+#, python-format
+msgid "could not find pattern '%s' in input, last skipped '%s'"
+msgstr ""
+
+#: ../monkeysign/gpg.py:329
+#, python-format
+msgid "verifying file %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:366 ../monkeysign/gpg.py:386
+#, python-format
+msgid "unexpected GPG exit code in list-keys: %d"
+msgstr ""
+
+#: ../monkeysign/gpg.py:398
+#, python-format
+msgid "encryption to %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:409
+#, python-format
+msgid "decryption failed: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:471 ../monkeysign/gpg.py:473
+#, python-format
+msgid "cannot sign: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:483
+msgid "you already signed that key"
+msgstr ""
+
+#: ../monkeysign/gpg.py:486 ../monkeysign/gpg.py:519
+#, python-format
+msgid "unable to open key for editing: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:494
+msgid "unable to prompt for passphrase, is gpg-agent running?"
+msgstr ""
+
+#: ../monkeysign/gpg.py:530
+msgid "key is expired, cannot sign"
+msgstr ""
+
+#: ../monkeysign/gpg.py:532
+#, python-format
+msgid "cannot sign, unknown error from gpg: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:537
+msgid "password confirmation failed"
+msgstr ""
+
+#: ../monkeysign/gpg.py:708
+#, python-format
+msgid "record type '%s' not implemented"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:40
+msgid ""
+"sign a key in a safe fashion using a webcam to scan for qr-codes\n"
+"\n"
+"This command will fire up a graphical interface and turn on the webcam\n"
+"(if available) on this computer. It will also display a qr-code of\n"
+"your main OpenPGP key.\n"
+"\n"
+"The webcam is used to capture an OpenPGP fingerprint represented as a\n"
+"qrcode (or whatever the zbar library can parse) and then go through a\n"
+"signing process.\n"
+"\n"
+"The signature is then encrypted and mailed to the user. This leave the\n"
+"choice of publishing the certification to that person and makes sure\n"
+"that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configure to prompt for\n"
+"passwords.\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:120
+msgid "okay, signing"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:123
+msgid "user denied signature"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:152
+msgid "Monkeysign (scan)"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:184
+msgid "_File"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:185
+msgid "Open image..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:186
+msgid "_Save QR code as..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:187
+msgid "_Print QR code..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "Copy image to clipboard"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "_Copy QR code"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Choose identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Select video device to use"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Video device"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:192
+msgid "_Quit"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:201
+msgid "Disable video"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:245
+msgid "No video device detected."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:251
+msgid ""
+"This is the output of your webcam, align a qrcode in the image to scan a "
+"fingerprint."
+msgstr ""
+
+#~ msgid "create the QR code display"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:269
+msgid ""
+"This is a QR-code version of your PGP fingerprint. Scan this with another "
+"monkeysign to transfer your fingerprint."
+msgstr ""
+
+#~ msgid "list the secret keys for selection somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:291 ../monkeysign/gtkui.py:292
+msgid "Hide QR code"
+msgstr ""
+
+#~ msgid "When window is resized, regenerate the QR code"
+#~ msgstr ""
+
+#~ msgid "refresh the qrcode when the selected key changes"
+#~ msgstr ""
+
+#~ msgid "draw the qrcode from the key fingerprint"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a new video device is selected from the\n"
+#~ "                drop-down list.  sets the new device for the zbar widget,\n"
+#~ "                which will eventually cause it to be opened and enabled\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "Given a fingerprint, generate a QR code image with appropriate prefix"
+#~ msgstr ""
+
+#~ msgid "Use a file chooser dialog to import an image containing a QR code"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:361
+msgid "cannot find signature for image file"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:363
+#, python-format
+msgid ""
+"The image provided cannot be verified using a trusted OpenPGP signature.\n"
+"\n"
+"Make sure the image comes from a trusted source (e.g. your own camera, which "
+"you have never left unsurveilled) before signing this!\n"
+"\n"
+"DO NOT SIGN UNTRUSTED FINGERPRINTS!\n"
+"\n"
+"To get rid of this warning, if you really trust this image, use the "
+"following command to sign the file\n"
+"\n"
+"    gpg -s --detach %s\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:365
+msgid "image signature verified successfully"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:370
+msgid "Scan an image for QR codes"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:403
+msgid "data found in image!"
+msgstr ""
+
+#~ msgid ""
+#~ "Use a file chooser dialog to enable user to save the current QR code as a "
+#~ "PNG image file"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:410 ../monkeysign/gtkui.py:435
+msgid ""
+"No identity selected. Select one from the identiy menu or generate a OpenPGP "
+"key if none is available."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:414
+msgid "Save QR code"
+msgstr ""
+
+#~ msgid "copy the qrcode to the clipboard"
+#~ msgstr ""
+
+#~ msgid "handler for the print QR code menu"
+#~ msgstr ""
+
+#~ msgid "actually print the qr code"
+#~ msgstr ""
+
+#~ msgid "Utility function to convert a PIL image instance to Pixbuf"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked for pulsating progressbar\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when gpg key download is finished\n"
+#~ "                "
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:478
+msgid "fetching finished"
+msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a barcode is decoded by the zbar widget.\n"
+#~ "                checks for an openpgp fingerprint\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "process zbar-scanned data"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:523
+msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
+#, python-format
+msgid "looking for key %s in your keyring"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:547
+msgid "Please wait"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:549
+msgid "Retrieving public key from server..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:563
+#, python-format
+msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
+msgstr ""
+
+#~ msgid "restart capture"
+#~ msgstr ""
+
+#~ msgid "close the application"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "User interface abstraction for monkeysign.\n"
+#~ "\n"
+#~ "    This aims to factor out a common pattern to sign keys that is used\n"
+#~ "    regardless of the UI used.\n"
+#~ "\n"
+#~ "    This is mostly geared at console/text-based and X11 interfaces,\n"
+#~ "    but could also be ported to other interfaces (touch-screen/phone\n"
+#~ "    interfaces would be interesting).\n"
+#~ "\n"
+#~ "    The actual process is in main(), which outlines what the\n"
+#~ "    subclasses of this should be doing.\n"
+#~ "\n"
+#~ "    You should have a docstring in derived classes, as it will be\n"
+#~ "    added to the 'usage' output.\n"
+#~ "\n"
+#~ "    You should also set the usage and epilog parameters, see\n"
+#~ "    parse_args().\n"
+#~ "    "
+#~ msgstr ""
+
+#~ msgid "parse the commandline arguments"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:74
+msgid "show version information and quit"
+msgstr ""
+
+#: ../monkeysign/ui.py:76
+msgid "request debugging information from GPG engine (lots of garbage)"
+msgstr ""
+
+#: ../monkeysign/ui.py:78
+msgid "explain what we do along the way"
+msgstr ""
+
+#: ../monkeysign/ui.py:80
+msgid "do not actually do anything"
+msgstr ""
+
+#: ../monkeysign/ui.py:81
+msgid "user id to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:82
+msgid "certification level to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:84
+msgid "import in normal keyring a local certification"
+msgstr ""
+
+#: ../monkeysign/ui.py:86
+msgid "keyserver to fetch keys from"
+msgstr ""
+
+#: ../monkeysign/ui.py:87
+msgid ""
+"SMTP server to use, use a colon to specify the port number if non-standard"
+msgstr ""
+
+#: ../monkeysign/ui.py:88
+msgid "username for the SMTP server (default: no user)"
+msgstr ""
+
+#: ../monkeysign/ui.py:89
+msgid ""
+"password for the SMTP server (default: prompted, if --smtpuser is specified)"
+msgstr ""
+
+#: ../monkeysign/ui.py:91
+msgid "Do not send email at all. (Default is to use sendmail.)"
+msgstr ""
+
+#: ../monkeysign/ui.py:93
+msgid ""
+"Override destination email for testing (default is to use the first uid on "
+"the key or send email to each uid chosen)"
+msgstr ""
+
+#: ../monkeysign/ui.py:136
+msgid "Initializing UI"
+msgstr ""
+
+#: ../monkeysign/ui.py:147
+#, python-format
+msgid "deleting the temporary keyring %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:172
+msgid "copied your gpg.conf in temporary keyring"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        General process\n"
+#~ "        ===============\n"
+#~ "\n"
+#~ "        1. fetch the key into a temporary keyring\n"
+#~ "        1.a) if allowed (@todo), from the keyservers\n"
+#~ "        1.b) from the local keyring (@todo try that first?)\n"
+#~ "        2. copy the signing key secrets into the keyring\n"
+#~ "        3. for every user id (or all, if -a is specified)\n"
+#~ "        3.1. sign the uid, using gpg-agent\n"
+#~ "        3.2. export and encrypt the signature\n"
+#~ "        3.3. mail the key to the user\n"
+#~ "        3.4. optionnally (-l), create a local signature and import in\n"
+#~ "        local keyring\n"
+#~ "        4. trash the temporary keyring\n"
+#~ "        "
+#~ msgstr ""
+
+#~ msgid "show a message to the user and abort program"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "display an warning message\n"
+#~ "\n"
+#~ "this should not interrupt the flow of the program, but must be visible to "
+#~ "the user"
+#~ msgstr ""
+
+#~ msgid "log an informational message if verbose"
+#~ msgstr ""
+
+#~ msgid "default UI is not interactive, so we assume yes all the time"
+#~ msgstr ""
+
+#~ msgid "find the key to be signed somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:231
+msgid "key not in local keyring"
+msgstr ""
+
+#: ../monkeysign/ui.py:234
+#, python-format
+msgid "fetching key %s from keyservers"
+msgstr ""
+
+#: ../monkeysign/ui.py:238
+msgid "please provide a keyid or fingerprint, uids are not supported yet"
+msgstr ""
+
+#: ../monkeysign/ui.py:241
+#, python-format
+msgid "could not find key %s in your keyring or keyservers"
+msgstr ""
+
+#~ msgid ""
+#~ "import secret keys (but only the public part) from your keyring\n"
+#~ "\n"
+#~ "we use --secret-keyring instead of copying the secret key material,\n"
+#~ "but we still need the public part in the temporary keyring for this to\n"
+#~ "work.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:250
+#, python-format
+msgid "copying your private key to temporary keyring in %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:258
+#, python-format
+msgid "found secret key: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:264
+msgid "no default secret key found, abort!"
+msgstr ""
+
+#: ../monkeysign/ui.py:265
+#, python-format
+msgid "signing key chosen: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:269
+msgid "could not find public key material, do you have a GPG key?"
+msgstr ""
+
+#~ msgid "sign the key uids, as specified"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:276
+#, python-format
+msgid "found %d keys matching your request"
+msgstr ""
+
+#: ../monkeysign/ui.py:279
+#, python-format
+msgid ""
+"Signing the following key\n"
+"\n"
+"%s\n"
+"\n"
+"Sign all identities? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:291
+msgid "Choose the identity to sign"
+msgstr ""
+
+#: ../monkeysign/ui.py:293
+msgid "no identity chosen"
+msgstr ""
+
+#: ../monkeysign/ui.py:300
+msgid "Really sign key? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:303
+msgid "key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:307
+msgid "making a non-exportable signature"
+msgstr ""
+
+#: ../monkeysign/ui.py:312
+msgid ""
+"could not import public key back into public keyring, something is wrong"
+msgstr ""
+
+#: ../monkeysign/ui.py:314
+msgid "local key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:322
+msgid "no key signed, nothing to export"
+msgstr ""
+
+#: ../monkeysign/ui.py:330 ../monkeysign/ui.py:337
+#, python-format
+msgid "failed to create email: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:354
+#, python-format
+msgid "Error connecting to SMTP server %s: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:356
+#, python-format
+msgid "Unexpected SMTP server error while talking to %s, code: %s (%s)"
+msgstr ""
+
+#: ../monkeysign/ui.py:360
+msgid "SMTP server does not support STARTTLS"
+msgstr ""
+
+#: ../monkeysign/ui.py:361
+msgid "authentication credentials will be sent in clear text"
+msgstr ""
+
+#: ../monkeysign/ui.py:364
+#, python-format
+msgid "enter SMTP password for server %s: "
+msgstr ""
+
+#: ../monkeysign/ui.py:368
+#, python-format
+msgid "sent message through SMTP server %s to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:374
+#, python-format
+msgid "sent message through sendmail to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:377
+#, python-format
+msgid ""
+"not sending email to %s, as requested, here's the email message:\n"
+"\n"
+"%s"
+msgstr ""
+
+#~ msgid ""
+#~ "email generator\n"
+#~ "\n"
+#~ "this is a factory, ie. a class generating an object that represents\n"
+#~ "the email and when turned into a string, is the actual\n"
+#~ "mail.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:392
+msgid "Your signed OpenPGP key"
+msgstr ""
+
+#: ../monkeysign/ui.py:395
+msgid ""
+"\n"
+"Please find attached your signed PGP key. You can import the signed\n"
+"key by running each through `gpg --import`.\n"
+"\n"
+"If you have multiple user ids, each signature was sent in a separate\n"
+"email to each user id.\n"
+"\n"
+"Note that your key was not uploaded to any keyservers. If you want\n"
+"this new signature to be available to others, please upload it\n"
+"yourself.  With GnuPG this can be done using:\n"
+"\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <keyid>\n"
+"\n"
+"Regards,\n"
+msgstr ""
+
+#~ msgid ""
+#~ "email constructor\n"
+#~ "\n"
+#~ "we expect to find the following arguments:\n"
+#~ "\n"
+#~ "keydata: the signed public key material\n"
+#~ "keyfpr: the fingerprint of that public key\n"
+#~ "recipient: the recipient to encrypt the mail to\n"
+#~ "mailfrom: who the mail originates from\n"
+#~ "mailto: who to send the mail to (usually similar to recipient, but can be "
+#~ "used to specify specific keyids"
+#~ msgstr ""
+
+#~ msgid "this will remove any UID not matching the 'recipient' set in the class"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        a multipart/mixed message containing a plain-text message\n"
+#~ "        explaining what this is, and a second part containing PGP data\n"
+#~ "        "
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:494
+#, python-format
+msgid "signed PGP Key %s, uid %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:507
+msgid "This is a multi-part message in PGP/MIME format..."
+msgstr ""
+
+#~ msgid "A non-wrapping formatter for OptionParse."
+#~ msgstr ""
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000000000000000000000000000000000000..e1988b9ed62876eb426dea3050e8c078bb4e7621
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,704 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-14 23:21-0400\n"
+"PO-Revision-Date: 2014-10-16 23:47-0400\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../monkeysign/cli.py:26
+msgid ""
+"sign a key in a safe fashion.\n"
+"\n"
+"This command signs a key based on the fingerprint or user id\n"
+"specified on the commandline, encrypt the result and mail it to the\n"
+"user. This leave the choice of publishing the certification to that\n"
+"person and makes sure that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configured to prompt for\n"
+"passwords."
+msgstr ""
+
+#: ../monkeysign/cli.py:37
+msgid "%prog [options] <keyid>"
+msgstr ""
+
+#: ../monkeysign/cli.py:38
+msgid "<keyid>: a GPG fingerprint or key id"
+msgstr ""
+
+#: ../monkeysign/cli.py:45
+msgid "wrong number of arguments, use -h for full help"
+msgstr ""
+
+#: ../monkeysign/cli.py:57
+#, python-format
+msgid "reset GPG_TTY to %s"
+msgstr ""
+
+#: ../monkeysign/cli.py:65
+#, python-format
+msgid ""
+"Preparing to sign with this key\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../monkeysign/cli.py:100
+#, python-format
+msgid " (1-%d or full UID, control-c to abort): "
+msgstr ""
+
+#: ../monkeysign/cli.py:104
+msgid "invalid uid"
+msgstr ""
+
+#: ../monkeysign/gpg.py:209
+#, python-format
+msgid "could not find pattern '%s' in input, last skipped '%s'"
+msgstr ""
+
+#: ../monkeysign/gpg.py:329
+#, python-format
+msgid "verifying file %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:366 ../monkeysign/gpg.py:386
+#, python-format
+msgid "unexpected GPG exit code in list-keys: %d"
+msgstr ""
+
+#: ../monkeysign/gpg.py:398
+#, python-format
+msgid "encryption to %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:409
+#, python-format
+msgid "decryption failed: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:471 ../monkeysign/gpg.py:473
+#, python-format
+msgid "cannot sign: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:483
+msgid "you already signed that key"
+msgstr ""
+
+#: ../monkeysign/gpg.py:486 ../monkeysign/gpg.py:519
+#, python-format
+msgid "unable to open key for editing: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:494
+msgid "unable to prompt for passphrase, is gpg-agent running?"
+msgstr ""
+
+#: ../monkeysign/gpg.py:530
+msgid "key is expired, cannot sign"
+msgstr ""
+
+#: ../monkeysign/gpg.py:532
+#, python-format
+msgid "cannot sign, unknown error from gpg: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:537
+msgid "password confirmation failed"
+msgstr ""
+
+#: ../monkeysign/gpg.py:708
+#, python-format
+msgid "record type '%s' not implemented"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:40
+msgid ""
+"sign a key in a safe fashion using a webcam to scan for qr-codes\n"
+"\n"
+"This command will fire up a graphical interface and turn on the webcam\n"
+"(if available) on this computer. It will also display a qr-code of\n"
+"your main OpenPGP key.\n"
+"\n"
+"The webcam is used to capture an OpenPGP fingerprint represented as a\n"
+"qrcode (or whatever the zbar library can parse) and then go through a\n"
+"signing process.\n"
+"\n"
+"The signature is then encrypted and mailed to the user. This leave the\n"
+"choice of publishing the certification to that person and makes sure\n"
+"that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configure to prompt for\n"
+"passwords.\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:120
+msgid "okay, signing"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:123
+msgid "user denied signature"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:152
+msgid "Monkeysign (scan)"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:184
+msgid "_File"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:185
+msgid "Open image..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:186
+msgid "_Save QR code as..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:187
+msgid "_Print QR code..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "Copy image to clipboard"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "_Copy QR code"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Choose identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Select video device to use"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Video device"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:192
+msgid "_Quit"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:201
+msgid "Disable video"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:245
+msgid "No video device detected."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:251
+msgid ""
+"This is the output of your webcam, align a qrcode in the image to scan a "
+"fingerprint."
+msgstr ""
+
+#~ msgid "create the QR code display"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:269
+msgid ""
+"This is a QR-code version of your PGP fingerprint. Scan this with another "
+"monkeysign to transfer your fingerprint."
+msgstr ""
+
+#~ msgid "list the secret keys for selection somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:291 ../monkeysign/gtkui.py:292
+msgid "Hide QR code"
+msgstr ""
+
+#~ msgid "When window is resized, regenerate the QR code"
+#~ msgstr ""
+
+#~ msgid "refresh the qrcode when the selected key changes"
+#~ msgstr ""
+
+#~ msgid "draw the qrcode from the key fingerprint"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a new video device is selected from the\n"
+#~ "                drop-down list.  sets the new device for the zbar widget,\n"
+#~ "                which will eventually cause it to be opened and enabled\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "Given a fingerprint, generate a QR code image with appropriate prefix"
+#~ msgstr ""
+
+#~ msgid "Use a file chooser dialog to import an image containing a QR code"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:361
+msgid "cannot find signature for image file"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:363
+#, python-format
+msgid ""
+"The image provided cannot be verified using a trusted OpenPGP signature.\n"
+"\n"
+"Make sure the image comes from a trusted source (e.g. your own camera, which "
+"you have never left unsurveilled) before signing this!\n"
+"\n"
+"DO NOT SIGN UNTRUSTED FINGERPRINTS!\n"
+"\n"
+"To get rid of this warning, if you really trust this image, use the "
+"following command to sign the file\n"
+"\n"
+"    gpg -s --detach %s\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:365
+msgid "image signature verified successfully"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:370
+msgid "Scan an image for QR codes"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:403
+msgid "data found in image!"
+msgstr ""
+
+#~ msgid ""
+#~ "Use a file chooser dialog to enable user to save the current QR code as a "
+#~ "PNG image file"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:410 ../monkeysign/gtkui.py:435
+msgid ""
+"No identity selected. Select one from the identiy menu or generate a OpenPGP "
+"key if none is available."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:414
+msgid "Save QR code"
+msgstr ""
+
+#~ msgid "copy the qrcode to the clipboard"
+#~ msgstr ""
+
+#~ msgid "handler for the print QR code menu"
+#~ msgstr ""
+
+#~ msgid "actually print the qr code"
+#~ msgstr ""
+
+#~ msgid "Utility function to convert a PIL image instance to Pixbuf"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked for pulsating progressbar\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when gpg key download is finished\n"
+#~ "                "
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:478
+msgid "fetching finished"
+msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a barcode is decoded by the zbar widget.\n"
+#~ "                checks for an openpgp fingerprint\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "process zbar-scanned data"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:523
+msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
+#, python-format
+msgid "looking for key %s in your keyring"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:547
+msgid "Please wait"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:549
+msgid "Retrieving public key from server..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:563
+#, python-format
+msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
+msgstr ""
+
+#~ msgid "restart capture"
+#~ msgstr ""
+
+#~ msgid "close the application"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "User interface abstraction for monkeysign.\n"
+#~ "\n"
+#~ "    This aims to factor out a common pattern to sign keys that is used\n"
+#~ "    regardless of the UI used.\n"
+#~ "\n"
+#~ "    This is mostly geared at console/text-based and X11 interfaces,\n"
+#~ "    but could also be ported to other interfaces (touch-screen/phone\n"
+#~ "    interfaces would be interesting).\n"
+#~ "\n"
+#~ "    The actual process is in main(), which outlines what the\n"
+#~ "    subclasses of this should be doing.\n"
+#~ "\n"
+#~ "    You should have a docstring in derived classes, as it will be\n"
+#~ "    added to the 'usage' output.\n"
+#~ "\n"
+#~ "    You should also set the usage and epilog parameters, see\n"
+#~ "    parse_args().\n"
+#~ "    "
+#~ msgstr ""
+
+#~ msgid "parse the commandline arguments"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:74
+msgid "show version information and quit"
+msgstr ""
+
+#: ../monkeysign/ui.py:76
+msgid "request debugging information from GPG engine (lots of garbage)"
+msgstr ""
+
+#: ../monkeysign/ui.py:78
+msgid "explain what we do along the way"
+msgstr ""
+
+#: ../monkeysign/ui.py:80
+msgid "do not actually do anything"
+msgstr ""
+
+#: ../monkeysign/ui.py:81
+msgid "user id to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:82
+msgid "certification level to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:84
+msgid "import in normal keyring a local certification"
+msgstr ""
+
+#: ../monkeysign/ui.py:86
+msgid "keyserver to fetch keys from"
+msgstr ""
+
+#: ../monkeysign/ui.py:87
+msgid ""
+"SMTP server to use, use a colon to specify the port number if non-standard"
+msgstr ""
+
+#: ../monkeysign/ui.py:88
+msgid "username for the SMTP server (default: no user)"
+msgstr ""
+
+#: ../monkeysign/ui.py:89
+msgid ""
+"password for the SMTP server (default: prompted, if --smtpuser is specified)"
+msgstr ""
+
+#: ../monkeysign/ui.py:91
+msgid "Do not send email at all. (Default is to use sendmail.)"
+msgstr ""
+
+#: ../monkeysign/ui.py:93
+msgid ""
+"Override destination email for testing (default is to use the first uid on "
+"the key or send email to each uid chosen)"
+msgstr ""
+
+#: ../monkeysign/ui.py:136
+msgid "Initializing UI"
+msgstr ""
+
+#: ../monkeysign/ui.py:147
+#, python-format
+msgid "deleting the temporary keyring %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:172
+msgid "copied your gpg.conf in temporary keyring"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        General process\n"
+#~ "        ===============\n"
+#~ "\n"
+#~ "        1. fetch the key into a temporary keyring\n"
+#~ "        1.a) if allowed (@todo), from the keyservers\n"
+#~ "        1.b) from the local keyring (@todo try that first?)\n"
+#~ "        2. copy the signing key secrets into the keyring\n"
+#~ "        3. for every user id (or all, if -a is specified)\n"
+#~ "        3.1. sign the uid, using gpg-agent\n"
+#~ "        3.2. export and encrypt the signature\n"
+#~ "        3.3. mail the key to the user\n"
+#~ "        3.4. optionnally (-l), create a local signature and import in\n"
+#~ "        local keyring\n"
+#~ "        4. trash the temporary keyring\n"
+#~ "        "
+#~ msgstr ""
+
+#~ msgid "show a message to the user and abort program"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "display an warning message\n"
+#~ "\n"
+#~ "this should not interrupt the flow of the program, but must be visible to "
+#~ "the user"
+#~ msgstr ""
+
+#~ msgid "log an informational message if verbose"
+#~ msgstr ""
+
+#~ msgid "default UI is not interactive, so we assume yes all the time"
+#~ msgstr ""
+
+#~ msgid "find the key to be signed somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:231
+msgid "key not in local keyring"
+msgstr ""
+
+#: ../monkeysign/ui.py:234
+#, python-format
+msgid "fetching key %s from keyservers"
+msgstr ""
+
+#: ../monkeysign/ui.py:238
+msgid "please provide a keyid or fingerprint, uids are not supported yet"
+msgstr ""
+
+#: ../monkeysign/ui.py:241
+#, python-format
+msgid "could not find key %s in your keyring or keyservers"
+msgstr ""
+
+#~ msgid ""
+#~ "import secret keys (but only the public part) from your keyring\n"
+#~ "\n"
+#~ "we use --secret-keyring instead of copying the secret key material,\n"
+#~ "but we still need the public part in the temporary keyring for this to\n"
+#~ "work.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:250
+#, python-format
+msgid "copying your private key to temporary keyring in %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:258
+#, python-format
+msgid "found secret key: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:264
+msgid "no default secret key found, abort!"
+msgstr ""
+
+#: ../monkeysign/ui.py:265
+#, python-format
+msgid "signing key chosen: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:269
+msgid "could not find public key material, do you have a GPG key?"
+msgstr ""
+
+#~ msgid "sign the key uids, as specified"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:276
+#, python-format
+msgid "found %d keys matching your request"
+msgstr ""
+
+#: ../monkeysign/ui.py:279
+#, python-format
+msgid ""
+"Signing the following key\n"
+"\n"
+"%s\n"
+"\n"
+"Sign all identities? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:291
+msgid "Choose the identity to sign"
+msgstr ""
+
+#: ../monkeysign/ui.py:293
+msgid "no identity chosen"
+msgstr ""
+
+#: ../monkeysign/ui.py:300
+msgid "Really sign key? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:303
+msgid "key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:307
+msgid "making a non-exportable signature"
+msgstr ""
+
+#: ../monkeysign/ui.py:312
+msgid ""
+"could not import public key back into public keyring, something is wrong"
+msgstr ""
+
+#: ../monkeysign/ui.py:314
+msgid "local key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:322
+msgid "no key signed, nothing to export"
+msgstr ""
+
+#: ../monkeysign/ui.py:330 ../monkeysign/ui.py:337
+#, python-format
+msgid "failed to create email: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:354
+#, python-format
+msgid "Error connecting to SMTP server %s: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:356
+#, python-format
+msgid "Unexpected SMTP server error while talking to %s, code: %s (%s)"
+msgstr ""
+
+#: ../monkeysign/ui.py:360
+msgid "SMTP server does not support STARTTLS"
+msgstr ""
+
+#: ../monkeysign/ui.py:361
+msgid "authentication credentials will be sent in clear text"
+msgstr ""
+
+#: ../monkeysign/ui.py:364
+#, python-format
+msgid "enter SMTP password for server %s: "
+msgstr ""
+
+#: ../monkeysign/ui.py:368
+#, python-format
+msgid "sent message through SMTP server %s to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:374
+#, python-format
+msgid "sent message through sendmail to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:377
+#, python-format
+msgid ""
+"not sending email to %s, as requested, here's the email message:\n"
+"\n"
+"%s"
+msgstr ""
+
+#~ msgid ""
+#~ "email generator\n"
+#~ "\n"
+#~ "this is a factory, ie. a class generating an object that represents\n"
+#~ "the email and when turned into a string, is the actual\n"
+#~ "mail.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:392
+msgid "Your signed OpenPGP key"
+msgstr ""
+
+#: ../monkeysign/ui.py:395
+msgid ""
+"\n"
+"Please find attached your signed PGP key. You can import the signed\n"
+"key by running each through `gpg --import`.\n"
+"\n"
+"If you have multiple user ids, each signature was sent in a separate\n"
+"email to each user id.\n"
+"\n"
+"Note that your key was not uploaded to any keyservers. If you want\n"
+"this new signature to be available to others, please upload it\n"
+"yourself.  With GnuPG this can be done using:\n"
+"\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <keyid>\n"
+"\n"
+"Regards,\n"
+msgstr ""
+
+#~ msgid ""
+#~ "email constructor\n"
+#~ "\n"
+#~ "we expect to find the following arguments:\n"
+#~ "\n"
+#~ "keydata: the signed public key material\n"
+#~ "keyfpr: the fingerprint of that public key\n"
+#~ "recipient: the recipient to encrypt the mail to\n"
+#~ "mailfrom: who the mail originates from\n"
+#~ "mailto: who to send the mail to (usually similar to recipient, but can be "
+#~ "used to specify specific keyids"
+#~ msgstr ""
+
+#~ msgid "this will remove any UID not matching the 'recipient' set in the class"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        a multipart/mixed message containing a plain-text message\n"
+#~ "        explaining what this is, and a second part containing PGP data\n"
+#~ "        "
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:494
+#, python-format
+msgid "signed PGP Key %s, uid %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:507
+msgid "This is a multi-part message in PGP/MIME format..."
+msgstr ""
+
+#~ msgid "A non-wrapping formatter for OptionParse."
+#~ msgstr ""
diff --git a/po/es.po b/po/es.po
index 7ba060702702913ecd17b6f4a11667bd08c196b5..e77fdd207b363fd83c0462441c71bf54fd4eeb79 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,8 +6,8 @@ msgstr ""
 "Project-Id-Version: monkeysign2.x\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-08-14 23:21-0400\n"
-"PO-Revision-Date: 2015-02-03 22:54+0200\n"
-"Last-Translator: Gonzalo Exequiel Pedone <hipersayan.x@gmail.com>\n"
+"PO-Revision-Date: 2017-09-24 12:04+0000\n"
+"Last-Translator: Sylvain Lesage <severo@rednegra.net>\n"
 "Language-Team: Spanish "
 "<https://hosted.weblate.org/projects/monkeysphere/monkeysign/es/>\n"
 "Language: es\n"
@@ -15,7 +15,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.2-dev\n"
+"X-Generator: Weblate 2.17-dev\n"
 
 #: ../monkeysign/cli.py:26
 msgid ""
@@ -294,21 +294,23 @@ msgstr ""
 
 #: ../monkeysign/gtkui.py:365
 msgid "image signature verified successfully"
-msgstr ""
+msgstr "Firma de la imagen verificada exitosamente"
 
 #: ../monkeysign/gtkui.py:370
 msgid "Scan an image for QR codes"
-msgstr ""
+msgstr "Escanear una imagen para códigos QR"
 
 #: ../monkeysign/gtkui.py:403
 msgid "data found in image!"
-msgstr ""
+msgstr "¡datos encontrados en la imagen!"
 
 #: ../monkeysign/gtkui.py:410 ../monkeysign/gtkui.py:435
 msgid ""
 "No identity selected. Select one from the identiy menu or generate a OpenPGP "
 "key if none is available."
 msgstr ""
+"Ninguna identidad seleccionada. Elegir una en el menú de identidad, o "
+"generar una clave OpenPGP si no hay ninguna disponible."
 
 #: ../monkeysign/gtkui.py:414
 msgid "Save QR code"
@@ -321,6 +323,8 @@ msgstr "el traer terminó"
 #: ../monkeysign/gtkui.py:523
 msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
 msgstr ""
+"zbar capturó una imagen, está buscando una huella de 40 caracteres "
+"hexadecimales"
 
 #: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
 #, python-format
@@ -339,10 +343,12 @@ msgstr "Trayendo clave publico del servidor..."
 #, python-format
 msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
 msgstr ""
+"los datos encontrados en el código de barras no corresponden a una huella "
+"OpenPGP: %s"
 
 #: ../monkeysign/ui.py:74
 msgid "show version information and quit"
-msgstr ""
+msgstr "mostrar la información relativa a la versión y salir"
 
 #: ../monkeysign/ui.py:76
 msgid "request debugging information from GPG engine (lots of garbage)"
@@ -361,9 +367,8 @@ msgid "user id to sign the key with"
 msgstr "id de usuario que firmará el clave"
 
 #: ../monkeysign/ui.py:82
-#, fuzzy
 msgid "certification level to sign the key with"
-msgstr "id de usuario que firmará el clave"
+msgstr "nivel de certificación con el cuál firmar la clave"
 
 # Some words I am not sure would be the normal way to express technically in spanish such as keyring=llavero?, or parse=analizar?
 #: ../monkeysign/ui.py:84
@@ -378,15 +383,19 @@ msgstr "servidor de claves, de donde se traerá los claves"
 msgid ""
 "SMTP server to use, use a colon to specify the port number if non-standard"
 msgstr ""
+"Servidor SMTP a utilizar, colocar \":\" para especificar el puerto si no es "
+"estándar"
 
 #: ../monkeysign/ui.py:88
 msgid "username for the SMTP server (default: no user)"
-msgstr ""
+msgstr "usuario del servidor SMTP (por defecto: sin usuario)"
 
 #: ../monkeysign/ui.py:89
 msgid ""
 "password for the SMTP server (default: prompted, if --smtpuser is specified)"
 msgstr ""
+"contraseña para el servidor SMTP (por defecto: se solicitará mediante la "
+"interfaz, si se utiliza la opción --smtpuser)"
 
 #: ../monkeysign/ui.py:91
 msgid "Do not send email at all. (Default is to use sendmail.)"
@@ -517,27 +526,28 @@ msgid "failed to create email: %s"
 msgstr "no se pudo crear email: %s"
 
 #: ../monkeysign/ui.py:354
-#, fuzzy, python-format
+#, python-format
 msgid "Error connecting to SMTP server %s: %s"
-msgstr "mandó mensaje por medio de servidor de SMTP %s para %s"
+msgstr "Error al conectarse al servidor SMTP %s: %s"
 
 #: ../monkeysign/ui.py:356
 #, python-format
 msgid "Unexpected SMTP server error while talking to %s, code: %s (%s)"
 msgstr ""
+"Error inesperado del servidor SMTP al comunicarse con %s, código %s (%s)"
 
 #: ../monkeysign/ui.py:360
 msgid "SMTP server does not support STARTTLS"
-msgstr ""
+msgstr "El servidor SMTP no soporta STARTTLS"
 
 #: ../monkeysign/ui.py:361
 msgid "authentication credentials will be sent in clear text"
-msgstr ""
+msgstr "las credenciales de autenticación serán enviados en claro"
 
 #: ../monkeysign/ui.py:364
 #, python-format
 msgid "enter SMTP password for server %s: "
-msgstr ""
+msgstr "ingresar la contraseña para el servidor SMTP %s: "
 
 #: ../monkeysign/ui.py:368
 #, python-format
@@ -565,7 +575,6 @@ msgid "Your signed OpenPGP key"
 msgstr "Tu firmado OpenPGP clave"
 
 #: ../monkeysign/ui.py:395
-#, fuzzy
 msgid ""
 "\n"
 "Please find attached your signed PGP key. You can import the signed\n"
@@ -583,23 +592,25 @@ msgid ""
 "Regards,\n"
 msgstr ""
 "\n"
-"Favor de buscar tu clave de PGP adjunto. Usted puede importar el clave\n"
-"firmado por pasar cada uno por 'gpg --import'.\n"
+"Puedes encontrar tu clave PGP firmada en el adjunto. La puedes importar "
+"utilizando el comando 'gpg --import'.\n"
 "\n"
-"Debes saber que tu clave no fue mandado a ningún servidor de claves. Si "
-"usted\n"
-"quisieras que tu firma sea disponible a los demás, favor de mandarlo\n"
-" usted mismo. Con GnuPG esto puede estar hecho por usar:\n"
+"Si manejas varios usuarios, cada clave firmada será enviada en un correo "
+"electrónico dedicado.\n"
 "\n"
-"    gpg --keyserver pool.sks-keyservers.net --send-key "
-"<identificador_de_ID>\n"
+"Debes saber que tu clave no fue subida a ningún servidor de claves. Si "
+"quieres que esta nueva firma este disponible para los demás, no te olvides "
+"subir tu clave. Con GnuPG lo puedes hacer con:\n"
 "\n"
-"Respeto,\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <identificador_de_ID>"
+"\n"
+"\n"
+"Cordialmente,\n"
 
 #: ../monkeysign/ui.py:494
 #, python-format
 msgid "signed PGP Key %s, uid %s"
-msgstr ""
+msgstr "clave PGP firmada %s, UID %s"
 
 #: ../monkeysign/ui.py:507
 msgid "This is a multi-part message in PGP/MIME format..."
diff --git a/po/nb_NO.po b/po/nb_NO.po
new file mode 100644
index 0000000000000000000000000000000000000000..ee900f61623682c1d62cdce2fefd257d5d8a6ceb
--- /dev/null
+++ b/po/nb_NO.po
@@ -0,0 +1,789 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-14 23:21-0400\n"
+"PO-Revision-Date: 2018-09-03 13:20+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
+"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
+"monkeysphere/monkeysign/nb_NO/>\n"
+"Language: nb_NO\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.2-dev\n"
+
+#: ../monkeysign/cli.py:26
+msgid ""
+"sign a key in a safe fashion.\n"
+"\n"
+"This command signs a key based on the fingerprint or user id\n"
+"specified on the commandline, encrypt the result and mail it to the\n"
+"user. This leave the choice of publishing the certification to that\n"
+"person and makes sure that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configured to prompt for\n"
+"passwords."
+msgstr ""
+"signer en nøkkel på en trygg måte.\n"
+"\n"
+"Denne kommandoen signerer en nøkkel basert på fingeravtrykk eller bruker-ID\n"
+"angtt på kommandolinjen, krypterer resultater og sender det til brukeren\n"
+"per e-post. Dette overlater valget om publisering av sertifikatet til den "
+"personen\n"
+"og forsikrer at vedkommende eier signert identitet.\n"
+"\n"
+"Dette programmet forventer at du har gpg-agent satt opp til spørring om\n"
+"passord."
+
+#: ../monkeysign/cli.py:37
+msgid "%prog [options] <keyid>"
+msgstr "%prog [valg] <keyid>"
+
+#: ../monkeysign/cli.py:38
+msgid "<keyid>: a GPG fingerprint or key id"
+msgstr "<keyid>: Et GPG-fingeravtrykk eller en nøkkel-ID"
+
+#: ../monkeysign/cli.py:45
+msgid "wrong number of arguments, use -h for full help"
+msgstr "feil antall argumenter, bruk -h for full hjelpetekst"
+
+#: ../monkeysign/cli.py:57
+#, python-format
+msgid "reset GPG_TTY to %s"
+msgstr "tilbakestill GPG_TTY til %s"
+
+#: ../monkeysign/cli.py:65
+#, python-format
+msgid ""
+"Preparing to sign with this key\n"
+"\n"
+"%s"
+msgstr ""
+"Forbereder signering med denne nøkkelen\n"
+"\n"
+"%s"
+
+#: ../monkeysign/cli.py:100
+#, python-format
+msgid " (1-%d or full UID, control-c to abort): "
+msgstr " (1-%d eller full UID, Ctrl+C for å avbryte): "
+
+#: ../monkeysign/cli.py:104
+msgid "invalid uid"
+msgstr "ugyldig UID"
+
+#: ../monkeysign/gpg.py:209
+#, python-format
+msgid "could not find pattern '%s' in input, last skipped '%s'"
+msgstr "kunne ikke finne mønsteret \"%s\" i inndata, hoppet sist over \"%s\""
+
+#: ../monkeysign/gpg.py:329
+#, python-format
+msgid "verifying file %s failed: %s."
+msgstr "bekrefter fil %s mislykket: %s."
+
+#: ../monkeysign/gpg.py:366 ../monkeysign/gpg.py:386
+#, python-format
+msgid "unexpected GPG exit code in list-keys: %d"
+msgstr "uventet GPG-avslutningskode i list-keys: %d"
+
+#: ../monkeysign/gpg.py:398
+#, python-format
+msgid "encryption to %s failed: %s."
+msgstr "kryptering til %s mislyktes: %s."
+
+#: ../monkeysign/gpg.py:409
+#, python-format
+msgid "decryption failed: %s"
+msgstr "dekryptering mislyktes: %s"
+
+#: ../monkeysign/gpg.py:471 ../monkeysign/gpg.py:473
+#, python-format
+msgid "cannot sign: %s"
+msgstr "kan ikke signere: %s"
+
+#: ../monkeysign/gpg.py:483
+msgid "you already signed that key"
+msgstr "du har allerede signert den nøkkelen"
+
+#: ../monkeysign/gpg.py:486 ../monkeysign/gpg.py:519
+#, python-format
+msgid "unable to open key for editing: %s"
+msgstr "klarte ikke å åpne nøkkel for redigering: %s"
+
+#: ../monkeysign/gpg.py:494
+msgid "unable to prompt for passphrase, is gpg-agent running?"
+msgstr "kunne ikke spørre om passord, kjører gpg-agent?"
+
+#: ../monkeysign/gpg.py:530
+msgid "key is expired, cannot sign"
+msgstr "nøkkel utløpt, kan ikke signere"
+
+#: ../monkeysign/gpg.py:532
+#, python-format
+msgid "cannot sign, unknown error from gpg: %s"
+msgstr "kan ikke signere, ukjent feil fra gpg: %s"
+
+#: ../monkeysign/gpg.py:537
+msgid "password confirmation failed"
+msgstr "passordbekreftelse mislyktes"
+
+#: ../monkeysign/gpg.py:708
+#, python-format
+msgid "record type '%s' not implemented"
+msgstr "registreringstypen \"%s\" er ikke implementert"
+
+#: ../monkeysign/gtkui.py:40
+msgid ""
+"sign a key in a safe fashion using a webcam to scan for qr-codes\n"
+"\n"
+"This command will fire up a graphical interface and turn on the webcam\n"
+"(if available) on this computer. It will also display a qr-code of\n"
+"your main OpenPGP key.\n"
+"\n"
+"The webcam is used to capture an OpenPGP fingerprint represented as a\n"
+"qrcode (or whatever the zbar library can parse) and then go through a\n"
+"signing process.\n"
+"\n"
+"The signature is then encrypted and mailed to the user. This leave the\n"
+"choice of publishing the certification to that person and makes sure\n"
+"that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configure to prompt for\n"
+"passwords.\n"
+msgstr ""
+"signer en nøkkel på en trygg måte ved bruk av et vevkamera for å skanne "
+"etter QR-koder\n"
+"\n"
+"Denne kommandoen setter igang et grafisk grensesnittet og skrur på "
+"vevkameraet\n"
+"på datamaskinen (hvis tilgjengelig). Den vil også vise en QR-kode av\n"
+"din hoved-OpenPGP-nøkkel.\n"
+"\n"
+"Vevkameraet brukt til å fange opp OpenPGP-fingeravtrykket representert som "
+"en\n"
+"QR-kode (eller hva zbar-biblioteket kan tolke) og går så gjennom en "
+"signeringsprosess.\n"
+"\n"
+"Signaturen krypteres så og e-postes til brukeren. Dette overlater\n"
+"valget om publisering til den personen og forsikrer at vedkommende\n"
+"eier signert identitet.\n"
+"\n"
+"Programmet forventer at du har gpg-agent satt opp for å spørre om passord.\n"
+
+#: ../monkeysign/gtkui.py:120
+msgid "okay, signing"
+msgstr "okei, signerer"
+
+#: ../monkeysign/gtkui.py:123
+msgid "user denied signature"
+msgstr "bruker avslo signatur"
+
+#: ../monkeysign/gtkui.py:152
+msgid "Monkeysign (scan)"
+msgstr "Monkeysign (skann)"
+
+#: ../monkeysign/gtkui.py:184
+msgid "_File"
+msgstr "_Fil"
+
+#: ../monkeysign/gtkui.py:185
+msgid "Open image..."
+msgstr "Åpne bilde…"
+
+#: ../monkeysign/gtkui.py:186
+msgid "_Save QR code as..."
+msgstr "_Lagre QR-kode som…"
+
+#: ../monkeysign/gtkui.py:187
+msgid "_Print QR code..."
+msgstr "_Skriv ut QR-kode…"
+
+#: ../monkeysign/gtkui.py:189
+msgid "Copy image to clipboard"
+msgstr "Kopier bilde til utklippstavle"
+
+#: ../monkeysign/gtkui.py:189
+msgid "_Copy QR code"
+msgstr "_Kopier QR-kode"
+
+#: ../monkeysign/gtkui.py:190
+msgid "Choose identity"
+msgstr "Velg identitet"
+
+#: ../monkeysign/gtkui.py:190
+msgid "Identity"
+msgstr "Identitet"
+
+#: ../monkeysign/gtkui.py:191
+msgid "Select video device to use"
+msgstr "Velg videoenhet å bruke"
+
+#: ../monkeysign/gtkui.py:191
+msgid "Video device"
+msgstr "Videoenhet"
+
+#: ../monkeysign/gtkui.py:192
+msgid "_Quit"
+msgstr "_Avslutt"
+
+#: ../monkeysign/gtkui.py:201
+msgid "Disable video"
+msgstr "Skru av video"
+
+#: ../monkeysign/gtkui.py:245
+msgid "No video device detected."
+msgstr "Ingen videoenhet oppdaget."
+
+#: ../monkeysign/gtkui.py:251
+msgid ""
+"This is the output of your webcam, align a qrcode in the image to scan a "
+"fingerprint."
+msgstr ""
+"Dette er videostrømmen fra vevkameraet ditt, hold en QR-kode midt i "
+"bildefeltet for å skanne et fingeravtrykk."
+
+#~ msgid "create the QR code display"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:269
+msgid ""
+"This is a QR-code version of your PGP fingerprint. Scan this with another "
+"monkeysign to transfer your fingerprint."
+msgstr ""
+"Dette er en QR-kodeversjon av ditt PGP-fingeravtrykk. Skann dette med en "
+"annen monkeysign for å overføre fingeravtrykket ditt."
+
+#~ msgid "list the secret keys for selection somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:291 ../monkeysign/gtkui.py:292
+msgid "Hide QR code"
+msgstr "Skjul QR-kode"
+
+#~ msgid "When window is resized, regenerate the QR code"
+#~ msgstr ""
+
+#~ msgid "refresh the qrcode when the selected key changes"
+#~ msgstr ""
+
+#~ msgid "draw the qrcode from the key fingerprint"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a new video device is selected from the\n"
+#~ "                drop-down list.  sets the new device for the zbar widget,\n"
+#~ "                which will eventually cause it to be opened and enabled\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "Given a fingerprint, generate a QR code image with appropriate prefix"
+#~ msgstr ""
+
+#~ msgid "Use a file chooser dialog to import an image containing a QR code"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:361
+msgid "cannot find signature for image file"
+msgstr "kan ikke finne signatur for bildefil"
+
+#: ../monkeysign/gtkui.py:363
+#, python-format
+msgid ""
+"The image provided cannot be verified using a trusted OpenPGP signature.\n"
+"\n"
+"Make sure the image comes from a trusted source (e.g. your own camera, which "
+"you have never left unsurveilled) before signing this!\n"
+"\n"
+"DO NOT SIGN UNTRUSTED FINGERPRINTS!\n"
+"\n"
+"To get rid of this warning, if you really trust this image, use the "
+"following command to sign the file\n"
+"\n"
+"    gpg -s --detach %s\n"
+msgstr ""
+"Angitt bilde kan ikke bekreftet ved bruk av en bekreftet OpenPGP-signatur.\n"
+"\n"
+"Husk at bildet kommer fra en betrodd kilde (f.eks. ditt eget kamera, som du "
+"alltid har holdt oppsikt med) for du signerer dette!\n"
+"\n"
+"IKKE SIGNER UBETRODDE FINGERAVTRYKK!\n"
+"\n"
+"For å fjerne denne advarselen, hvis du virkelig stoler på dette bildet, bruk "
+"følgende kommando til å signere filen\n"
+"\n"
+"    gpg -s --detach %s\n"
+
+#: ../monkeysign/gtkui.py:365
+msgid "image signature verified successfully"
+msgstr "bildesignatur bekreftet"
+
+#: ../monkeysign/gtkui.py:370
+msgid "Scan an image for QR codes"
+msgstr "Skann et bilde for QR-koder"
+
+#: ../monkeysign/gtkui.py:403
+msgid "data found in image!"
+msgstr "data funnet i bilde!"
+
+#~ msgid ""
+#~ "Use a file chooser dialog to enable user to save the current QR code as a "
+#~ "PNG image file"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:410 ../monkeysign/gtkui.py:435
+msgid ""
+"No identity selected. Select one from the identiy menu or generate a OpenPGP "
+"key if none is available."
+msgstr ""
+"Ingen identitet valgt. Velg én fra identitetsmenyen eller generer en OpenPGP-"
+"nøkkel hvis ingen er tilgjengelige."
+
+#: ../monkeysign/gtkui.py:414
+msgid "Save QR code"
+msgstr "Lagre QR-kode"
+
+#~ msgid "copy the qrcode to the clipboard"
+#~ msgstr ""
+
+#~ msgid "handler for the print QR code menu"
+#~ msgstr ""
+
+#~ msgid "actually print the qr code"
+#~ msgstr ""
+
+#~ msgid "Utility function to convert a PIL image instance to Pixbuf"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked for pulsating progressbar\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when gpg key download is finished\n"
+#~ "                "
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:478
+msgid "fetching finished"
+msgstr "innhenting fullført"
+
+#~ msgid ""
+#~ "callback invoked when a barcode is decoded by the zbar widget.\n"
+#~ "                checks for an openpgp fingerprint\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "process zbar-scanned data"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:523
+msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
+msgstr "zbar fanget ramme, ser etter 50-tegns heksadesimalt fingeravtrykk"
+
+#: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
+#, python-format
+msgid "looking for key %s in your keyring"
+msgstr "leter etter nøkkelen %s i din nøkkelring"
+
+#: ../monkeysign/gtkui.py:547
+msgid "Please wait"
+msgstr "Vent"
+
+#: ../monkeysign/gtkui.py:549
+msgid "Retrieving public key from server..."
+msgstr "Henter offentlig nøkkel fra tjener…"
+
+#: ../monkeysign/gtkui.py:563
+#, python-format
+msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
+msgstr ""
+"data funnet i strekkode samsvarer ikke med et OpenPGP-fingeravtrykksmønster: "
+"%s"
+
+#~ msgid "restart capture"
+#~ msgstr ""
+
+#~ msgid "close the application"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "User interface abstraction for monkeysign.\n"
+#~ "\n"
+#~ "    This aims to factor out a common pattern to sign keys that is used\n"
+#~ "    regardless of the UI used.\n"
+#~ "\n"
+#~ "    This is mostly geared at console/text-based and X11 interfaces,\n"
+#~ "    but could also be ported to other interfaces (touch-screen/phone\n"
+#~ "    interfaces would be interesting).\n"
+#~ "\n"
+#~ "    The actual process is in main(), which outlines what the\n"
+#~ "    subclasses of this should be doing.\n"
+#~ "\n"
+#~ "    You should have a docstring in derived classes, as it will be\n"
+#~ "    added to the 'usage' output.\n"
+#~ "\n"
+#~ "    You should also set the usage and epilog parameters, see\n"
+#~ "    parse_args().\n"
+#~ "    "
+#~ msgstr ""
+
+#~ msgid "parse the commandline arguments"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:74
+msgid "show version information and quit"
+msgstr "vis versjonsinformasjon og avslutt"
+
+#: ../monkeysign/ui.py:76
+msgid "request debugging information from GPG engine (lots of garbage)"
+msgstr "forespør feilrettingsinformasjon fra GPG-motor (mye søppel)"
+
+#: ../monkeysign/ui.py:78
+msgid "explain what we do along the way"
+msgstr "forklar hva vi gjør på veien dit"
+
+#: ../monkeysign/ui.py:80
+msgid "do not actually do anything"
+msgstr "ikke gjør noe"
+
+#: ../monkeysign/ui.py:81
+msgid "user id to sign the key with"
+msgstr "bruker-ID å signere nøkkel med"
+
+#: ../monkeysign/ui.py:82
+msgid "certification level to sign the key with"
+msgstr "sertifiseringsnivå å sigere nøkkel med"
+
+#: ../monkeysign/ui.py:84
+msgid "import in normal keyring a local certification"
+msgstr "importer lokal sertifisering inn i normal nøkkelring"
+
+#: ../monkeysign/ui.py:86
+msgid "keyserver to fetch keys from"
+msgstr "nøkkeltjener å hente nøkler fra"
+
+#: ../monkeysign/ui.py:87
+msgid ""
+"SMTP server to use, use a colon to specify the port number if non-standard"
+msgstr ""
+"SMTP-tjener å bruke, bruk et kolon til å angi portnummer hvis annet enn "
+"standard"
+
+#: ../monkeysign/ui.py:88
+msgid "username for the SMTP server (default: no user)"
+msgstr "brukernavn for SMTP-tjener (forvalg: ingen bruker)"
+
+#: ../monkeysign/ui.py:89
+msgid ""
+"password for the SMTP server (default: prompted, if --smtpuser is specified)"
+msgstr ""
+"passord for SMTP-tjeneren (forvalg: forespurt, hvis --smtpuser er angitt)"
+
+#: ../monkeysign/ui.py:91
+msgid "Do not send email at all. (Default is to use sendmail.)"
+msgstr "Ikke send noe e-post. (Forvalget er å bruke sendmail.)"
+
+#: ../monkeysign/ui.py:93
+msgid ""
+"Override destination email for testing (default is to use the first uid on "
+"the key or send email to each uid chosen)"
+msgstr ""
+"Overskriv e-postmottaker i testøyemed (forvalget er å bruke første UID på "
+"nøkkelen eller å sende e-post til hver valgte UID)"
+
+#: ../monkeysign/ui.py:136
+msgid "Initializing UI"
+msgstr "Igangsetter grafisk grensesnitt"
+
+#: ../monkeysign/ui.py:147
+#, python-format
+msgid "deleting the temporary keyring %s"
+msgstr "sletter den midlertidige nøkkelringen %s"
+
+#: ../monkeysign/ui.py:172
+msgid "copied your gpg.conf in temporary keyring"
+msgstr "kopierte din gpg.conf inn i midlertidig nøkkelring"
+
+#~ msgid ""
+#~ "\n"
+#~ "        General process\n"
+#~ "        ===============\n"
+#~ "\n"
+#~ "        1. fetch the key into a temporary keyring\n"
+#~ "        1.a) if allowed (@todo), from the keyservers\n"
+#~ "        1.b) from the local keyring (@todo try that first?)\n"
+#~ "        2. copy the signing key secrets into the keyring\n"
+#~ "        3. for every user id (or all, if -a is specified)\n"
+#~ "        3.1. sign the uid, using gpg-agent\n"
+#~ "        3.2. export and encrypt the signature\n"
+#~ "        3.3. mail the key to the user\n"
+#~ "        3.4. optionnally (-l), create a local signature and import in\n"
+#~ "        local keyring\n"
+#~ "        4. trash the temporary keyring\n"
+#~ "        "
+#~ msgstr ""
+
+#~ msgid "show a message to the user and abort program"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "display an warning message\n"
+#~ "\n"
+#~ "this should not interrupt the flow of the program, but must be visible to "
+#~ "the user"
+#~ msgstr ""
+
+#~ msgid "log an informational message if verbose"
+#~ msgstr ""
+
+#~ msgid "default UI is not interactive, so we assume yes all the time"
+#~ msgstr ""
+
+#~ msgid "find the key to be signed somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:231
+msgid "key not in local keyring"
+msgstr "nøkkelringen finnes ikke i lokalt nøkkelknippe"
+
+#: ../monkeysign/ui.py:234
+#, python-format
+msgid "fetching key %s from keyservers"
+msgstr "henter nøkkelen %s fra nøkkeltjenerne"
+
+#: ../monkeysign/ui.py:238
+msgid "please provide a keyid or fingerprint, uids are not supported yet"
+msgstr "angi nøkkelID eller fingeravtrykk, UID er ikke støttet enda"
+
+#: ../monkeysign/ui.py:241
+#, python-format
+msgid "could not find key %s in your keyring or keyservers"
+msgstr ""
+"kunne ikke finne nøkkelen %s i nøkkelringen din eller på noen nøkkeltjenere"
+
+#~ msgid ""
+#~ "import secret keys (but only the public part) from your keyring\n"
+#~ "\n"
+#~ "we use --secret-keyring instead of copying the secret key material,\n"
+#~ "but we still need the public part in the temporary keyring for this to\n"
+#~ "work.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:250
+#, python-format
+msgid "copying your private key to temporary keyring in %s"
+msgstr "kopierer din private nøkkel til midlertidig nøkkelring i %s"
+
+#: ../monkeysign/ui.py:258
+#, python-format
+msgid "found secret key: %s"
+msgstr "fant hemmelig nøkkel: %s"
+
+#: ../monkeysign/ui.py:264
+msgid "no default secret key found, abort!"
+msgstr "fant ingen forvalgt hemmelig nøkkel, avbryter."
+
+#: ../monkeysign/ui.py:265
+#, python-format
+msgid "signing key chosen: %s"
+msgstr "signeringsnøkkel valgt: %s"
+
+#: ../monkeysign/ui.py:269
+msgid "could not find public key material, do you have a GPG key?"
+msgstr "kunne ikke finne offentlig nøkkelmateriale, har du en GPG-nøkkel?"
+
+#~ msgid "sign the key uids, as specified"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:276
+#, python-format
+msgid "found %d keys matching your request"
+msgstr "fant %d nøkler som samsvarer med din forespørsel"
+
+#: ../monkeysign/ui.py:279
+#, python-format
+msgid ""
+"Signing the following key\n"
+"\n"
+"%s\n"
+"\n"
+"Sign all identities? [y/N] "
+msgstr ""
+"Signerer følgende nøkkel\n"
+"\n"
+"%s\n"
+"\n"
+"Signer alle identiteter? [y/N] "
+
+#: ../monkeysign/ui.py:291
+msgid "Choose the identity to sign"
+msgstr "Velg identitet å signere"
+
+#: ../monkeysign/ui.py:293
+msgid "no identity chosen"
+msgstr "ingen identitet valgt"
+
+#: ../monkeysign/ui.py:300
+msgid "Really sign key? [y/N] "
+msgstr "Virkelig signer nøkkel? [y/N] "
+
+#: ../monkeysign/ui.py:303
+msgid "key signing failed"
+msgstr "nøkkelsignering mislyktes"
+
+#: ../monkeysign/ui.py:307
+msgid "making a non-exportable signature"
+msgstr "lager en ikke-eksporterbar signatur"
+
+#: ../monkeysign/ui.py:312
+msgid ""
+"could not import public key back into public keyring, something is wrong"
+msgstr ""
+"kunne ikke importere offentlig nøkkel tilbake i offentlig nøkkelring, noe er "
+"galt"
+
+#: ../monkeysign/ui.py:314
+msgid "local key signing failed"
+msgstr "lokal nøkkelsignering mislyktes"
+
+#: ../monkeysign/ui.py:322
+msgid "no key signed, nothing to export"
+msgstr "ingen nøkkel signert, ingenting å eksportere"
+
+#: ../monkeysign/ui.py:330 ../monkeysign/ui.py:337
+#, python-format
+msgid "failed to create email: %s"
+msgstr "klarte ikke å opprette e-post: %s"
+
+#: ../monkeysign/ui.py:354
+#, python-format
+msgid "Error connecting to SMTP server %s: %s"
+msgstr "Feil ved tilkobling til SMTP-tjener %s: %s"
+
+#: ../monkeysign/ui.py:356
+#, python-format
+msgid "Unexpected SMTP server error while talking to %s, code: %s (%s)"
+msgstr "Uventet SMTP-feil under kommunikasjon med %s, kode: %s (%s)"
+
+#: ../monkeysign/ui.py:360
+msgid "SMTP server does not support STARTTLS"
+msgstr "SMTP-tjeneren støtter ikke STARTTLS"
+
+#: ../monkeysign/ui.py:361
+msgid "authentication credentials will be sent in clear text"
+msgstr "autentiseringsidentitetsdetaljer vil bli sendt i klartekst"
+
+#: ../monkeysign/ui.py:364
+#, python-format
+msgid "enter SMTP password for server %s: "
+msgstr "skriv inn SMTP-passordet for tjeneren %s: "
+
+#: ../monkeysign/ui.py:368
+#, python-format
+msgid "sent message through SMTP server %s to %s"
+msgstr "sendte melding gjennom SMTP-tjener %s til %s"
+
+#: ../monkeysign/ui.py:374
+#, python-format
+msgid "sent message through sendmail to %s"
+msgstr "sendte melding gjennom sendmail til %s"
+
+#: ../monkeysign/ui.py:377
+#, python-format
+msgid ""
+"not sending email to %s, as requested, here's the email message:\n"
+"\n"
+"%s"
+msgstr ""
+"sender ikke e-post til %s, som forespurt, her er e-postmeldingen:\n"
+"\n"
+"%s"
+
+#~ msgid ""
+#~ "email generator\n"
+#~ "\n"
+#~ "this is a factory, ie. a class generating an object that represents\n"
+#~ "the email and when turned into a string, is the actual\n"
+#~ "mail.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:392
+msgid "Your signed OpenPGP key"
+msgstr "Din signerte OpenPGP-nøkkel"
+
+#: ../monkeysign/ui.py:395
+msgid ""
+"\n"
+"Please find attached your signed PGP key. You can import the signed\n"
+"key by running each through `gpg --import`.\n"
+"\n"
+"If you have multiple user ids, each signature was sent in a separate\n"
+"email to each user id.\n"
+"\n"
+"Note that your key was not uploaded to any keyservers. If you want\n"
+"this new signature to be available to others, please upload it\n"
+"yourself.  With GnuPG this can be done using:\n"
+"\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <keyid>\n"
+"\n"
+"Regards,\n"
+msgstr ""
+"\n"
+"Du vil finne din PGP-nøkkel vedlagt. Du kan importere den signerte\n"
+"nøkkelen ved å kjøre gjennom `gpg --import`.\n"
+"\n"
+"Hvis du har flerfoldige bruker-IDer, vil hver signatur ha blitt sendt i "
+"egen\n"
+"e-post til hber bruker-ID.\n"
+"\n"
+"Merk at nøkkelen din ikke ble lastet opp til noen nøkkeltjenere. Hvis du "
+"ønsker\n"
+"at denne nye signaturen skal være tilgjengelig for andre, last den opp til\n"
+"deg selv. Med GnuPG kan dette gjøres ved bruk av:\n"
+"\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <keyid>\n"
+"\n"
+"Hilsen,\n"
+
+#~ msgid ""
+#~ "email constructor\n"
+#~ "\n"
+#~ "we expect to find the following arguments:\n"
+#~ "\n"
+#~ "keydata: the signed public key material\n"
+#~ "keyfpr: the fingerprint of that public key\n"
+#~ "recipient: the recipient to encrypt the mail to\n"
+#~ "mailfrom: who the mail originates from\n"
+#~ "mailto: who to send the mail to (usually similar to recipient, but can be "
+#~ "used to specify specific keyids"
+#~ msgstr ""
+
+#~ msgid "this will remove any UID not matching the 'recipient' set in the class"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        a multipart/mixed message containing a plain-text message\n"
+#~ "        explaining what this is, and a second part containing PGP data\n"
+#~ "        "
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:494
+#, python-format
+msgid "signed PGP Key %s, uid %s"
+msgstr "signerte PGP-nøkkel %s, UID %s"
+
+#: ../monkeysign/ui.py:507
+msgid "This is a multi-part message in PGP/MIME format..."
+msgstr "Dette er en flerdelt melding i PGP/MIME-format…"
+
+#~ msgid "A non-wrapping formatter for OptionParse."
+#~ msgstr ""
diff --git a/po/nl.po b/po/nl.po
index abe9430ce7445a27dd8e996e95a6827bebcacf21..8583bc00869fbb67eebc16cb2f42077d8e7d12f6 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,16 +7,16 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-08-14 23:21-0400\n"
-"PO-Revision-Date: 2017-02-11 11:51+0000\n"
-"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
-"Language-Team: Dutch "
-"<https://hosted.weblate.org/projects/monkeysphere/monkeysign/nl/>\n"
+"PO-Revision-Date: 2018-03-16 17:36+0000\n"
+"Last-Translator: Frans de Jonge <fransdejonge+weblate.org@gmail.com>\n"
+"Language-Team: Dutch <https://hosted.weblate.org/projects/monkeysphere/"
+"monkeysign/nl/>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.12-dev\n"
+"X-Generator: Weblate 2.20-dev\n"
 
 #: ../monkeysign/cli.py:26
 msgid ""
@@ -142,7 +142,7 @@ msgstr "wachtwoordbevestiging is mislukt"
 #: ../monkeysign/gpg.py:708
 #, python-format
 msgid "record type '%s' not implemented"
-msgstr ""
+msgstr "recordtype '%s' niet geïmplementeerd"
 
 #: ../monkeysign/gtkui.py:40
 msgid ""
@@ -163,14 +163,33 @@ msgid ""
 "This program assumes you have gpg-agent configure to prompt for\n"
 "passwords.\n"
 msgstr ""
+"onderteken een sleutel op een veilige manier met een webcam om qr-codes te "
+"scannen.\n"
+"\n"
+"Deze opdracht zal een grafische interface starten en de webcam aanzetten\n"
+"(indien beschikbaar) op deze computer. Het zal ook een qr-code van\n"
+"uw hoofd-OpenPGP-sleutel weergeven.\n"
+"\n"
+"De webcam wordt gebruikt om een OpenPHP vingerafdruk\n"
+"in de vorm van een qr-code vast te leggen (of een ander formaat\n"
+"dat wordt ondersteund door de zbar-bibliotheek) om vervolgens\n"
+"door een tekenproces te gaan.\n"
+"\n"
+"De handtekening wordt dan versleuteld en naar de gebruiker gemaild.\n"
+"Dit laat de keuze om het certificaat te publiceren aan die persoon en\n"
+"verzekert dat de persoon de ondertekende identiteit bezit.\n"
+"\n"
+"Deze applicatie gaat er vanuit dat u een GPG-agent heeft geconfigureerd "
+"zodat deze kan\n"
+"vragen naar wachtwoorden.\n"
 
 #: ../monkeysign/gtkui.py:120
 msgid "okay, signing"
-msgstr ""
+msgstr "in orde, ondertekenen"
 
 #: ../monkeysign/gtkui.py:123
 msgid "user denied signature"
-msgstr ""
+msgstr "gebruiker weigerde handtekening"
 
 #: ../monkeysign/gtkui.py:152
 msgid "Monkeysign (scan)"
@@ -178,61 +197,63 @@ msgstr ""
 
 #: ../monkeysign/gtkui.py:184
 msgid "_File"
-msgstr ""
+msgstr "_Bestand"
 
 #: ../monkeysign/gtkui.py:185
 msgid "Open image..."
-msgstr ""
+msgstr "Open afbeelding..."
 
 #: ../monkeysign/gtkui.py:186
 msgid "_Save QR code as..."
-msgstr ""
+msgstr "QR-code _opslaan als..."
 
 #: ../monkeysign/gtkui.py:187
 msgid "_Print QR code..."
-msgstr ""
+msgstr "QR-code _printen..."
 
 #: ../monkeysign/gtkui.py:189
 msgid "Copy image to clipboard"
-msgstr ""
+msgstr "Afbeelding naar klembord kopiëren"
 
 #: ../monkeysign/gtkui.py:189
 msgid "_Copy QR code"
-msgstr ""
+msgstr "QR-code _kopiëren"
 
 #: ../monkeysign/gtkui.py:190
 msgid "Choose identity"
-msgstr ""
+msgstr "Identiteit kiezen"
 
 #: ../monkeysign/gtkui.py:190
 msgid "Identity"
-msgstr ""
+msgstr "Identiteit"
 
 #: ../monkeysign/gtkui.py:191
 msgid "Select video device to use"
-msgstr ""
+msgstr "Video-apparaat selecteren"
 
 #: ../monkeysign/gtkui.py:191
 msgid "Video device"
-msgstr ""
+msgstr "Video-apparaat"
 
 #: ../monkeysign/gtkui.py:192
 msgid "_Quit"
-msgstr ""
+msgstr "_Afsluiten"
 
 #: ../monkeysign/gtkui.py:201
 msgid "Disable video"
-msgstr ""
+msgstr "Video uitschakelen"
 
 #: ../monkeysign/gtkui.py:245
 msgid "No video device detected."
-msgstr ""
+msgstr "Geen video-apparaat gevonden."
 
 #: ../monkeysign/gtkui.py:251
 msgid ""
 "This is the output of your webcam, align a qrcode in the image to scan a "
 "fingerprint."
 msgstr ""
+"Dit is de uitvoer van uw webcam. Lijn een qr-code in de afbeelding uit om "
+"een handtekening te scannen."
 
 #~ msgid "create the QR code display"
 #~ msgstr ""
@@ -242,13 +263,15 @@ msgid ""
 "This is a QR-code version of your PGP fingerprint. Scan this with another "
 "monkeysign to transfer your fingerprint."
 msgstr ""
+"Dit is een qr-code versie van uw PHP-vingerafdruk. Scan dit met een andere "
+"monkeysign om uw vingerafdruk door te geven."
 
 #~ msgid "list the secret keys for selection somewhere"
 #~ msgstr ""
 
 #: ../monkeysign/gtkui.py:291 ../monkeysign/gtkui.py:292
 msgid "Hide QR code"
-msgstr ""
+msgstr "QR-code verbergen"
 
 #~ msgid "When window is resized, regenerate the QR code"
 #~ msgstr ""
@@ -274,7 +297,7 @@ msgstr ""
 
 #: ../monkeysign/gtkui.py:361
 msgid "cannot find signature for image file"
-msgstr ""
+msgstr "kan geen handtekening vinden in afbeeldingsbestand"
 
 #: ../monkeysign/gtkui.py:363
 #, python-format
@@ -294,15 +317,15 @@ msgstr ""
 
 #: ../monkeysign/gtkui.py:365
 msgid "image signature verified successfully"
-msgstr ""
+msgstr "afbeeldingshandtekening succesvol gecontroleerd"
 
 #: ../monkeysign/gtkui.py:370
 msgid "Scan an image for QR codes"
-msgstr ""
+msgstr "Scan een afbeelding voor qr-codes"
 
 #: ../monkeysign/gtkui.py:403
 msgid "data found in image!"
-msgstr ""
+msgstr "data gevonden in afbeelding!"
 
 #~ msgid ""
 #~ "Use a file chooser dialog to enable user to save the current QR code as a "
@@ -314,10 +337,12 @@ msgid ""
 "No identity selected. Select one from the identiy menu or generate a OpenPGP "
 "key if none is available."
 msgstr ""
+"Geen identiteit geselecteerd. Selecteer er een in het identiteitsmenu of "
+"genereer een OpenPGP-sleutel als er geen enkele beschikbaar is."
 
 #: ../monkeysign/gtkui.py:414
 msgid "Save QR code"
-msgstr ""
+msgstr "Qr-code opslaan"
 
 #~ msgid "copy the qrcode to the clipboard"
 #~ msgstr ""
@@ -343,7 +368,7 @@ msgstr ""
 
 #: ../monkeysign/gtkui.py:478
 msgid "fetching finished"
-msgstr ""
+msgstr "ophalen voltooid"
 
 #~ msgid ""
 #~ "callback invoked when a barcode is decoded by the zbar widget.\n"
@@ -357,24 +382,28 @@ msgstr ""
 #: ../monkeysign/gtkui.py:523
 msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
 msgstr ""
+"zbar heeft een frame te pakken, op zoek naar een hexadecimale vingerafdruk "
+"van 40 karakters"
 
 #: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
 #, python-format
 msgid "looking for key %s in your keyring"
-msgstr ""
+msgstr "zoeken naar sleutel %s in uw sleutelhanger"
 
 #: ../monkeysign/gtkui.py:547
 msgid "Please wait"
-msgstr ""
+msgstr "Even geduld"
 
 #: ../monkeysign/gtkui.py:549
 msgid "Retrieving public key from server..."
-msgstr ""
+msgstr "Publieke sleutel van server afhalen..."
 
 #: ../monkeysign/gtkui.py:563
 #, python-format
 msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
 msgstr ""
+"data gevonden in barcode komt niet overeen met een OpenPGP-"
+"vingerafdrukpatroom: %s"
 
 #~ msgid "restart capture"
 #~ msgstr ""
@@ -408,7 +437,7 @@ msgstr ""
 
 #: ../monkeysign/ui.py:74
 msgid "show version information and quit"
-msgstr ""
+msgstr "toon versieinformatie en sluit af"
 
 #: ../monkeysign/ui.py:76
 msgid "request debugging information from GPG engine (lots of garbage)"
@@ -416,11 +445,11 @@ msgstr ""
 
 #: ../monkeysign/ui.py:78
 msgid "explain what we do along the way"
-msgstr ""
+msgstr "leg uit wat we onderweg doen"
 
 #: ../monkeysign/ui.py:80
 msgid "do not actually do anything"
-msgstr ""
+msgstr "doe eigenlijk niets"
 
 #: ../monkeysign/ui.py:81
 msgid "user id to sign the key with"
@@ -432,11 +461,11 @@ msgstr ""
 
 #: ../monkeysign/ui.py:84
 msgid "import in normal keyring a local certification"
-msgstr ""
+msgstr "lokale certificatie naar normale sleutelbox importeren"
 
 #: ../monkeysign/ui.py:86
 msgid "keyserver to fetch keys from"
-msgstr ""
+msgstr "sleutelserver om sleutels van af te halen"
 
 #: ../monkeysign/ui.py:87
 msgid ""
@@ -719,7 +748,7 @@ msgstr ""
 
 #: ../monkeysign/ui.py:507
 msgid "This is a multi-part message in PGP/MIME format..."
-msgstr ""
+msgstr "Dit is een multi-part bericht in PHP/MIME formaat..."
 
 #~ msgid "A non-wrapping formatter for OptionParse."
 #~ msgstr ""
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000000000000000000000000000000000000..6cb732d91a2128f84c306d9ab0c91fcb8099689c
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,708 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-08-14 23:21-0400\n"
+"PO-Revision-Date: 2018-01-31 16:40+0000\n"
+"Last-Translator: Марс Ямбар <mjambarmeta@gmail.com>\n"
+"Language-Team: Ukrainian "
+"<https://hosted.weblate.org/projects/monkeysphere/monkeysign/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
+"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 2.19-dev\n"
+
+#: ../monkeysign/cli.py:26
+msgid ""
+"sign a key in a safe fashion.\n"
+"\n"
+"This command signs a key based on the fingerprint or user id\n"
+"specified on the commandline, encrypt the result and mail it to the\n"
+"user. This leave the choice of publishing the certification to that\n"
+"person and makes sure that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configured to prompt for\n"
+"passwords."
+msgstr ""
+
+#: ../monkeysign/cli.py:37
+msgid "%prog [options] <keyid>"
+msgstr "%prog [опції] <keyid>"
+
+#: ../monkeysign/cli.py:38
+msgid "<keyid>: a GPG fingerprint or key id"
+msgstr ""
+
+#: ../monkeysign/cli.py:45
+msgid "wrong number of arguments, use -h for full help"
+msgstr ""
+
+#: ../monkeysign/cli.py:57
+#, python-format
+msgid "reset GPG_TTY to %s"
+msgstr ""
+
+#: ../monkeysign/cli.py:65
+#, python-format
+msgid ""
+"Preparing to sign with this key\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../monkeysign/cli.py:100
+#, python-format
+msgid " (1-%d or full UID, control-c to abort): "
+msgstr ""
+
+#: ../monkeysign/cli.py:104
+msgid "invalid uid"
+msgstr ""
+
+#: ../monkeysign/gpg.py:209
+#, python-format
+msgid "could not find pattern '%s' in input, last skipped '%s'"
+msgstr ""
+
+#: ../monkeysign/gpg.py:329
+#, python-format
+msgid "verifying file %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:366 ../monkeysign/gpg.py:386
+#, python-format
+msgid "unexpected GPG exit code in list-keys: %d"
+msgstr ""
+
+#: ../monkeysign/gpg.py:398
+#, python-format
+msgid "encryption to %s failed: %s."
+msgstr ""
+
+#: ../monkeysign/gpg.py:409
+#, python-format
+msgid "decryption failed: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:471 ../monkeysign/gpg.py:473
+#, python-format
+msgid "cannot sign: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:483
+msgid "you already signed that key"
+msgstr ""
+
+#: ../monkeysign/gpg.py:486 ../monkeysign/gpg.py:519
+#, python-format
+msgid "unable to open key for editing: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:494
+msgid "unable to prompt for passphrase, is gpg-agent running?"
+msgstr ""
+
+#: ../monkeysign/gpg.py:530
+msgid "key is expired, cannot sign"
+msgstr ""
+
+#: ../monkeysign/gpg.py:532
+#, python-format
+msgid "cannot sign, unknown error from gpg: %s"
+msgstr ""
+
+#: ../monkeysign/gpg.py:537
+msgid "password confirmation failed"
+msgstr ""
+
+#: ../monkeysign/gpg.py:708
+#, python-format
+msgid "record type '%s' not implemented"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:40
+msgid ""
+"sign a key in a safe fashion using a webcam to scan for qr-codes\n"
+"\n"
+"This command will fire up a graphical interface and turn on the webcam\n"
+"(if available) on this computer. It will also display a qr-code of\n"
+"your main OpenPGP key.\n"
+"\n"
+"The webcam is used to capture an OpenPGP fingerprint represented as a\n"
+"qrcode (or whatever the zbar library can parse) and then go through a\n"
+"signing process.\n"
+"\n"
+"The signature is then encrypted and mailed to the user. This leave the\n"
+"choice of publishing the certification to that person and makes sure\n"
+"that person owns the identity signed.\n"
+"\n"
+"This program assumes you have gpg-agent configure to prompt for\n"
+"passwords.\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:120
+msgid "okay, signing"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:123
+msgid "user denied signature"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:152
+msgid "Monkeysign (scan)"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:184
+msgid "_File"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:185
+msgid "Open image..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:186
+msgid "_Save QR code as..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:187
+msgid "_Print QR code..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "Copy image to clipboard"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:189
+msgid "_Copy QR code"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Choose identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:190
+msgid "Identity"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Select video device to use"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:191
+msgid "Video device"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:192
+msgid "_Quit"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:201
+msgid "Disable video"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:245
+msgid "No video device detected."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:251
+msgid ""
+"This is the output of your webcam, align a qrcode in the image to scan a "
+"fingerprint."
+msgstr ""
+
+#~ msgid "create the QR code display"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:269
+msgid ""
+"This is a QR-code version of your PGP fingerprint. Scan this with another "
+"monkeysign to transfer your fingerprint."
+msgstr ""
+
+#~ msgid "list the secret keys for selection somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:291 ../monkeysign/gtkui.py:292
+msgid "Hide QR code"
+msgstr ""
+
+#~ msgid "When window is resized, regenerate the QR code"
+#~ msgstr ""
+
+#~ msgid "refresh the qrcode when the selected key changes"
+#~ msgstr ""
+
+#~ msgid "draw the qrcode from the key fingerprint"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a new video device is selected from the\n"
+#~ "                drop-down list.  sets the new device for the zbar widget,\n"
+#~ "                which will eventually cause it to be opened and enabled\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "Given a fingerprint, generate a QR code image with appropriate prefix"
+#~ msgstr ""
+
+#~ msgid "Use a file chooser dialog to import an image containing a QR code"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:361
+msgid "cannot find signature for image file"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:363
+#, python-format
+msgid ""
+"The image provided cannot be verified using a trusted OpenPGP signature.\n"
+"\n"
+"Make sure the image comes from a trusted source (e.g. your own camera, which "
+"you have never left unsurveilled) before signing this!\n"
+"\n"
+"DO NOT SIGN UNTRUSTED FINGERPRINTS!\n"
+"\n"
+"To get rid of this warning, if you really trust this image, use the "
+"following command to sign the file\n"
+"\n"
+"    gpg -s --detach %s\n"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:365
+msgid "image signature verified successfully"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:370
+msgid "Scan an image for QR codes"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:403
+msgid "data found in image!"
+msgstr ""
+
+#~ msgid ""
+#~ "Use a file chooser dialog to enable user to save the current QR code as a "
+#~ "PNG image file"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:410 ../monkeysign/gtkui.py:435
+msgid ""
+"No identity selected. Select one from the identiy menu or generate a OpenPGP "
+"key if none is available."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:414
+msgid "Save QR code"
+msgstr ""
+
+#~ msgid "copy the qrcode to the clipboard"
+#~ msgstr ""
+
+#~ msgid "handler for the print QR code menu"
+#~ msgstr ""
+
+#~ msgid "actually print the qr code"
+#~ msgstr ""
+
+#~ msgid "Utility function to convert a PIL image instance to Pixbuf"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked for pulsating progressbar\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when gpg key download is finished\n"
+#~ "                "
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:478
+msgid "fetching finished"
+msgstr ""
+
+#~ msgid ""
+#~ "callback invoked when a barcode is decoded by the zbar widget.\n"
+#~ "                checks for an openpgp fingerprint\n"
+#~ "                "
+#~ msgstr ""
+
+#~ msgid "process zbar-scanned data"
+#~ msgstr ""
+
+#: ../monkeysign/gtkui.py:523
+msgid "zbar captured a frame, looking for 40 character hexadecimal fingerprint"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:534 ../monkeysign/ui.py:229
+#, python-format
+msgid "looking for key %s in your keyring"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:547
+msgid "Please wait"
+msgstr ""
+
+#: ../monkeysign/gtkui.py:549
+msgid "Retrieving public key from server..."
+msgstr ""
+
+#: ../monkeysign/gtkui.py:563
+#, python-format
+msgid "data found in barcode does not match a OpenPGP fingerprint pattern: %s"
+msgstr ""
+
+#~ msgid "restart capture"
+#~ msgstr ""
+
+#~ msgid "close the application"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "User interface abstraction for monkeysign.\n"
+#~ "\n"
+#~ "    This aims to factor out a common pattern to sign keys that is used\n"
+#~ "    regardless of the UI used.\n"
+#~ "\n"
+#~ "    This is mostly geared at console/text-based and X11 interfaces,\n"
+#~ "    but could also be ported to other interfaces (touch-screen/phone\n"
+#~ "    interfaces would be interesting).\n"
+#~ "\n"
+#~ "    The actual process is in main(), which outlines what the\n"
+#~ "    subclasses of this should be doing.\n"
+#~ "\n"
+#~ "    You should have a docstring in derived classes, as it will be\n"
+#~ "    added to the 'usage' output.\n"
+#~ "\n"
+#~ "    You should also set the usage and epilog parameters, see\n"
+#~ "    parse_args().\n"
+#~ "    "
+#~ msgstr ""
+
+#~ msgid "parse the commandline arguments"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:74
+msgid "show version information and quit"
+msgstr ""
+
+#: ../monkeysign/ui.py:76
+msgid "request debugging information from GPG engine (lots of garbage)"
+msgstr ""
+
+#: ../monkeysign/ui.py:78
+msgid "explain what we do along the way"
+msgstr ""
+
+#: ../monkeysign/ui.py:80
+msgid "do not actually do anything"
+msgstr ""
+
+#: ../monkeysign/ui.py:81
+msgid "user id to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:82
+msgid "certification level to sign the key with"
+msgstr ""
+
+#: ../monkeysign/ui.py:84
+msgid "import in normal keyring a local certification"
+msgstr ""
+
+#: ../monkeysign/ui.py:86
+msgid "keyserver to fetch keys from"
+msgstr ""
+
+#: ../monkeysign/ui.py:87
+msgid ""
+"SMTP server to use, use a colon to specify the port number if non-standard"
+msgstr ""
+
+#: ../monkeysign/ui.py:88
+msgid "username for the SMTP server (default: no user)"
+msgstr ""
+
+#: ../monkeysign/ui.py:89
+msgid ""
+"password for the SMTP server (default: prompted, if --smtpuser is specified)"
+msgstr ""
+
+#: ../monkeysign/ui.py:91
+msgid "Do not send email at all. (Default is to use sendmail.)"
+msgstr ""
+
+#: ../monkeysign/ui.py:93
+msgid ""
+"Override destination email for testing (default is to use the first uid on "
+"the key or send email to each uid chosen)"
+msgstr ""
+
+#: ../monkeysign/ui.py:136
+msgid "Initializing UI"
+msgstr ""
+
+#: ../monkeysign/ui.py:147
+#, python-format
+msgid "deleting the temporary keyring %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:172
+msgid "copied your gpg.conf in temporary keyring"
+msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        General process\n"
+#~ "        ===============\n"
+#~ "\n"
+#~ "        1. fetch the key into a temporary keyring\n"
+#~ "        1.a) if allowed (@todo), from the keyservers\n"
+#~ "        1.b) from the local keyring (@todo try that first?)\n"
+#~ "        2. copy the signing key secrets into the keyring\n"
+#~ "        3. for every user id (or all, if -a is specified)\n"
+#~ "        3.1. sign the uid, using gpg-agent\n"
+#~ "        3.2. export and encrypt the signature\n"
+#~ "        3.3. mail the key to the user\n"
+#~ "        3.4. optionnally (-l), create a local signature and import in\n"
+#~ "        local keyring\n"
+#~ "        4. trash the temporary keyring\n"
+#~ "        "
+#~ msgstr ""
+
+#~ msgid "show a message to the user and abort program"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "display an warning message\n"
+#~ "\n"
+#~ "this should not interrupt the flow of the program, but must be visible to "
+#~ "the user"
+#~ msgstr ""
+
+#~ msgid "log an informational message if verbose"
+#~ msgstr ""
+
+#~ msgid "default UI is not interactive, so we assume yes all the time"
+#~ msgstr ""
+
+#~ msgid "find the key to be signed somewhere"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:231
+msgid "key not in local keyring"
+msgstr ""
+
+#: ../monkeysign/ui.py:234
+#, python-format
+msgid "fetching key %s from keyservers"
+msgstr ""
+
+#: ../monkeysign/ui.py:238
+msgid "please provide a keyid or fingerprint, uids are not supported yet"
+msgstr ""
+
+#: ../monkeysign/ui.py:241
+#, python-format
+msgid "could not find key %s in your keyring or keyservers"
+msgstr ""
+
+#~ msgid ""
+#~ "import secret keys (but only the public part) from your keyring\n"
+#~ "\n"
+#~ "we use --secret-keyring instead of copying the secret key material,\n"
+#~ "but we still need the public part in the temporary keyring for this to\n"
+#~ "work.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:250
+#, python-format
+msgid "copying your private key to temporary keyring in %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:258
+#, python-format
+msgid "found secret key: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:264
+msgid "no default secret key found, abort!"
+msgstr ""
+
+#: ../monkeysign/ui.py:265
+#, python-format
+msgid "signing key chosen: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:269
+msgid "could not find public key material, do you have a GPG key?"
+msgstr ""
+
+#~ msgid "sign the key uids, as specified"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:276
+#, python-format
+msgid "found %d keys matching your request"
+msgstr ""
+
+#: ../monkeysign/ui.py:279
+#, python-format
+msgid ""
+"Signing the following key\n"
+"\n"
+"%s\n"
+"\n"
+"Sign all identities? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:291
+msgid "Choose the identity to sign"
+msgstr ""
+
+#: ../monkeysign/ui.py:293
+msgid "no identity chosen"
+msgstr ""
+
+#: ../monkeysign/ui.py:300
+msgid "Really sign key? [y/N] "
+msgstr ""
+
+#: ../monkeysign/ui.py:303
+msgid "key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:307
+msgid "making a non-exportable signature"
+msgstr ""
+
+#: ../monkeysign/ui.py:312
+msgid ""
+"could not import public key back into public keyring, something is wrong"
+msgstr ""
+
+#: ../monkeysign/ui.py:314
+msgid "local key signing failed"
+msgstr ""
+
+#: ../monkeysign/ui.py:322
+msgid "no key signed, nothing to export"
+msgstr ""
+
+#: ../monkeysign/ui.py:330 ../monkeysign/ui.py:337
+#, python-format
+msgid "failed to create email: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:354
+#, python-format
+msgid "Error connecting to SMTP server %s: %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:356
+#, python-format
+msgid "Unexpected SMTP server error while talking to %s, code: %s (%s)"
+msgstr ""
+
+#: ../monkeysign/ui.py:360
+msgid "SMTP server does not support STARTTLS"
+msgstr ""
+
+#: ../monkeysign/ui.py:361
+msgid "authentication credentials will be sent in clear text"
+msgstr ""
+
+#: ../monkeysign/ui.py:364
+#, python-format
+msgid "enter SMTP password for server %s: "
+msgstr ""
+
+#: ../monkeysign/ui.py:368
+#, python-format
+msgid "sent message through SMTP server %s to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:374
+#, python-format
+msgid "sent message through sendmail to %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:377
+#, python-format
+msgid ""
+"not sending email to %s, as requested, here's the email message:\n"
+"\n"
+"%s"
+msgstr ""
+
+#~ msgid ""
+#~ "email generator\n"
+#~ "\n"
+#~ "this is a factory, ie. a class generating an object that represents\n"
+#~ "the email and when turned into a string, is the actual\n"
+#~ "mail.\n"
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:392
+msgid "Your signed OpenPGP key"
+msgstr ""
+
+#: ../monkeysign/ui.py:395
+msgid ""
+"\n"
+"Please find attached your signed PGP key. You can import the signed\n"
+"key by running each through `gpg --import`.\n"
+"\n"
+"If you have multiple user ids, each signature was sent in a separate\n"
+"email to each user id.\n"
+"\n"
+"Note that your key was not uploaded to any keyservers. If you want\n"
+"this new signature to be available to others, please upload it\n"
+"yourself.  With GnuPG this can be done using:\n"
+"\n"
+"    gpg --keyserver pool.sks-keyservers.net --send-key <keyid>\n"
+"\n"
+"Regards,\n"
+msgstr ""
+
+#~ msgid ""
+#~ "email constructor\n"
+#~ "\n"
+#~ "we expect to find the following arguments:\n"
+#~ "\n"
+#~ "keydata: the signed public key material\n"
+#~ "keyfpr: the fingerprint of that public key\n"
+#~ "recipient: the recipient to encrypt the mail to\n"
+#~ "mailfrom: who the mail originates from\n"
+#~ "mailto: who to send the mail to (usually similar to recipient, but can be "
+#~ "used to specify specific keyids"
+#~ msgstr ""
+
+#~ msgid "this will remove any UID not matching the 'recipient' set in the class"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "\n"
+#~ "        a multipart/mixed message containing a plain-text message\n"
+#~ "        explaining what this is, and a second part containing PGP data\n"
+#~ "        "
+#~ msgstr ""
+
+#: ../monkeysign/ui.py:494
+#, python-format
+msgid "signed PGP Key %s, uid %s"
+msgstr ""
+
+#: ../monkeysign/ui.py:507
+msgid "This is a multi-part message in PGP/MIME format..."
+msgstr ""
+
+#~ msgid "A non-wrapping formatter for OptionParse."
+#~ msgstr ""