# HG changeset patch # User Sadrul Habib Chowdhury # Date 1199465259 0 # Node ID 85cd4e472a2788df03a5b88827c82213e03f9250 # Parent 05c2ef19e2fa572957808f5e20a09fb15ab7e158# Parent d1bdad5351076774bf119c5876ba53a11eb39101 merge of '30ea4e4dc3c93772f4022f23b41bb489eb0ac56b' and '86966dc38d43d8cd3430a14d9dc963693fd03466' diff -r 05c2ef19e2fa -r 85cd4e472a27 libpurple/protocols/bonjour/mdns_win32.c --- a/libpurple/protocols/bonjour/mdns_win32.c Fri Jan 04 16:45:11 2008 +0000 +++ b/libpurple/protocols/bonjour/mdns_win32.c Fri Jan 04 16:47:39 2008 +0000 @@ -123,7 +123,7 @@ uint32_t ttl, void *context) { - if (kDNSServiceErr_NoError != errorCode) { + if (errorCode != kDNSServiceErr_NoError) { purple_debug_error("bonjour", "record query - callback error.\n"); /* TODO: Probably should remove the buddy when this happens */ } else if (flags & kDNSServiceFlagsAdd) { @@ -168,13 +168,14 @@ delete_buddy = TRUE; } else { struct sockaddr_in *addr = g_slist_nth_data(hosts, 1); + DNSServiceErrorType errorCode; /* finally, set up the continuous txt record watcher, and add the buddy to purple */ - if (kDNSServiceErr_NoError == DNSServiceQueryRecord(&args->res_data->txt_query, kDNSServiceFlagsLongLivedQuery, + errorCode = DNSServiceQueryRecord(&args->res_data->txt_query, kDNSServiceFlagsLongLivedQuery, kDNSServiceInterfaceIndexAny, args->full_service_name, kDNSServiceType_TXT, - kDNSServiceClass_IN, _mdns_record_query_callback, args->bb)) { - + kDNSServiceClass_IN, _mdns_record_query_callback, args->bb); + if (errorCode == kDNSServiceErr_NoError) { const char *ip = inet_ntoa(addr->sin_addr); purple_debug_info("bonjour", "Found buddy %s at %s:%d\n", args->bb->name, ip, args->bb->port_p2pj); @@ -188,7 +189,7 @@ bonjour_buddy_add_to_purple(args->bb, NULL); } else { - purple_debug_error("bonjour", "Unable to set up record watcher for buddy %s\n", args->bb->name); + purple_debug_error("bonjour", "Unable to set up record watcher for buddy %s (%d)\n", args->bb->name, errorCode); delete_buddy = TRUE; } @@ -239,7 +240,7 @@ DNSServiceRefDeallocate(args->resolver); args->resolver = NULL; - if (kDNSServiceErr_NoError != errorCode) + if (errorCode != kDNSServiceErr_NoError) purple_debug_error("bonjour", "service resolver - callback error.\n"); else { /* set more arguments, and start the host resolver */ @@ -286,7 +287,7 @@ const char *name, const char *regtype, const char *domain, void *context) { /* TODO: deal with collision */ - if (kDNSServiceErr_NoError != errorCode) + if (errorCode != kDNSServiceErr_NoError) purple_debug_error("bonjour", "service advertisement - callback error (%d).\n", errorCode); else purple_debug_info("bonjour", "service advertisement - callback.\n"); @@ -298,11 +299,12 @@ { PurpleAccount *account = (PurpleAccount*)context; - if (kDNSServiceErr_NoError != errorCode) - purple_debug_error("bonjour", "service browser - callback error\n"); + if (errorCode != kDNSServiceErr_NoError) + purple_debug_error("bonjour", "service browser - callback error (%d)\n", errorCode); else if (flags & kDNSServiceFlagsAdd) { /* A presence service instance has been discovered... check it isn't us! */ if (purple_utf8_strcasecmp(serviceName, account->username) != 0) { + DNSServiceErrorType resErrorCode; /* OK, lets go ahead and resolve it to add to the buddy list */ ResolveCallbackArgs *args = g_new0(ResolveCallbackArgs, 1); @@ -310,8 +312,9 @@ serviceName, interfaceIndex, regtype ? regtype : "", replyDomain ? replyDomain : ""); - if (kDNSServiceErr_NoError == DNSServiceResolve(&args->resolver, 0, 0, serviceName, regtype, - replyDomain, _mdns_service_resolve_callback, args)) { + resErrorCode = DNSServiceResolve(&args->resolver, 0, 0, serviceName, regtype, + replyDomain, _mdns_service_resolve_callback, args); + if (resErrorCode == kDNSServiceErr_NoError) { GSList *tmp = pending_buddies; PurpleBuddy *pb; BonjourBuddy* bb = NULL; @@ -362,7 +365,7 @@ fd = DNSServiceRefSockFD(args->resolver); args->resolver_handler = purple_input_add(fd, PURPLE_INPUT_READ, _mdns_handle_event, args->resolver); } else { - purple_debug_error("bonjour", "service browser - failed to resolve service.\n"); + purple_debug_error("bonjour", "service browser - failed to resolve service. (%d)\n", resErrorCode); g_free(args); } } @@ -432,7 +435,7 @@ gboolean _mdns_publish(BonjourDnsSd *data, PublishType type, GSList *records) { TXTRecordRef dns_data; gboolean ret = TRUE; - DNSServiceErrorType set_ret = kDNSServiceErr_NoError; + DNSServiceErrorType errorCode = kDNSServiceErr_NoError; Win32SessionImplData *idata = data->mdns_impl_data; g_return_val_if_fail(idata != NULL, FALSE); @@ -441,36 +444,34 @@ while (records) { PurpleKeyValuePair *kvp = records->data; - set_ret = TXTRecordSetValue(&dns_data, kvp->key, strlen(kvp->value), kvp->value); - if (set_ret != kDNSServiceErr_NoError) + errorCode = TXTRecordSetValue(&dns_data, kvp->key, strlen(kvp->value), kvp->value); + if (errorCode != kDNSServiceErr_NoError) break; records = records->next; } - if (set_ret != kDNSServiceErr_NoError) { - purple_debug_error("bonjour", "Unable to allocate memory for text record.\n"); + if (errorCode != kDNSServiceErr_NoError) { + purple_debug_error("bonjour", "Unable to allocate memory for text record.(%d)\n", errorCode); ret = FALSE; } else { - DNSServiceErrorType err = kDNSServiceErr_NoError; - /* OK, we're done constructing the text record, (re)publish the service */ switch (type) { case PUBLISH_START: purple_debug_info("bonjour", "Registering presence on port %d\n", data->port_p2pj); - err = DNSServiceRegister(&idata->presence_svc, 0, 0, purple_account_get_username(data->account), ICHAT_SERVICE, + errorCode = DNSServiceRegister(&idata->presence_svc, 0, 0, purple_account_get_username(data->account), ICHAT_SERVICE, NULL, NULL, htons(data->port_p2pj), TXTRecordGetLength(&dns_data), TXTRecordGetBytesPtr(&dns_data), _mdns_service_register_callback, NULL); break; case PUBLISH_UPDATE: purple_debug_info("bonjour", "Updating presence.\n"); - err = DNSServiceUpdateRecord(idata->presence_svc, NULL, 0, TXTRecordGetLength(&dns_data), TXTRecordGetBytesPtr(&dns_data), 0); + errorCode = DNSServiceUpdateRecord(idata->presence_svc, NULL, 0, TXTRecordGetLength(&dns_data), TXTRecordGetBytesPtr(&dns_data), 0); break; } - if (err != kDNSServiceErr_NoError) { - purple_debug_error("bonjour", "Failed to publish presence service.\n"); + if (errorCode != kDNSServiceErr_NoError) { + purple_debug_error("bonjour", "Failed to publish presence service.(%d)\n", errorCode); ret = FALSE; } else if (type == PUBLISH_START) { /* We need to do this because according to the Apple docs: @@ -488,17 +489,20 @@ } gboolean _mdns_browse(BonjourDnsSd *data) { + DNSServiceErrorType errorCode; Win32SessionImplData *idata = data->mdns_impl_data; g_return_val_if_fail(idata != NULL, FALSE); - if (DNSServiceBrowse(&idata->browser_svc, 0, 0, ICHAT_SERVICE, NULL, - _mdns_service_browse_callback, data->account) - == kDNSServiceErr_NoError) { + errorCode = DNSServiceBrowse(&idata->browser_svc, 0, 0, ICHAT_SERVICE, NULL, + _mdns_service_browse_callback, data->account); + if (errorCode == kDNSServiceErr_NoError) { idata->browser_handler = purple_input_add(DNSServiceRefSockFD(idata->browser_svc), PURPLE_INPUT_READ, _mdns_handle_event, idata->browser_svc); return TRUE; - } + } else + purple_debug_error("bonjour", "Error registering Local Link presence browser. (%d)\n", errorCode); + return FALSE; } @@ -526,28 +530,30 @@ gboolean _mdns_set_buddy_icon_data(BonjourDnsSd *data, gconstpointer avatar_data, gsize avatar_len) { Win32SessionImplData *idata = data->mdns_impl_data; - DNSServiceErrorType err = kDNSServiceErr_NoError; + DNSServiceErrorType errorCode = kDNSServiceErr_NoError; g_return_val_if_fail(idata != NULL, FALSE); if (avatar_data != NULL && idata->buddy_icon_rec == NULL) { purple_debug_info("bonjour", "Setting new buddy icon.\n"); - err = DNSServiceAddRecord(idata->presence_svc, &idata->buddy_icon_rec, + errorCode = DNSServiceAddRecord(idata->presence_svc, &idata->buddy_icon_rec, 0, kDNSServiceType_NULL, avatar_len, avatar_data, 0); } else if (avatar_data != NULL) { purple_debug_info("bonjour", "Updating existing buddy icon.\n"); - err = DNSServiceUpdateRecord(idata->presence_svc, idata->buddy_icon_rec, + errorCode = DNSServiceUpdateRecord(idata->presence_svc, idata->buddy_icon_rec, 0, avatar_len, avatar_data, 0); } else if (idata->buddy_icon_rec != NULL) { purple_debug_info("bonjour", "Removing existing buddy icon.\n"); - DNSServiceRemoveRecord(idata->presence_svc, idata->buddy_icon_rec, 0); + errorCode = DNSServiceRemoveRecord(idata->presence_svc, idata->buddy_icon_rec, 0); idata->buddy_icon_rec = NULL; } - if (err != kDNSServiceErr_NoError) - purple_debug_error("bonjour", "Error (%d) setting buddy icon record.\n", err); + if (errorCode != kDNSServiceErr_NoError) { + purple_debug_error("bonjour", "Error (%d) setting buddy icon record.\n", errorCode); + return FALSE; + } - return (err == kDNSServiceErr_NoError); + return TRUE; } void _mdns_init_buddy(BonjourBuddy *buddy) { @@ -589,11 +595,16 @@ idata->null_query = NULL; } - DNSServiceConstructFullName(svc_name, buddy->name, ICHAT_SERVICE, "local"); - if (kDNSServiceErr_NoError == DNSServiceQueryRecord(&idata->null_query, 0, kDNSServiceInterfaceIndexAny, svc_name, - kDNSServiceType_NULL, kDNSServiceClass_IN, _mdns_record_query_callback, buddy)) { - idata->null_query_handler = purple_input_add(DNSServiceRefSockFD(idata->null_query), - PURPLE_INPUT_READ, _mdns_handle_event, idata->null_query); + if (DNSServiceConstructFullName(svc_name, buddy->name, ICHAT_SERVICE, "local") != 0) + purple_debug_error("bonjour", "Unable to construct full name to retrieve buddy icon for %s.\n", buddy->name); + else { + DNSServiceErrorType errorCode = DNSServiceQueryRecord(&idata->null_query, 0, kDNSServiceInterfaceIndexAny, + svc_name, kDNSServiceType_NULL, kDNSServiceClass_IN, _mdns_record_query_callback, buddy); + if (errorCode == kDNSServiceErr_NoError) + idata->null_query_handler = purple_input_add(DNSServiceRefSockFD(idata->null_query), + PURPLE_INPUT_READ, _mdns_handle_event, idata->null_query); + else + purple_debug_error("bonjour", "Unable to query buddy icon record for %s. (%d)\n", buddy->name, errorCode); } } diff -r 05c2ef19e2fa -r 85cd4e472a27 libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Fri Jan 04 16:45:11 2008 +0000 +++ b/libpurple/protocols/jabber/jabber.c Fri Jan 04 16:47:39 2008 +0000 @@ -614,7 +614,7 @@ js->user = jabber_id_new(purple_account_get_username(account)); js->next_id = g_random_int(); js->write_buffer = purple_circ_buffer_new(512); - js->old_length = -1; + js->old_length = 0; js->keepalive_timeout = -1; if(!js->user) { @@ -1100,7 +1100,7 @@ g_free, g_free); js->user = jabber_id_new(purple_account_get_username(account)); js->next_id = g_random_int(); - js->old_length = -1; + js->old_length = 0; if(!js->user) { purple_connection_error_reason (gc, diff -r 05c2ef19e2fa -r 85cd4e472a27 libpurple/protocols/jabber/usertune.c --- a/libpurple/protocols/jabber/usertune.c Fri Jan 04 16:45:11 2008 +0000 +++ b/libpurple/protocols/jabber/usertune.c Fri Jan 04 16:47:39 2008 +0000 @@ -35,11 +35,12 @@ xmlnode *tuneinfo, *tune; PurpleJabberTuneInfo tuneinfodata; JabberBuddyResource *resource; - + gboolean valid = FALSE; + /* ignore the tune of people not on our buddy list */ if (!buddy || !item) return; - + tuneinfodata.artist = NULL; tuneinfodata.title = NULL; tuneinfodata.album = NULL; @@ -58,36 +59,47 @@ if (!strcmp(tuneinfo->name, "artist")) { if (tuneinfodata.artist == NULL) /* only pick the first one */ tuneinfodata.artist = xmlnode_get_data(tuneinfo); + valid = TRUE; } else if (!strcmp(tuneinfo->name, "length")) { if (tuneinfodata.time == -1) { char *length = xmlnode_get_data(tuneinfo); if (length) tuneinfodata.time = strtol(length, NULL, 10); g_free(length); + if (tuneinfodata.time > 0) + valid = TRUE; } } else if (!strcmp(tuneinfo->name, "source")) { if (tuneinfodata.album == NULL) /* only pick the first one */ tuneinfodata.album = xmlnode_get_data(tuneinfo); + valid = TRUE; } else if (!strcmp(tuneinfo->name, "title")) { if (tuneinfodata.title == NULL) /* only pick the first one */ tuneinfodata.title = xmlnode_get_data(tuneinfo); + valid = TRUE; } else if (!strcmp(tuneinfo->name, "track")) { if (tuneinfodata.track == NULL) /* only pick the first one */ tuneinfodata.track = xmlnode_get_data(tuneinfo); + valid = TRUE; } else if (!strcmp(tuneinfo->name, "uri")) { if (tuneinfodata.url == NULL) /* only pick the first one */ tuneinfodata.url = xmlnode_get_data(tuneinfo); + valid = TRUE; } } } - purple_prpl_got_user_status(js->gc->account, from, "tune", - PURPLE_TUNE_ARTIST, tuneinfodata.artist, - PURPLE_TUNE_TITLE, tuneinfodata.title, - PURPLE_TUNE_ALBUM, tuneinfodata.album, - PURPLE_TUNE_TRACK, tuneinfodata.track, - PURPLE_TUNE_TIME, tuneinfodata.time, - PURPLE_TUNE_URL, tuneinfodata.url, NULL); + if (valid) { + purple_prpl_got_user_status(js->gc->account, from, "tune", + PURPLE_TUNE_ARTIST, tuneinfodata.artist, + PURPLE_TUNE_TITLE, tuneinfodata.title, + PURPLE_TUNE_ALBUM, tuneinfodata.album, + PURPLE_TUNE_TRACK, tuneinfodata.track, + PURPLE_TUNE_TIME, tuneinfodata.time, + PURPLE_TUNE_URL, tuneinfodata.url, NULL); + } else { + purple_prpl_got_user_status_deactive(js->gc->account, from, "tune"); + } g_free(tuneinfodata.artist); g_free(tuneinfodata.title); @@ -119,7 +131,7 @@ xmlnode_insert_data(xmlnode_new_child(tunenode, "source"),tuneinfo->album,-1); if(tuneinfo->url && tuneinfo->url[0] != '\0') xmlnode_insert_data(xmlnode_new_child(tunenode, "uri"),tuneinfo->url,-1); - if(tuneinfo->time >= 0) { + if(tuneinfo->time > 0) { char *length = g_strdup_printf("%d", tuneinfo->time); xmlnode_insert_data(xmlnode_new_child(tunenode, "length"),length,-1); g_free(length); diff -r 05c2ef19e2fa -r 85cd4e472a27 pidgin/win32/winpidgin.c --- a/pidgin/win32/winpidgin.c Fri Jan 04 16:45:11 2008 +0000 +++ b/pidgin/win32/winpidgin.c Fri Jan 04 16:47:39 2008 +0000 @@ -450,23 +450,25 @@ if ((h = CreateMutex(NULL, FALSE, "pidgin_is_running"))) { DWORD err = GetLastError(); - if (err == ERROR_ALREADY_EXISTS && fail_if_running) { - HWND msg_win; + if (err == ERROR_ALREADY_EXISTS) { + if (fail_if_running) { + HWND msg_win; - printf("An instance of Pidgin is already running.\n"); + printf("An instance of Pidgin is already running.\n"); - if((msg_win = FindWindowEx(HWND_MESSAGE, NULL, TEXT("WinpidginMsgWinCls"), NULL))) - if(SendMessage(msg_win, PIDGIN_WM_FOCUS_REQUEST, (WPARAM) NULL, (LPARAM) NULL)) - return FALSE; + if((msg_win = FindWindowEx(HWND_MESSAGE, NULL, TEXT("WinpidginMsgWinCls"), NULL))) + if(SendMessage(msg_win, PIDGIN_WM_FOCUS_REQUEST, (WPARAM) NULL, (LPARAM) NULL)) + return FALSE; - /* If we get here, the focus request wasn't successful */ + /* If we get here, the focus request wasn't successful */ - MessageBox(NULL, - "An instance of Pidgin is already running", - NULL, MB_OK | MB_TOPMOST); + MessageBox(NULL, + "An instance of Pidgin is already running", + NULL, MB_OK | MB_TOPMOST); - return FALSE; - } else + return FALSE; + } + } else if (err != ERROR_SUCCESS) printf("Error (%u) accessing \"pidgin_is_running\" mutex.\n", (UINT) err); } return TRUE; diff -r 05c2ef19e2fa -r 85cd4e472a27 po/de.po --- a/po/de.po Fri Jan 04 16:45:11 2008 +0000 +++ b/po/de.po Fri Jan 04 16:47:39 2008 +0000 @@ -11,9 +11,9 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-12-19 10:17+0100\n" -"PO-Revision-Date: 2007-12-19 10:17+0100\n" -"Last-Translator: Jochen Kemnade \n" +"POT-Creation-Date: 2008-01-04 15:36+0100\n" +"PO-Revision-Date: 2008-01-04 15:21+0100\n" +"Last-Translator: Björn Voigt \n" "Language-Team: Deutsch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1436,19 +1436,6 @@ msgstr "Ze_rtifikat ansehen..." #. Prompt the user to authenticate the certificate -#. TODO: Provide the user with more guidance about why he is -#. being prompted -#. vrq will be completed by user_auth -#, c-format -msgid "" -"The certificate presented by \"%s\" claims to be from \"%s\" instead. This " -"could mean that you are not connecting to the service you believe you are." -msgstr "" -"Das Zertifikat, welches von „%s“ präsentiert wurde, behauptet stattdessen " -"von „%s“ zu kommen. Das kann bedeuten, dass Sie tatsächlich nicht mit dem " -"Dienst verbunden sind, mit dem Sie glauben verbunden zu sein." - -#. Prompt the user to authenticate the certificate #. vrq will be completed by user_auth #, c-format msgid "" @@ -1498,6 +1485,19 @@ msgid "Invalid certificate authority signature" msgstr "Unbekannte Zertifizierungsstellensignatur" +#. Prompt the user to authenticate the certificate +#. TODO: Provide the user with more guidance about why he is +#. being prompted +#. vrq will be completed by user_auth +#, c-format +msgid "" +"The certificate presented by \"%s\" claims to be from \"%s\" instead. This " +"could mean that you are not connecting to the service you believe you are." +msgstr "" +"Das Zertifikat, welches von „%s“ präsentiert wurde, behauptet stattdessen " +"von „%s“ zu kommen. Das kann bedeuten, dass Sie tatsächlich nicht mit dem " +"Dienst verbunden sind, mit dem Sie glauben verbunden zu sein." + #. Make messages #, c-format msgid "" @@ -3285,6 +3285,10 @@ msgid "nickserv: Send a command to nickserv" msgstr "nickserv: Sendet ein Kommando zum Nickserv" +msgid "notice <target<: Send a notice to a user or channel." +msgstr "" +"notice <Ziel>: Sende eine Notiz an einen Benutzer oder an einen Kanal." + msgid "" "op <nick1> [nick2] ...: Grant channel operator status to someone. You " "must be a channel operator to do this." @@ -9640,7 +9644,7 @@ "unterbrochen." #. 10054 -#, fuzzy, c-format +#, c-format msgid "Remote host closed connection." msgstr "Der entfernte Host hat die Verbindung beendet." @@ -9908,6 +9912,12 @@ "Sie sind im Moment nicht mit einem Konto angemeldet, welches benutzt werden " "kann, um diesen Buddy hinzuzufügen." +#. I don't believe this can happen currently, I think +#. * everything that calls this function checks for one of the +#. * above node types first. +msgid "Unknown node type" +msgstr "Unbekannter Knotentyp" + #. Buddies menu msgid "/_Buddies" msgstr "/_Buddys" @@ -10045,6 +10055,12 @@ msgid "Rockin'" msgstr "Abgefahren" +msgid "Total Buddies" +msgstr "Buddy-Anzahl" + +msgid "Online Buddies" +msgstr "Online-Buddys" + #, c-format msgid "Idle %dd %dh %02dm" msgstr "Untätig %dd %dh %02dm" @@ -11108,31 +11124,33 @@ msgstr "" "Farbe zum Darstellen von Hyperlinks, wenn sich die Maus darüber befindet." -#, fuzzy msgid "Sent Message Name Color" -msgstr "Gesendete Nachrichten" +msgstr "Farbnane für gesendete Nachrichten" msgid "Color to draw the name of a message you sent." msgstr "" - -#, fuzzy +"Farbe, mit der der Name in einer gesendeten Nachricht dargestellt wird." + msgid "Received Message Name Color" -msgstr "Empfangene Nachrichten" +msgstr "Farbname für empfangene Nachrichten" msgid "Color to draw the name of a message you received." msgstr "" +"Farbe, mit der der Name in einer empfangenen Nachricht dargestellt wird." msgid "\"Attention\" Name Color" -msgstr "" +msgstr "Farbname für \"Achtung\"-Nachrichten" msgid "Color to draw the name of a message you received containing your name." msgstr "" +"Farbe, mit der der Name in einer Nachricht dargestellt wird, die Ihren Namen " +"enthält." msgid "Action Message Name Color" -msgstr "" +msgstr "Farbname für Aktions-Nachrichten" msgid "Color to draw the name of an action message." -msgstr "" +msgstr "Farbe, mit der der Name in einer Aktions-Nachricht dargestellt wird." msgid "_Copy E-Mail Address" msgstr "Kopiere _E-Mail-Adresse" @@ -11187,15 +11205,6 @@ msgid "_Save Image..." msgstr "Bild _speichern..." -msgid "_Font" -msgstr "_Schrift" - -msgid "_Insert" -msgstr "_Einfügen" - -msgid "S_mile!" -msgstr "_Lächeln!" - msgid "Select Font" msgstr "Schriftart wählen" @@ -11224,6 +11233,9 @@ msgid "Insert Link" msgstr "Link einfügen" +msgid "_Insert" +msgstr "_Einfügen" + #, c-format msgid "Failed to store image: %s\n" msgstr "Speichern des Bildes fehlgeschlagen: %s\n" @@ -11231,12 +11243,14 @@ msgid "Insert Image" msgstr "Bild einfügen" +msgid "Smile!" +msgstr "Lächeln!" + msgid "This theme has no available smileys." msgstr "Dieses Thema verfügt über keine Smileys." -#. show everything -msgid "Smile!" -msgstr "Lächeln!" +msgid "_Font" +msgstr "_Schrift" msgid "Group Items" msgstr "Elemente gruppieren" @@ -12850,9 +12864,8 @@ msgid "Hyperlink Color" msgstr "Hyperlink-Farbe" -#, fuzzy msgid "Highlighted Message Name Color" -msgstr "Hervorgehobene Nachrichten" +msgstr "Farbname für hervorgehobene Nachrichten" msgid "GtkTreeView Horizontal Separation" msgstr "GtkTreeview horizontaler Abstand" @@ -12861,7 +12874,7 @@ msgstr "Unterhaltungseintrag" msgid "Request Dialog" -msgstr "Dialog anfordern" +msgstr "Anfrage-Dialog" msgid "Notify Dialog" msgstr "Benachrichtigungsdialog"