# HG changeset patch # User Elliott Sales de Andrade # Date 1218774628 0 # Node ID 74e527fbb5e40d0f547ffe4db4128f5ece38f28c # Parent 35f7b7c62995bc0d56d116b2eebb6755a0d074e4# Parent c7837c3ef7da0f8c0f79b1d3118084c26e17908c merge of '3b7b0deadf583b8df122dced7a6925e693af3223' and 'd38b0e23fda81858ef7fe68e99d088fa1e83f02b' diff -r 35f7b7c62995 -r 74e527fbb5e4 ChangeLog --- a/ChangeLog Fri Aug 15 04:27:42 2008 +0000 +++ b/ChangeLog Fri Aug 15 04:30:28 2008 +0000 @@ -9,6 +9,8 @@ to specify a system-wide SSL CA certificates directory. When set, we don't install our SSL CA certs, so it's important that the libpurple package depend on the CA certificates. + * Add SSL Certificates support to the NSS SSL plugin. (Thanks to Lou + Cipher) XMPP: * Fix a bug that caused the UI to not refresh and caused the client diff -r 35f7b7c62995 -r 74e527fbb5e4 configure.ac --- a/configure.ac Fri Aug 15 04:27:42 2008 +0000 +++ b/configure.ac Fri Aug 15 04:30:28 2008 +0000 @@ -2021,9 +2021,12 @@ TCLCONFIG=no TCLCONFIGDIRS="/usr/lib \ /usr/lib64 \ + /usr/lib/tcl8.5 \ /usr/lib/tcl8.4 \ /usr/lib/tcl8.3 \ /usr/lib/tcl8.2 \ + /usr/lib64/tcl8.5 \ + /usr/lib64/tcl8.4 \ /System/Library/Tcl/8.3 \ /usr/local/lib" for dir in $with_tclconfig $TCLCONFIGDIRS; do diff -r 35f7b7c62995 -r 74e527fbb5e4 libpurple/plugins/ssl/ssl-nss.c --- a/libpurple/plugins/ssl/ssl-nss.c Fri Aug 15 04:27:42 2008 +0000 +++ b/libpurple/plugins/ssl/ssl-nss.c Fri Aug 15 04:30:28 2008 +0000 @@ -60,6 +60,7 @@ static const PRIOMethods *_nss_methods = NULL; static PRDescIdentity _identity; +static PurpleCertificateScheme x509_nss; /* Thank you, Evolution */ static void @@ -172,6 +173,7 @@ #endif } +#if 0 static SECStatus ssl_bad_cert(void *arg, PRFileDesc *socket) { @@ -211,6 +213,7 @@ return status; } +#endif static gboolean ssl_nss_init(void) @@ -227,6 +230,82 @@ } static void +ssl_nss_verified_cb(PurpleCertificateVerificationStatus st, + gpointer userdata) +{ + PurpleSslConnection *gsc = (PurpleSslConnection *) userdata; + + if (st == PURPLE_CERTIFICATE_VALID) { + /* Certificate valid? Good! Do the connection! */ + gsc->connect_cb(gsc->connect_cb_data, gsc, PURPLE_INPUT_READ); + } else { + /* Otherwise, signal an error */ + if(gsc->error_cb != NULL) + gsc->error_cb(gsc, PURPLE_SSL_CERTIFICATE_INVALID, + gsc->connect_cb_data); + purple_ssl_close(gsc); + } +} + +/** Transforms an NSS containing an X.509 certificate into a Certificate instance + * + * @param cert Certificate to transform + * @return A newly allocated Certificate + */ +static PurpleCertificate * +x509_import_from_nss(CERTCertificate* cert) +{ + /* New certificate to return */ + PurpleCertificate * crt; + + /* Allocate the certificate and load it with data */ + crt = g_new0(PurpleCertificate, 1); + crt->scheme = &x509_nss; + crt->data = CERT_DupCertificate(cert); + + return crt; +} + +static GList * +ssl_nss_get_peer_certificates(PRFileDesc *socket, PurpleSslConnection * gsc) +{ + CERTCertificate *curcert; + CERTCertificate *issuerCert; + PurpleCertificate * newcrt; + + /* List of Certificate instances to return */ + GList * peer_certs = NULL; + int count; + int64 now = PR_Now(); + + curcert = SSL_PeerCertificate(socket); + if (curcert == NULL) { + purple_debug_error("nss", "could not DupCertificate\n"); + return NULL; + } + + for (count = 0 ; count < CERT_MAX_CERT_CHAIN ; count++) { + purple_debug_info("nss", "subject=%s issuer=%s\n", curcert->subjectName, curcert->issuerName); + newcrt = x509_import_from_nss(curcert); + peer_certs = g_list_append(peer_certs, newcrt); + + if (curcert->isRoot) { + break; + } + issuerCert = CERT_FindCertIssuer(curcert, now, certUsageSSLServer); + if (!issuerCert) { + purple_debug_error("nss", "partial certificate chain\n"); + break; + } + CERT_DestroyCertificate(curcert); + curcert = issuerCert; + } + CERT_DestroyCertificate(curcert); + + return peer_certs; +} + +static void ssl_nss_handshake_cb(gpointer data, int fd, PurpleInputCondition cond) { PurpleSslConnection *gsc = (PurpleSslConnection *)data; @@ -256,7 +335,25 @@ purple_input_remove(nss_data->handshake_handler); nss_data->handshake_handler = 0; - gsc->connect_cb(gsc->connect_cb_data, gsc, cond); + /* If a Verifier was given, hand control over to it */ + if (gsc->verifier) { + GList *peers; + /* First, get the peer cert chain */ + peers = ssl_nss_get_peer_certificates(nss_data->in, gsc); + + /* Now kick off the verification process */ + purple_certificate_verify(gsc->verifier, + gsc->host, + peers, + ssl_nss_verified_cb, + gsc); + + purple_certificate_destroy_list(peers); + } else { + /* Otherwise, just call the "connection complete" + callback */ + gsc->connect_cb(gsc->connect_cb_data, gsc, cond); + } } static void @@ -310,7 +407,10 @@ SSL_AuthCertificateHook(nss_data->in, (SSLAuthCertificate)ssl_auth_cert, (void *)CERT_GetDefaultCertDB()); +#if 0 + /* No point in hooking BadCert, since ssl_auth_cert always succeeds */ SSL_BadCertHook(nss_data->in, (SSLBadCertHandler)ssl_bad_cert, NULL); +#endif if(gsc->host) SSL_SetURL(nss_data->in, gsc->host); @@ -566,7 +666,20 @@ x509_signed_by(PurpleCertificate * crt, PurpleCertificate * issuer) { - return TRUE; + CERTCertificate *subjectCert; + CERTCertificate *issuerCert; + SECStatus st; + + issuerCert = X509_NSS_DATA(issuer); + g_return_val_if_fail(issuerCert, FALSE); + + subjectCert = X509_NSS_DATA(crt); + g_return_val_if_fail(subjectCert, FALSE); + + if ( PORT_Strcmp(subjectCert->issuerName, issuerCert->subjectName) != 0 ) + return FALSE; + st = CERT_VerifySignedData(&subjectCert->signatureWrap, issuerCert, PR_Now(), NULL); + return st == SECSuccess; } static GByteArray * diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/Makefile.am --- a/pidgin/pixmaps/emotes/default/24/Makefile.am Fri Aug 15 04:27:42 2008 +0000 +++ b/pidgin/pixmaps/emotes/default/24/Makefile.am Fri Aug 15 04:30:28 2008 +0000 @@ -47,7 +47,7 @@ dazed.png \ desire.png \ devil.png \ - disapointed.png \ + disappointed.png \ disdain.png \ doctor.png \ dog.png \ diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/disapointed.png Binary file pidgin/pixmaps/emotes/default/24/disapointed.png has changed diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/disappointed.png Binary file pidgin/pixmaps/emotes/default/24/disappointed.png has changed diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/scalable/cigarette.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/emotes/default/24/scalable/cigarette.svg Fri Aug 15 04:30:28 2008 +0000 @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/scalable/disapointed.svg --- a/pidgin/pixmaps/emotes/default/24/scalable/disapointed.svg Fri Aug 15 04:27:42 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/scalable/disappointed.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pixmaps/emotes/default/24/scalable/disappointed.svg Fri Aug 15 04:30:28 2008 +0000 @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff -r 35f7b7c62995 -r 74e527fbb5e4 pidgin/pixmaps/emotes/default/24/scalable/sigarette.svg --- a/pidgin/pixmaps/emotes/default/24/scalable/sigarette.svg Fri Aug 15 04:27:42 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,242 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff -r 35f7b7c62995 -r 74e527fbb5e4 po/nl.po --- a/po/nl.po Fri Aug 15 04:27:42 2008 +0000 +++ b/po/nl.po Fri Aug 15 04:30:28 2008 +0000 @@ -59,7 +59,7 @@ #: ../pidgin/gtkmain.c:736 #, c-format msgid "%s encountered errors migrating your settings from %s to %s. Please investigate and complete the migration by hand. Please report this error at http://developer.pidgin.im" -msgstr "%s zorgde voor fouten tijdens het verplaatsen van je instellingen van %s naar %s. Verplaats het alstublieft handmatig. Rapporteer deze fout alstublieft op http://developer.pidgin.im" +msgstr "%s zorgde voor fouten tijdens het verplaatsen van je instellingen van %s naar %s. Verplaats het handmatig. Rapporteer deze fout alstublieft op http://developer.pidgin.im" #: ../finch/gntaccount.c:126 #: ../finch/gntaccount.c:505 @@ -571,7 +571,7 @@ #: ../finch/gntblist.c:742 #: ../finch/gntblist.c:1150 msgid "Auto-join" -msgstr "Auto-deelnemen" +msgstr "Automatisch deelnemen" #: ../finch/gntblist.c:745 #: ../finch/gntblist.c:1185 @@ -645,7 +645,7 @@ #: ../finch/gntblist.c:1253 msgid "Add Buddy Pounce" -msgstr "Contact-alarm toevoegen" +msgstr "Contactalarm toevoegen" #. if (q_bud && is_online(q_bud->status)) { #: ../finch/gntblist.c:1260 @@ -1247,7 +1247,7 @@ "Please enter the name of the user you wish to invite,\n" "along with an optional invite message." msgstr "" -"Geef alstublieft de bijnaam van de persoon die u wilt uitnodigen,\n" +"Geef de bijnaam van de persoon die u wilt uitnodigen,\n" "eventueel met een uitnodigende tekst." #: ../finch/gntconv.c:610 @@ -1265,7 +1265,7 @@ #: ../finch/gntconv.c:638 msgid "Add Buddy Pounce..." -msgstr "Contact-alarm toevoegen..." +msgstr "Contactalarm toevoegen..." #: ../finch/gntconv.c:652 msgid "Invite..." @@ -1760,12 +1760,12 @@ #: ../finch/gntpounce.c:338 #: ../pidgin/gtkpounce.c:538 msgid "New Buddy Pounce" -msgstr "Nieuw contact-alarm" +msgstr "Nieuw contactalarm" #: ../finch/gntpounce.c:338 #: ../pidgin/gtkpounce.c:538 msgid "Edit Buddy Pounce" -msgstr "Contact-alarm bewerken" +msgstr "Contactalarm bewerken" #: ../finch/gntpounce.c:343 msgid "Pounce Who" @@ -1785,47 +1785,47 @@ #: ../finch/gntpounce.c:386 #: ../pidgin/gtkpounce.c:606 msgid "Pounce When Buddy..." -msgstr "Allarmeren als..." +msgstr "Alarmeren als contactpersoon..." #: ../finch/gntpounce.c:388 msgid "Signs on" -msgstr "Aanmeldt" +msgstr "...zich aanmeldt" #: ../finch/gntpounce.c:389 msgid "Signs off" -msgstr "Afmeldt" +msgstr "...zich afmeldt" #: ../finch/gntpounce.c:390 msgid "Goes away" -msgstr "Weggaat" +msgstr "...weggaat" #: ../finch/gntpounce.c:391 msgid "Returns from away" -msgstr "Van afwezigheid terugkeert " +msgstr "...van afwezigheid terugkeert " #: ../finch/gntpounce.c:392 msgid "Becomes idle" -msgstr "Inactief wordt" +msgstr "...inactief wordt" #: ../finch/gntpounce.c:393 msgid "Is no longer idle" -msgstr "Weer actief wordt" +msgstr "...weer actief wordt" #: ../finch/gntpounce.c:394 msgid "Starts typing" -msgstr "Start met typen" +msgstr "...start met typen" #: ../finch/gntpounce.c:395 msgid "Pauses while typing" -msgstr "Pauzeert tijdens het typen" +msgstr "...pauzeert tijdens het typen" #: ../finch/gntpounce.c:396 msgid "Stops typing" -msgstr "Stopt met typen" +msgstr "...stopt met typen" #: ../finch/gntpounce.c:397 msgid "Sends a message" -msgstr "Een bericht verstuurt" +msgstr "...een bericht verstuurt" #. Create the "Action" frame. #: ../finch/gntpounce.c:426 @@ -1878,13 +1878,13 @@ #: ../pidgin/gtkpounce.c:1132 #, c-format msgid "Are you sure you want to delete the pounce on %s for %s?" -msgstr "Wilt u het contact-alarm van %s op %s echt verwijderen?" +msgstr "Wilt u het contactalarm van %s op %s echt verwijderen?" #: ../finch/gntpounce.c:708 #: ../finch/gntui.c:96 #: ../pidgin/gtkpounce.c:1361 msgid "Buddy Pounces" -msgstr "Contact-alarmen" +msgstr "Contactalarmen" #: ../finch/gntpounce.c:817 #: ../pidgin/gtkpounce.c:1460 @@ -1949,7 +1949,7 @@ #: ../finch/gntpounce.c:845 #: ../pidgin/gtkpounce.c:1479 msgid "Unknown pounce event. Please report this!" -msgstr "Onbekend contact-alarm. Rapporteer dit alstublieft!" +msgstr "Onbekend contactalarm. Rapporteer dit alstublieft!" #: ../finch/gntprefs.c:92 msgid "Based on keyboard use" @@ -2367,7 +2367,7 @@ # Different status message expander #: ../finch/gntstatus.c:311 msgid "Please enter a different title for the status." -msgstr "Geef alstublieft een andere titel aan de status." +msgstr "Geef een andere titel aan de status." #: ../finch/gntstatus.c:452 msgid "Substatus" @@ -6112,11 +6112,11 @@ #: ../libpurple/protocols/jabber/jabber.c:1079 msgid "Please fill out the information below to change your account registration." -msgstr "Vul alstublieft onderstaand formulier in om je account te veranderen." +msgstr "Vul onderstaand formulier in om je account te veranderen." #: ../libpurple/protocols/jabber/jabber.c:1082 msgid "Please fill out the information below to register your new account." -msgstr "Vul alstublieft onderstaand formulier in om uw nieuwe account te registreren." +msgstr "Vul onderstaand formulier in om uw nieuwe account te registreren." #: ../libpurple/protocols/jabber/jabber.c:1090 #: ../libpurple/protocols/jabber/jabber.c:1091 @@ -6806,7 +6806,7 @@ #: ../libpurple/protocols/jabber/si.c:1092 #, c-format msgid "Please select the resource of %s to which you would like to send a file" -msgstr "Geef alstublieft de bron van %s naar degene wie je een bestand wil sturen" +msgstr "Geef de bron van %s naar degene wie je een bestand wil sturen" #: ../libpurple/protocols/jabber/si.c:1108 msgid "Select a Resource" @@ -8793,7 +8793,7 @@ #: ../libpurple/protocols/novell/novell.c:2185 msgid "Unable to connect to server. Please enter the address of the server you wish to connect to." -msgstr "Kan geen verbinding makenmet server. Geef alstublieft de naam op van de server waarmee u contact wilt maken." +msgstr "Kan geen verbinding makenmet server. Geef de naam op van de server waarmee u contact wilt maken." #: ../libpurple/protocols/novell/novell.c:2214 msgid "Error. SSL support is not installed." @@ -9323,7 +9323,7 @@ #: ../libpurple/protocols/oscar/oscar.c:2451 msgid "Please authorize me so I can add you to my buddy list." -msgstr "Geef mij alstublieft toestemming zodat ik u kan toevoegen aan mijn contactenlijst." +msgstr "Geef mij toestemming zodat ik u kan toevoegen aan mijn contactenlijst." #: ../libpurple/protocols/oscar/oscar.c:2480 msgid "Authorization Request Message:" @@ -9331,7 +9331,7 @@ #: ../libpurple/protocols/oscar/oscar.c:2481 msgid "Please authorize me!" -msgstr "Geef mij alstublieft toestemming" +msgstr "Geef mij toestemming, alstublieft!" #: ../libpurple/protocols/oscar/oscar.c:2521 #: ../libpurple/protocols/oscar/oscar.c:2529 @@ -9507,7 +9507,7 @@ #: ../libpurple/protocols/oscar/oscar.c:3602 msgid "The last action you attempted could not be performed because you are over the rate limit. Please wait 10 seconds and try again." -msgstr "Uw laatste actie is niet gebeurd omdat uw snelheid te hoog ligt. Wacht alstublieft 10 seconden en probeer het dan nogmaals." +msgstr "Uw laatste actie is niet gebeurd omdat uw snelheid te hoog ligt. Wacht 10 seconden en probeer het dan nogmaals." #: ../libpurple/protocols/oscar/oscar.c:3687 #: ../libpurple/protocols/toc/toc.c:977 @@ -10768,7 +10768,7 @@ #: ../libpurple/protocols/sametime/sametime.c:3433 #, c-format msgid "Please enter a topic for the new conference, and an invitation message to be sent to %s" -msgstr "Geef alstublieft een onderwerp voor deze bijeenkomst, en een uitnodiging om naar %s te sturen" +msgstr "Geef een onderwerp voor deze bijeenkomst, en een uitnodiging om naar %s te sturen" #: ../libpurple/protocols/sametime/sametime.c:3437 msgid "New Conference" @@ -10819,7 +10819,7 @@ #: ../libpurple/protocols/sametime/sametime.c:3691 #, c-format msgid "No host or IP address has been configured for the Meanwhile account %s. Please enter one below to continue logging in." -msgstr "Er is geen computernaam of IP-adres inegsteld in Meanwhile-account %s. Vul hieronder alstublieft een in om dor te gaan met de aanmelding." +msgstr "Er is geen computernaam of IP-adres inegsteld in Meanwhile-account %s. Vul hieronder één in om door te gaan met de aanmelding." #: ../libpurple/protocols/sametime/sametime.c:3696 msgid "Meanwhile Connection Setup" @@ -11609,7 +11609,7 @@ #: ../libpurple/protocols/silc10/chat.c:596 #, c-format msgid "Please enter the %s channel private group name and passphrase." -msgstr "Geef alstublieft de %s privé groepsnaam en het wachtwoord." +msgstr "Geef de %s privé groepsnaam en het wachtwoord." #: ../libpurple/protocols/silc/chat.c:617 #: ../libpurple/protocols/silc10/chat.c:598 @@ -14235,7 +14235,7 @@ #: ../pidgin/gtkblist.c:1060 msgid "Please enter the appropriate information about the chat you would like to join.\n" -msgstr "Geef alstublieft de benodigde informatie van de chat die u wilt openen.\n" +msgstr "Geef de benodigde informatie van de chat die u wilt openen.\n" #: ../pidgin/gtkblist.c:1072 #: ../pidgin/gtkblist.c:6939 @@ -14273,7 +14273,7 @@ #: ../pidgin/gtkblist.c:1450 msgid "Add Buddy _Pounce..." -msgstr "_Contact-alarm toevoegen" +msgstr "_Contactalarm toevoegen" #: ../pidgin/gtkblist.c:1455 #: ../pidgin/gtkblist.c:1459 @@ -14341,15 +14341,15 @@ #: ../pidgin/gtkblist.c:1618 msgid "Auto-Join" -msgstr "Auto-deelnemen" +msgstr "Automatisch deelnemen" #: ../pidgin/gtkblist.c:1620 msgid "Persistent" -msgstr "Blijvend" +msgstr "Blijvend deelnemen" #: ../pidgin/gtkblist.c:1630 msgid "_Edit Settings..." -msgstr "Instellingen _Bewerken..." +msgstr "Instellingen _bewerken..." #: ../pidgin/gtkblist.c:1664 #: ../pidgin/gtkblist.c:1689 @@ -14462,7 +14462,7 @@ #: ../pidgin/gtkblist.c:3267 msgid "/Tools/Buddy _Pounces" -msgstr "/Extra/_Contact-alarm" +msgstr "/Extra/_Contactalarm" #: ../pidgin/gtkblist.c:3268 msgid "/Tools/_Certificates" @@ -14750,7 +14750,7 @@ #: ../pidgin/gtkblist.c:6929 msgid "Please enter an alias, and the appropriate information about the chat you would like to add to your buddy list.\n" -msgstr "Geef alstublieft de bijnaam en andere informatie van de chat die u wilt toevoegen aan de contactlijst.\n" +msgstr "Geef de bijnaam en andere informatie van de chat die u wilt toevoegen aan de contactlijst.\n" #: ../pidgin/gtkblist.c:6952 msgid "A_lias:" @@ -14766,7 +14766,7 @@ #: ../pidgin/gtkblist.c:6986 msgid "Please enter the name of the group to be added." -msgstr "Geef alstublieft de naam van de toe te voegen groep." +msgstr "Geef de naam van de toe te voegen groep." #: ../pidgin/gtkblist.c:7645 msgid "Enable Account" @@ -14826,7 +14826,7 @@ #. Put our happy label in it. #: ../pidgin/gtkconv.c:875 msgid "Please enter the name of the user you wish to invite, along with an optional invite message." -msgstr "Geef alstublieft de bijnaam van de persoon die u wilt uitnodigen, eventueel met een uitnodigende tekst" +msgstr "Geef de bijnaam van de persoon die u wilt uitnodigen, eventueel met een uitnodigende tekst" #: ../pidgin/gtkconv.c:896 msgid "_Buddy:" @@ -14937,7 +14937,7 @@ #: ../pidgin/gtkconv.c:3077 msgid "/Conversation/Add Buddy _Pounce..." -msgstr "/Gesprek/_Contact-alarm toevoegen..." +msgstr "/Gesprek/_Contactalarm toevoegen..." #: ../pidgin/gtkconv.c:3079 msgid "/Conversation/_Get Info" @@ -15032,7 +15032,7 @@ #: ../pidgin/gtkconv.c:3394 msgid "/Conversation/Add Buddy Pounce..." -msgstr "/Gesprek/Contact-alarm toevoegen..." +msgstr "/Gesprek/Contactalarm toevoegen..." #: ../pidgin/gtkconv.c:3400 msgid "/Conversation/Get Info" @@ -15890,7 +15890,7 @@ #: ../pidgin/gtkdocklet.c:727 msgid "Mute _Sounds" -msgstr "Geluiden _dempen" +msgstr "Geluiden _dempen..." #: ../pidgin/gtkdocklet.c:734 msgid "_Blink on New Message" @@ -16210,7 +16210,7 @@ #: ../pidgin/gtkimhtmltoolbar.c:830 msgid "_Manage custom smileys" -msgstr "Eigen smiley's _beheren" +msgstr "Eigen smileys _beheren" #: ../pidgin/gtkimhtmltoolbar.c:867 msgid "This theme has no available smileys." @@ -16274,7 +16274,7 @@ #: ../pidgin/gtkimhtmltoolbar.c:1233 msgid "Insert IM Image" -msgstr "Chat-afbeelding invoegen" +msgstr "Afbeelding invoegen" #: ../pidgin/gtkimhtmltoolbar.c:1234 msgid "Insert Smiley" @@ -16286,7 +16286,7 @@ #: ../pidgin/gtkimhtmltoolbar.c:1311 msgid "_Italic" -msgstr " (Schuin)" +msgstr " _Cursief" #: ../pidgin/gtkimhtmltoolbar.c:1312 msgid "_Underline" @@ -16341,7 +16341,7 @@ #: ../pidgin/gtklog.c:245 msgid "Log Deletion Failed" -msgstr "Verwijderen Logboek Mislukt" +msgstr "Logboek verwijderen mislukt" #: ../pidgin/gtklog.c:246 msgid "Check permissions and try again." @@ -16350,17 +16350,17 @@ #: ../pidgin/gtklog.c:292 #, c-format msgid "Are you sure you want to permanently delete the log of the conversation with %s which started at %s?" -msgstr "Weet je zeker dat je het logboek van het gesprek in met %s dat starte op %s permanent wilt verwijderen?" +msgstr "Weet je zeker dat je het logboek van het gesprek in met %s dat startte op %s permanent wilt verwijderen?" #: ../pidgin/gtklog.c:303 #, c-format msgid "Are you sure you want to permanently delete the log of the conversation in %s which started at %s?" -msgstr "Weet je zeker dat je het logboek van het gesprek in %s dat starte op %s permanent wilt verwijderen?" +msgstr "Weet je zeker dat je het logboek van het gesprek in %s dat startte op %s permanent wilt verwijderen?" #: ../pidgin/gtklog.c:308 #, c-format msgid "Are you sure you want to permanently delete the system log which started at %s?" -msgstr "Weet je zeker dat je het systeem-logboek dat starte op %s permanent wilt verwijderen?" +msgstr "Weet je zeker dat je het systeem-logboek dat startte op %s permanent wilt verwijderen?" #: ../pidgin/gtklog.c:323 msgid "Delete Log?" @@ -16518,7 +16518,7 @@ #: ../pidgin/gtknotify.c:1033 #, c-format msgid "The browser command \"%s\" is invalid." -msgstr "De webbrowseropdracht \"%s\" is ongeldig." +msgstr "De webbrowser-opdracht \"%s\" is ongeldig." #: ../pidgin/gtknotify.c:1035 #: ../pidgin/gtknotify.c:1047 @@ -16597,7 +16597,7 @@ #. Create the "Pounce on Whom" frame. #: ../pidgin/gtkpounce.c:553 msgid "Pounce on Whom" -msgstr "Wie Alarmeren" +msgstr "Wie alarmeren" #: ../pidgin/gtkpounce.c:580 msgid "_Buddy name:" @@ -16694,7 +16694,7 @@ #: ../pidgin/gtkprefs.c:593 msgid "Install Theme" -msgstr "Installeer Thema" +msgstr "Installeer thema" #: ../pidgin/gtkprefs.c:646 msgid "Select a smiley theme that you would like to use from the list below. New themes can be installed by dragging and dropping them onto the theme list." @@ -16726,7 +16726,7 @@ #: ../pidgin/gtkprefs.c:950 msgid "Conversation Window Hiding" -msgstr "Gesprek-venster Verbergen" +msgstr "Gespreksvenster verbergen" #: ../pidgin/gtkprefs.c:951 msgid "_Hide new IM conversations:" @@ -16772,11 +16772,11 @@ #: ../pidgin/gtkprefs.c:988 msgid "Left Vertical" -msgstr "Links vertikaal" +msgstr "Links verticaal" #: ../pidgin/gtkprefs.c:989 msgid "Right Vertical" -msgstr "rechts vertikaal" +msgstr "rechts verticaal" #: ../pidgin/gtkprefs.c:996 msgid "N_ew conversations:" @@ -16796,11 +16796,11 @@ #: ../pidgin/gtkprefs.c:1052 msgid "Enable buddy ic_on animation" -msgstr "Bewegende _pictograms weergeven" +msgstr "Bewegende _pictogrammen weergeven" #: ../pidgin/gtkprefs.c:1059 msgid "_Notify buddies that you are typing to them" -msgstr "Laat anderen weten dat je aan het _typen bent" +msgstr "Laat anderen weten dat je naar ze aan het _typen bent" #: ../pidgin/gtkprefs.c:1062 msgid "Highlight _misspelled words" @@ -16816,7 +16816,7 @@ #: ../pidgin/gtkprefs.c:1071 msgid "Minimi_ze new conversation windows" -msgstr "Venster Minimaliseren " +msgstr "Minimalizeer nieuwe gespreksvensters " #: ../pidgin/gtkprefs.c:1075 msgid "Minimum input area height in lines:" @@ -16907,7 +16907,7 @@ "Proxy & Browser preferences are configured\n" "in GNOME Preferences" msgstr "" -"Proxy & browser voorkeuren zijn ingesteld\n" +"Proxy- en browser-voorkeuren zijn ingesteld\n" "in GNOME-instellingen" #: ../pidgin/gtkprefs.c:1317 @@ -16968,7 +16968,7 @@ #: ../pidgin/gtkprefs.c:1486 msgid "Firebird" -msgstr "Firefox" +msgstr "Firebird" #: ../pidgin/gtkprefs.c:1487 msgid "Epiphany" @@ -16980,7 +16980,7 @@ #: ../pidgin/gtkprefs.c:1557 msgid "Browser Selection" -msgstr "Browserselectie" +msgstr "Browser-selectie" #: ../pidgin/gtkprefs.c:1561 msgid "_Browser:" @@ -16992,7 +16992,7 @@ #: ../pidgin/gtkprefs.c:1571 msgid "Browser default" -msgstr "Standaardbrowser" +msgstr "Standaard-browser" #: ../pidgin/gtkprefs.c:1572 msgid "Existing window" @@ -17086,7 +17086,7 @@ #: ../pidgin/gtkprefs.c:1911 msgid "Volume:" -msgstr "Geluid:" +msgstr "Volume:" #: ../pidgin/gtkprefs.c:1978 msgid "Play" @@ -17110,7 +17110,7 @@ #: ../pidgin/gtkprefs.c:2069 msgid "_Auto-reply:" -msgstr "_Auto-antwoord:" +msgstr "_Automatisch antwoord:" #: ../pidgin/gtkprefs.c:2073 msgid "When both away and idle" @@ -17119,15 +17119,15 @@ #. Auto-away stuff #: ../pidgin/gtkprefs.c:2079 msgid "Auto-away" -msgstr "Auto-afwezig" +msgstr "Automatisch afwezig" #: ../pidgin/gtkprefs.c:2081 msgid "Change status when _idle" -msgstr "Status op afwezig zetten _wanneer ik niets doe" +msgstr "Status op afwezig zetten _wanneer ik inactief ben" #: ../pidgin/gtkprefs.c:2085 msgid "_Minutes before becoming idle:" -msgstr "_Minuten voor afwezig worden:" +msgstr "_Minuten voor inactief worden:" #: ../pidgin/gtkprefs.c:2092 msgid "Change _status to:" @@ -17160,7 +17160,7 @@ #: ../pidgin/gtkprefs.c:2156 msgid "Status / Idle" -msgstr "Status /Inactief" +msgstr "Status / inactief" #: ../pidgin/gtkprivacy.c:81 msgid "Allow all users to contact me" @@ -17168,11 +17168,11 @@ #: ../pidgin/gtkprivacy.c:82 msgid "Allow only the users on my buddy list" -msgstr "Alleen gebruikers uit mijn contactenlijst toestaan" +msgstr "Alleen gebruikers uit mijn contactenlijst mogen contact met mij leggen" #: ../pidgin/gtkprivacy.c:83 msgid "Allow only the users below" -msgstr "Alleen onderstaande gebruikers toestaan" +msgstr "Alleen onderstaande gebruikers mogen contact met mij leggen" #: ../pidgin/gtkprivacy.c:84 msgid "Block all users" @@ -17197,7 +17197,7 @@ #. Remove All button #: ../pidgin/gtkprivacy.c:417 msgid "Remove Al_l" -msgstr "Verwijderen Al_les" +msgstr "Alles _verwijderen" #: ../pidgin/gtkprivacy.c:503 #: ../pidgin/gtkprivacy.c:520 @@ -17210,7 +17210,7 @@ #: ../pidgin/gtkprivacy.c:505 msgid "Please enter the name of the user you wish to be able to contact you." -msgstr "Geef alstublieft de naam van de gebruiker die contact met u mag leggen." +msgstr "Geef de naam van de gebruiker die contact met u mag leggen." #: ../pidgin/gtkprivacy.c:508 #: ../pidgin/gtkprivacy.c:524 @@ -17238,7 +17238,7 @@ #: ../pidgin/gtkprivacy.c:547 msgid "Please enter the name of the user you wish to block." -msgstr "Geef alstublieft de naam van de gebruiker die u wilt blokkeren." +msgstr "Geef de naam van de gebruiker die u wilt blokkeren." #: ../pidgin/gtkprivacy.c:555 #, c-format @@ -18897,7 +18897,7 @@ #, fuzzy #~ msgid "Add Buddy _Pounce" -#~ msgstr "Contact-alarm toevoegen" +#~ msgstr "Contactalarm toevoegen" #~ msgid "Add a C_hat" #~ msgstr "_Chat toevoegen" #~ msgid "/Accounts/Add\\/Edit" @@ -18996,7 +18996,7 @@ #~ "\n" #~ "Status:: Rockin'" #~ msgid "/Tools/Buddy Pounces" -#~ msgstr "/Extra/Contact-alarm" +#~ msgstr "/Extra/Contactalarm" #~ msgid "/Options/Show Buddy _Icon" #~ msgstr "/Opties/Contact_plaatjes weergeven" #~ msgid "/Options/Show Buddy Icon" @@ -19684,7 +19684,7 @@ #~ msgid "/Buddies/_Log Out" #~ msgstr "/Contacten/_Afsluiten" #~ msgid "/Tools/Buddy _Pounce" -#~ msgstr "/Extra/_Contact-alarm" +#~ msgstr "/Extra/_Contactalarm" #~ msgid "/Tools/Account Ac_tions" #~ msgstr "/Extra/Account-acties" #~ msgid "/Tools/Pl_ugin Actions" @@ -19762,7 +19762,7 @@ #~ msgid "Alphabetical" #~ msgstr "Alfabetisch" #~ msgid "/Tools/Buddy Pounce" -#~ msgstr "/Extra/Contact-alarm" +#~ msgstr "/Extra/Contactalarm" #~ msgid "/Tools/Account Actions" #~ msgstr "/Extra/Account acties" #~ msgid "/Tools/Plugin Actions" @@ -19916,7 +19916,7 @@ #~ msgid "Error launching %s: %s" #~ msgstr "Fout bij starten van \"%s\": %s" #~ msgid "Pounce When" -#~ msgstr "Wanneer Alarmeren" +#~ msgstr "Wanneer alarmeren" #, fuzzy #~ msgid "Si_gn on" @@ -19948,7 +19948,7 @@ #~ msgid "Sav_e this pounce after activation" #~ msgstr "Dit alarm _opslaan na activatie" #~ msgid "Remove Buddy Pounce" -#~ msgstr "Contact-alarm verwijderen" +#~ msgstr "Contactalarm verwijderen" #~ msgid "Display" #~ msgstr "Weergave" #~ msgid "_Highlight misspelled words"