From paul@cypherpunks.ca Wed Aug 1 04:53:03 2007 From: paul@cypherpunks.ca (Paul Wouters) Date: Tue, 31 Jul 2007 23:53:03 -0400 (EDT) Subject: [OTR-dev] Slovak translation by Milan Plzik In-Reply-To: <20070731215448.GE3751@yoink.cs.uwaterloo.ca> References: <20070731215448.GE3751@yoink.cs.uwaterloo.ca> Message-ID: On Tue, 31 Jul 2007, Ian Goldberg wrote: > On Tue, Jul 31, 2007 at 01:58:21PM -0400, Paul Wouters wrote: > > > > Attached is the Slovak translation for pidgin-otr > > Thanks; checked in. > > > #: ../gtk-dialog.c:1025 > > msgid "Enter secret here" > > msgstr "" > > Should there not be a translation for this one? Darn. I even double checked it, and still missed one :( Milan: can you give us translation for the above sentence? Paul From gdt@ir.bbn.com Tue Aug 21 15:29:30 2007 From: gdt@ir.bbn.com (Greg Troxel) Date: Tue, 21 Aug 2007 10:29:30 -0400 Subject: [Greg Troxel] [OTR-dev] finished converstations a bad UI choice! Message-ID: --=-=-= The scenario I described in the attached message happened again today. Any thoughts? Do people disagree with how I think things should work? Is it just a question of not enough round tuits to implement it? If I send a patch to do behavior 2 below, will it be accepted? I'm on the verge of stopping using OTR. --=-=-= Content-Type: message/rfc822 Content-Disposition: inline From: Greg Troxel To: otr-dev@lists.cypherpunks.ca Message-ID: User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (berkeley-unix) Subject: [OTR-dev] finished converstations a bad UI choice! Sender: otr-dev-admin@lists.cypherpunks.ca MIME-Version: 1.0 I'm writing, perhaps again, about what I consider to be a serious UI bug with finished conversations. Actual scenario: I have a private conversation with Alice. Both of us use gaim and gaim-otr with jabber. Alice's client is probably set to 'require OTR' for me. At least I've had the same behavior on my end when talking to someone else, when I have 'require OTR' set. I shut down my client. This sends a 'finished' message, putting Alice's client in state finished for me. Alice (who doesn't follow otr-dev and understand the nuances of why it's bad to send cleartext when she might expect encrypted) tries to send something, typing a sentence and hitting return. She gets something like 'message not sent; please cancel or restart' and concludes (correctly!) that the IM system is broken. Now, I realize that sending the message in the clear would be a security problem, as she could expect confidentiality and then not get it. So let me be very clear that I'm not asking for that. There are then two cases: OTR is enabled, with automatic initiation, but not required) Here, we know that OTR recently worked with this peer. So choices are 0) send in clear - dangerous, violates user expectations 1) fail (current behavior) 2) try to initiate, and send message if negotatiation is successful OTR is enabled, with automatic initiation, and further is required) Here, there are two choices 0) send in clear - against stated policy, dangerous 1) fail 2) try to initiate, and send message if negotatiation is successful In the required case, note that these are the same options as in a "not private" state. But in "not private", otr-gaim does option 2, which is useful and what the user expects. In the 'not required' case, option 2 seems preferred - a savvy user can always 'end private' if that's what they want. I have no objection to "Conversation is in state finished; trying to initiate private conversation" message. I realize this is work to change. But does anyone really think that the current behavior is useful and reasonable? To me it's gratuitously difficult when there's a better behavior without security problems. _______________________________________________ OTR-dev mailing list OTR-dev@lists.cypherpunks.ca http://lists.cypherpunks.ca/mailman/listinfo/otr-dev --=-=-=-- From ian@cypherpunks.ca Wed Aug 22 01:45:35 2007 From: ian@cypherpunks.ca (Ian Goldberg) Date: Tue, 21 Aug 2007 20:45:35 -0400 Subject: [Greg Troxel] [OTR-dev] finished converstations a bad UI choice! In-Reply-To: References: Message-ID: <20070822004535.GR15409@yoink.cs.uwaterloo.ca> On Tue, Aug 21, 2007 at 10:29:30AM -0400, Greg Troxel wrote: > The scenario I described in the attached message happened again today. > > Any thoughts? Do people disagree with how I think things should work? > Is it just a question of not enough round tuits to implement it? > If I send a patch to do behavior 2 below, will it be accepted? > > I'm on the verge of stopping using OTR. There's certainly always the tuit problem, and I'm sorry I haven't had a chance to reply sooner. I'm still not totally convinced your solution is strictly better, though. > There are then two cases: > > OTR is enabled, with automatic initiation, but not required) > > Here, we know that OTR recently worked with this peer. So choices > are > > 0) send in clear - dangerous, violates user expectations > 1) fail (current behavior) > 2) try to initiate, and send message if negotatiation is successful > > OTR is enabled, with automatic initiation, and further is required) > > Here, there are two choices > > 0) send in clear - against stated policy, dangerous > 1) fail > 2) try to initiate, and send message if negotatiation is successful > > > In the required case, note that these are the same options as in a "not > private" state. But in "not private", otr-gaim does option 2, which is > useful and what the user expects. In the 'not required' case, option 2 > seems preferred - a savvy user can always 'end private' if that's what > they want. > > I have no objection to "Conversation is in state finished; trying to > initiate private conversation" message. > > I realize this is work to change. But does anyone really think that the > current behavior is useful and reasonable? To me it's gratuitously > difficult when there's a better behavior without security problems. The problem occurs when your buddy ends the private conversation and then logs in again, when they're *not* set to "required". What with the limited set of clients that currently support OTR (more now than when the feature was implemented, admittedly), it's totally possible that your buddy does not in fact support OTR any more. So at best, libotr could send an automatic OTR Query message (which would annoy your buddy if that's indeed the case). If libotr stashed the plaintext in the same way as when you type something in "required" mode, it would in fact get automatically sent if your buddy does support OTR, but something mysterious would probably happen otherwise, that could probably only be detected by a super-ugly timeout or something like that. So it's not so much that there hasn't been a tuit to implement a solution to this problem, but rather that there hasn't been one to spec it, I think. Does that make sense? All that having been said, I'd be totally happy to see someone spec a solution, or better, supply both a spec and then a patch. ;-) Thanks, - Ian From gdt@ir.bbn.com Wed Aug 22 14:37:41 2007 From: gdt@ir.bbn.com (Greg Troxel) Date: Wed, 22 Aug 2007 09:37:41 -0400 Subject: [Greg Troxel] [OTR-dev] finished converstations a bad UI choice! References: <20070822004535.GR15409@yoink.cs.uwaterloo.ca> Message-ID: Ian Goldberg writes: > On Tue, Aug 21, 2007 at 10:29:30AM -0400, Greg Troxel wrote: >> Any thoughts? Do people disagree with how I think things should work? >> Is it just a question of not enough round tuits to implement it? >> If I send a patch to do behavior 2 below, will it be accepted? > > There's certainly always the tuit problem, and I'm sorry I haven't had a > chance to reply sooner. I'm still not totally convinced your solution > is strictly better, though. Thanks for replying. I certainly agree that deciding on the proper behavior is hard; my big point was the current behavior is a problem. > So it's not so much that there hasn't been a tuit to implement a > solution to this problem, but rather that there hasn't been one to spec > it, I think. For discussion, I'll assume that Alice is in state finished and Bob has reappeared. So if Alice has Bob configured to "required", do you agree that Alice's OTR implementation should auto-initiate and send if a message is entered? I don't see any downside to that. (Except for maybe getting fussy about private vs unverified and a downgrade attack there. But that's really not about finished - it's more general and I think should be addressed separately.) > The problem occurs when your buddy ends the private conversation and > then logs in again, when they're *not* set to "required". What with the > limited set of clients that currently support OTR (more now than when > the feature was implemented, admittedly), it's totally possible that > your buddy does not in fact support OTR any more. So at best, > libotr could send an automatic OTR Query message (which would annoy > your buddy if that's indeed the case). I see your point. It's a question of an OTR Query being annoying to Bob (who has just used an OTR client and is now using a non-OTR client, so he kind of deserves the poke :-), vs a baffling failure to Alice (who isn't a cryptographer, and for whom Bob had installed OTR). > If libotr stashed the plaintext in the same way as when you type > something in "required" mode, it would in fact get automatically sent if > your buddy does support OTR, but something mysterious would probably > happen otherwise, that could probably only be detected by a super-ugly > timeout or something like that. While timeouts are ugly, they seem hard to avoid in all cases, and the current behavior has led to failure to communicate in actual user testing. I won't suggest options to configure how to respond, as that seems too hairy. But, I do not understand how these two situations differ client in state not private, OTR required client in state finished, OTR required It seems to me that the issues surrounding save text, initiate, send if successful, are all the same. It seems reasonable to have a timeout of a minute or so and inform the user that negotiation failed - but even without addressing that it seems that the same behavior as not private is appropriate for finished. I wonder if a popup dialog is in order in the non-required case, with choices: try to re-initiate OTR end private conversation (warning: messages will be sent unencrypted) no change (stay in finished and discard message) This seems hard, but the fundamental underlying issues really are hard. > If libotr stashed the plaintext in the same way as when you type > something in "required" mode, it would in fact get automatically sent if > your buddy does support OTR, but something mysterious would probably > happen otherwise, that could probably only be detected by a super-ugly > timeout or something like that. For the required case, do you agree that treating it like not private (save message, initiate, send) is appropriate? That's the case that's causing me grief. > Does that make sense? All that having been said, I'd be totally happy > to see someone spec a solution, or better, supply both a spec and then a > patch. ;-) Yes, makes sense - thanks for spending the time to think about this. From michael.meier@mmsources.de Wed Aug 29 21:32:06 2007 From: michael.meier@mmsources.de (Michael Meier) Date: Wed, 29 Aug 2007 22:32:06 +0200 Subject: [OTR-dev] German translation for pidgin-otr Message-ID: <46D5D7C6.1060903@mmsources.de> This is a multi-part message in MIME format. --------------000203070109030702090900 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hello, i've created a translation of pidgin-otr in my native language. I hope it meets your requirements. I have also subscribed to this list and would like to continue maintaining the german translation for future releases. Regards, Michael --------------000203070109030702090900 Content-Type: text/plain; name="de.po" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="de.po" # Off-the-Record Messaging plugin for pidgin. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the pidgin-otr package. # Michael Meier , 2007. # msgid "" msgstr "" "Project-Id-Version: pidgin-otr 3.1.0-de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-08-29 17:46+0200\n" "PO-Revision-Date: 2007-08-29 20:29+0200\n" "Last-Translator: Michael Meier \n" "Language-Team: Michael Meier \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../gtk-dialog.c:916 ../gtk-dialog.c:2103 msgid "_What's this?" msgstr "_Was ist das?" #: ../gtk-dialog.c:927 msgid "_More..." msgstr "_Mehr..." #. Create the Advanced... button, and left-justify it. This #. * involves adding the button, and a blank label as a spacer, and #. * reordering them so that they're at the beginning. #: ../gtk-dialog.c:984 msgid "Advanced..." msgstr "Erweitert..." #: ../gtk-dialog.c:1029 msgid "Enter secret here" msgstr "Geheime Passphrase hier eingeben" #: ../gtk-dialog.c:1034 msgid "This buddy is already authenticated." msgstr "Dieser Buddy wurde bereits authentifiziert." #: ../gtk-dialog.c:1053 msgid "" "To authenticate, pick a secret known only to you and your buddy. Enter this " "secret, then wait for your buddy to enter it too. If the secrets don't " "match, then you may be talking to an imposter." msgstr "" "Wählen Sie zur Authentifizierung eine Passphrase, die nur Ihnen und Ihrem " "Buddy bekannt ist. Geben Sie diese Passphrase ein, warten Sie dann darauf, " "dass Ihr Buddy diese Passphrase ebenfalls eingibt. Wenn die Passphrasen nicht " "übereinstimmen, haben Sie es möglicherweise mit einem Hochstapler zu tun." #: ../gtk-dialog.c:1057 msgid "" "If your buddy uses multiple IM accounts or multiple computers, you may have " "to authenticate multiple times. However, as long as they use an account and " "computer that you've seen before, you don't need to authenticate each " "individual conversation." msgstr "" "Sollte Ihr Buddy verschiedene IM-Konten oder verschiedene Computer " "verwenden, müssen Sie die Authentifizierung möglicherweise mehrmals " "durchführen. Ansonsten ist es nicht erforderlich, die Authentifizierung " "für jede einzelne Unterhaltung durchzuführen." #: ../gtk-dialog.c:1062 ../gtk-dialog.c:1330 ../gtk-dialog.c:1334 #: ../gtk-dialog.c:1431 ../gtk-dialog.c:1598 ../gtk-dialog.c:1758 #: ../gtk-dialog.c:1858 ../gtk-dialog.c:1943 msgid "?lang=en" msgstr "?lang=de" #: ../gtk-dialog.c:1063 msgid "Click here for more information about authentication in OTR." msgstr "" "Hier klicken, um mehr Informationen über Authentifizierung in OTR zu " "erhalten." #: ../gtk-dialog.c:1067 msgid "" "Authenticating a buddy helps ensure that the person you are talking to is " "who they claim to be." msgstr "" "Einen Buddy zu authentifizieren hilft sicherzustellen, dass die Person, mit " "der Sie sprechen die ist, die sie zu sein behauptet." #: ../gtk-dialog.c:1119 msgid "Authenticating Buddy" msgstr "Authentifiziere Buddy" #: ../gtk-dialog.c:1146 msgid "Authenticating" msgstr "Authentifiziere" #: ../gtk-dialog.c:1209 msgid "Generating private key" msgstr "Generiere private Schlüssel" #: ../gtk-dialog.c:1210 msgid "Please wait" msgstr "Bitte warten" #: ../gtk-dialog.c:1218 ../gtk-dialog.c:1635 ../gtk-dialog.c:1672 #: ../gtk-ui.c:175 ../otr-plugin.c:115 ../otr-plugin.c:212 ../ui.c:110 msgid "Unknown" msgstr "Unbekannt" #. Create the Please Wait... dialog #: ../gtk-dialog.c:1221 #, c-format msgid "Generating private key for %s (%s)..." msgstr "Generiere privaten Schlüssel für %s (%s)..." #: ../gtk-dialog.c:1266 #, c-format msgid "%s Done." msgstr "%s Fertig." #: ../gtk-dialog.c:1328 #, c-format msgid "" "%s is contacting you from an unrecognized computer. You should authenticate this buddy." msgstr "" "%s kontaktiert Sie von einem unbekannten Computer aus. Sie sollten diesen " "Buddy authentifizieren." #: ../gtk-dialog.c:1332 #, c-format msgid "" "%s has not been authenticated yet. You should authenticate this buddy." msgstr "" "%s wurde noch nicht authentifiziert. Sie sollten diesen Buddy " "authentifizieren." #: ../gtk-dialog.c:1373 ../gtk-ui.c:76 msgid "Finished" msgstr "Beendet" #: ../gtk-dialog.c:1374 ../gtk-ui.c:75 msgid "Private" msgstr "Privat" #: ../gtk-dialog.c:1375 ../gtk-ui.c:74 msgid "Unverified" msgstr "Unverifiziert" #: ../gtk-dialog.c:1376 ../gtk-ui.c:73 msgid "Not private" msgstr "Nicht privat" #: ../gtk-dialog.c:1378 msgid "Start a private conversation" msgstr "Private Unterhaltung starten" #: ../gtk-dialog.c:1379 msgid "Refresh the private conversation" msgstr "Private Unterhaltung aktualisieren" #: ../gtk-dialog.c:1383 msgid "Start _private conversation" msgstr "_Private Unterhaltung starten" #: ../gtk-dialog.c:1384 msgid "Refresh _private conversation" msgstr "_Private Unterhaltung aktualisieren" #: ../gtk-dialog.c:1563 msgid "I have not" msgstr "Ich habe nicht" #: ../gtk-dialog.c:1564 msgid "I have" msgstr "Ich habe" #: ../gtk-dialog.c:1566 msgid " verified that this is in fact the correct" msgstr " überprüft, dass dies tatsächlich der richtige" #: ../gtk-dialog.c:1575 #, c-format msgid "fingerprint for %s." msgstr "Fingerprint für %s ist." #: ../gtk-dialog.c:1587 msgid "" "To verify the fingerprint, contact your buddy via some other " "authenticated channel, such as the telephone or GPG-signed email. Each of " "you should tell your fingerprint to the other." msgstr "" "Um den Fingerprint zu verifizieren, kontaktieren Sie Ihren Buddy über einen " "anderen sicheren Kanal, zum Beispiel persönlich, per " "GPG-verschlüsselter E-Mail oder telefonisch. Sie sollten Sich gegenseitig " "Ihre Fingerprints mitteilen." #: ../gtk-dialog.c:1591 msgid "" "If everything matches up, you should indicate in the above dialog that you " "have verified the fingerprint." msgstr "" "Wenn alles übereinstimmt, sollten Sie im obigen Dialog angeben, dass Sie " "den Fingerprint tatsächlich verifiziert haben." #: ../gtk-dialog.c:1593 msgid "" "If your buddy has more than one IM account, or uses more than one computer, " "he may have multiple fingerprints." msgstr "" "Sollte Ihr Buddy mehr als ein IM-Konto oder mehrere Computer verwenden, kann " "er mehr als einen Fingerprint haben." #: ../gtk-dialog.c:1595 msgid "" "However, the only way an imposter could duplicate one of your buddy's " "fingerprints is by stealing information from her/his computer." msgstr "" "Die einzige Möglichkeit für einen Hochstapler, die Fingerprints Ihres " "Buddys zu kopieren ist das Stehlen der Informationen von seinem/ihrem " "Computer." #: ../gtk-dialog.c:1599 msgid "Click here for more information about fingerprints." msgstr "Klicken Sie hier für zusätzliche Informationen über Fingerprints." #: ../gtk-dialog.c:1602 msgid "" "A fingerprint is a unique identifier that you should use to " "authenticate your buddy." msgstr "" "Ein Fingerprint ist ein einmaliges Identifizierungsmerkmal, das Sie " "verwenden sollten, um Ihren Buddy zu authentifizieren." #: ../gtk-dialog.c:1624 #, c-format msgid "Verify fingerprint for %s" msgstr "Fingerprint für %s verifizieren." #: ../gtk-dialog.c:1628 msgid "[none]" msgstr "[keiner]" #: ../gtk-dialog.c:1636 #, c-format msgid "" "Fingerprint for you, %s (%s):\n" "%s\n" "\n" "Purported fingerprint for %s:\n" "%s\n" msgstr "" "Fingerprint für Sie, %s (%s):\n" "%s\n" "\n" "Angegebener Fingerprint für %s:\n" "%s\n" #: ../gtk-dialog.c:1641 ../gtk-ui.c:681 msgid "Verify fingerprint" msgstr "Fingerprint verifizieren" #: ../gtk-dialog.c:1668 #, c-format msgid "Authenticate %s" msgstr "%s authentifizieren" #: ../gtk-dialog.c:1673 #, c-format msgid "Enter a secret known only to %s and yourself.\n" msgstr "Geben Sie eine Passphrase ein, die nur %s und Ihnen bekannt ist.\n" #: ../gtk-dialog.c:1676 msgid "Authenticate buddy" msgstr "Buddy authentifizieren" #: ../gtk-dialog.c:1708 msgid "An error occurred during authentication." msgstr "Ein Fehler ist bei der Authentifizierung aufgetreten." #: ../gtk-dialog.c:1724 msgid "Authentication successful." msgstr "Authentifizierung erfolgreich." #: ../gtk-dialog.c:1727 msgid "Authentication failed." msgstr "Authentifizierung fehlgeschlagen." #: ../gtk-dialog.c:1752 #, c-format msgid "Private conversation with %s started.%s" msgstr "Private Unterhaltung mit %s begonnen.%s" #: ../gtk-dialog.c:1756 #, c-format msgid "Unverified conversation with %%s started.%%s" msgstr "Nicht verifizierte Unterhaltung mit %%s begonnen.%%s" #. This last case should never happen, since we know #. * we're in ENCRYPTED. #: ../gtk-dialog.c:1764 #, c-format msgid "Not private conversation with %s started.%s" msgstr "Nicht private Unterhaltung mit %s begonnen.%s" #: ../gtk-dialog.c:1770 ../gtk-dialog.c:1871 msgid " Warning: using old protocol version 1." msgstr " Warnung: Verwende veraltete Protokollversion 1." #: ../gtk-dialog.c:1790 #, c-format msgid "Private conversation with %s lost." msgstr "Private Unterhaltung mit %s abgebrochen." #: ../gtk-dialog.c:1825 #, c-format msgid "" "%s has ended his/her private conversation with you; you should do the same." msgstr "" "%s hat seine/ihre private Unterhaltung mit Ihnen beendet. Sie sollten " "dasselbe tun." #: ../gtk-dialog.c:1850 #, c-format msgid "Successfully refreshed the private conversation with %s.%s" msgstr "Private Unterhaltung mit %s erfolgreich aktualisiert.%s" #: ../gtk-dialog.c:1855 #, c-format msgid "" "Successfully refreshed the unverified conversation with " "%%s.%%s" msgstr "" "Nicht verifizierte Unterhaltung mit %%s erfolgreich " "aktualisiert.%%s" #. This last case should never happen, since we know #. * we're in ENCRYPTED. #: ../gtk-dialog.c:1864 #, c-format msgid "Successfully refreshed the not private conversation with %s.%s" msgstr "Nicht private Unterhaltung mit %s erfolgreich aktualisiert.%s" #: ../gtk-dialog.c:1891 #, c-format msgid "Attempting to refresh the private conversation with %s..." msgstr "Versuche, die private Unterhaltung mit %s zu aktualisieren..." #: ../gtk-dialog.c:1893 #, c-format msgid "Attempting to start a private conversation with %s..." msgstr "Versuche, eine private Unterhaltung mit %s zu beginnen..." #: ../gtk-dialog.c:2053 msgid "OTR:" msgstr "" #: ../gtk-dialog.c:2062 msgid "OTR Messaging" msgstr "" #: ../gtk-dialog.c:2068 msgid "_End private conversation" msgstr "Private Unterhaltung be_enden" #. #. * Don't show the Verify fingerprint menu option any more. You can #. * still get to the dialog through Authenticate connection -> #. * Advanced... #. * #. menuverf = gtk_menu_item_new_with_mnemonic(_("_Verify fingerprint")); #. gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuverf); #. gtk_widget_show(menuverf); #. #: ../gtk-dialog.c:2086 msgid "_Authenticate buddy" msgstr "Buddy _authentifizieren" #: ../gtk-ui.c:96 #, c-format msgid "Fingerprint: %.80s" msgstr "Fingerprint :%.80s" #: ../gtk-ui.c:100 #, c-format msgid "No key present" msgstr "Kein Schlüssel vorhanden" #: ../gtk-ui.c:105 #, c-format msgid "No account available" msgstr "Keine Konten verfügbar" #: ../gtk-ui.c:165 msgid "Unused" msgstr "Unbenutzt" #: ../gtk-ui.c:171 msgid "Yes" msgstr "Ja" #: ../gtk-ui.c:171 msgid "No" msgstr "Nein" #: ../gtk-ui.c:396 msgid "Enable private messaging" msgstr "Privaten Nachrichtenversand aktivieren" #: ../gtk-ui.c:398 msgid "Automatically initiate private messaging" msgstr "Privaten Nachrichtenversand automatisch aktivieren" #: ../gtk-ui.c:400 msgid "Require private messaging" msgstr "Privaten Nachrichtenversand erzwingen" #: ../gtk-ui.c:403 msgid "Don't log OTR conversations" msgstr "OTR-Unterhaltungen nicht speichern" #: ../gtk-ui.c:531 msgid "My private keys" msgstr "Meine privaten Schlüssel" #: ../gtk-ui.c:540 msgid "Key for account:" msgstr "Schlüssel für Konto:" #: ../gtk-ui.c:565 msgid "Generate" msgstr "Generieren" #: ../gtk-ui.c:596 msgid "Default OTR Settings" msgstr "Standard OTR-Einstellungen" #: ../gtk-ui.c:625 msgid "Screenname" msgstr "Anzeigename" #: ../gtk-ui.c:626 msgid "Status" msgstr "Status" #: ../gtk-ui.c:627 msgid "Verified" msgstr "Verifiziert" #: ../gtk-ui.c:628 msgid "Fingerprint" msgstr "Fingerprint" #: ../gtk-ui.c:629 msgid "Account" msgstr "Konto" #: ../gtk-ui.c:665 msgid "Start private connection" msgstr "Private Unterhaltung starten" #: ../gtk-ui.c:673 msgid "End private connection" msgstr "Private Unterhaltung beenden" #: ../gtk-ui.c:689 msgid "Forget fingerprint" msgstr "Fingerprint vergessen" #: ../gtk-ui.c:738 msgid "Config" msgstr "Konfiguration" #: ../gtk-ui.c:740 msgid "Known fingerprints" msgstr "Bekannte Fingerprints" #: ../gtk-ui.c:838 ../otr-plugin.c:584 msgid "OTR Settings" msgstr "OTR-Einstellungen" #. Set the title #: ../gtk-ui.c:856 #, c-format msgid "OTR Settings for %s" msgstr "OTR-Einstellungen für %s" #. Make the cascaded checkboxes #: ../gtk-ui.c:873 msgid "Use default OTR settings for this buddy" msgstr "Standard OTR-Einstellungen für diesen Buddy verwenden" #: ../otr-plugin.c:113 #, c-format msgid "You are not currently connected to account %s (%s)." msgstr "Sie sind momentan nicht mit Konto %s verbunden(%s)." #: ../otr-plugin.c:117 msgid "Not connected" msgstr "Nicht verbunden" #: ../otr-plugin.c:161 #, c-format msgid "Out of memory building filenames!\n" msgstr "Kein Speicher zum Erstellen von Dateinamen!\n" #: ../otr-plugin.c:167 #, c-format msgid "Could not write private key file\n" msgstr "Konnte nicht in die Private-Schlüssel-Datei schreiben\n" #: ../otr-plugin.c:210 #, c-format msgid "Unknown account %s (%s)." msgstr "Unbekanntes Konto %s (%s)." #: ../otr-plugin.c:214 msgid "Unknown account" msgstr "Unbekanntes Konto" #: ../otr-plugin.c:960 msgid "Off-the-Record Messaging" msgstr "" #: ../otr-plugin.c:961 msgid "Provides private and secure conversations" msgstr "Ermöglicht private und sichere Unterhaltungen" #: ../otr-plugin.c:962 msgid "" "Preserves the privacy of IM communications by providing encryption, " "authentication, deniability, and perfect forward secrecy." msgstr "" "Bewahrt die Vertraulichkeit von IM-Unterhaltungen durch Verschlüsselung, " "Authentifizierung, Glaubhafte Bestreitbarkeit und Perfect Forward Secrecy." #: ../ui.c:108 #, c-format msgid "Account %s (%s) could not be found" msgstr "Konto %s (%s) konnte nicht gefunden werden" #: ../ui.c:112 msgid "Account not found" msgstr "Konto nicht gefunden" --------------000203070109030702090900-- From ian@cypherpunks.ca Wed Aug 29 22:50:30 2007 From: ian@cypherpunks.ca (Ian Goldberg) Date: Wed, 29 Aug 2007 17:50:30 -0400 Subject: [OTR-dev] German translation for pidgin-otr In-Reply-To: <46D5D7C6.1060903@mmsources.de> References: <46D5D7C6.1060903@mmsources.de> Message-ID: <20070829215030.GV15409@yoink.cs.uwaterloo.ca> On Wed, Aug 29, 2007 at 10:32:06PM +0200, Michael Meier wrote: > Hello, > > i've created a translation of pidgin-otr in my native language. I hope > it meets your requirements. > I have also subscribed to this list and would like to continue > maintaining the german translation for future releases. Cool, thanks! I'm about to go away for the long weekend, but I'll take a closer look when I get back. - Ian From cactusthesaint@yahoo.com Wed Aug 29 23:16:18 2007 From: cactusthesaint@yahoo.com (Cactus The Saint) Date: Wed, 29 Aug 2007 15:16:18 -0700 (PDT) Subject: [OTR-dev] Slovene translation for pidgin-otr Message-ID: <910558.26176.qm@web55209.mail.re4.yahoo.com> Hello, I made, er, begged my wife to make a Slovene translation of pidgin-otr; it's her native language. She worked off the Slovak translation from not too long ago. Hopefully it meets the requirements. I have also attached the translation as a utf-8 formatted file, as I have no confidence that yahoo mail won't butcher this email. In other news, there's a kopete otr plugin at http://kopete-otr.follefuder.org/, but I don't see that url on http://www.cypherpunks.ca/otr/ I have no affiliation with that plugin, but I asked a friend who uses Ubuntu to install it and it seems to work, so perhaps it deserves consideration for inclusion on the OTR page. Regards, Derek ----- #: ../gtk-dialog.c:913 ../gtk-dialog.c:2095 msgid "_What's this?" msgstr "_Kaj je to?" #: ../gtk-dialog.c:924 msgid "_More..." msgstr "_Veè..." #. Create the Advanced... button, and left-justify it. This #. * involves adding the button, and a blank label as a spacer, and #. * reordering them so that they're at the beginning. #: ../gtk-dialog.c:980 msgid "Advanced..." msgstr "Podrobno..." #: ../gtk-dialog.c:1025 msgid "Enter secret here" msgstr "Vnesi geslo tukaj" #: ../gtk-dialog.c:1030 msgid "This buddy is already authenticated." msgstr "Ta kolega je ¾e potrjen." #: ../gtk-dialog.c:1049 msgid "" "To authenticate, pick a secret known only to you and your buddy. Enter this " "secret, then wait for your buddy to enter it too. If the secrets don't " "match, then you may be talking to an imposter." msgstr "" "Za potrditev izberite geslo, ki ga poznate le vi in vas kolega. Vnesite to " "geslo, nato poèakajte, da ga vnese tudi vas kolega. Èe se geslo ne " "ujema, morda govorite z vsiljivcem." #: ../gtk-dialog.c:1053 msgid "" "If your buddy uses multiple IM accounts or multiple computers, you may have " "to authenticate multiple times. However, as long as they use an account and " "computer that you've seen before, you don't need to authenticate each " "individual conversation." msgstr "" "Èe vas kolega uporablja razliène racunalnike, boste morda morali " "potrditi veèkrat. Èe uporablja predal in " "raèunalnik, ki ga ¾e poznate, ni potrebno potrjevati vsakega" "posameznega klepeta." #: ../gtk-dialog.c:1058 ../gtk-dialog.c:1322 ../gtk-dialog.c:1326 #: ../gtk-dialog.c:1423 ../gtk-dialog.c:1590 ../gtk-dialog.c:1750 #: ../gtk-dialog.c:1850 ../gtk-dialog.c:1935 msgid "?lang=en" msgstr "?lang=slo" #: ../gtk-dialog.c:1059 msgid "Click here for more information about authentication in OTR." msgstr "Kliknite tukaj za veè podatkov o potrditvi v OTR." #: ../gtk-dialog.c:1063 msgid "" "Authenticating a buddy helps ensure that the person you are talking to is " "who they claim to be." msgstr "" "Potrditev kolega zagotavlja, da je oseba, s katero govorite, resnièno ta, " "za katero se izdaja." #: ../gtk-dialog.c:1113 msgid "Authenticating Buddy" msgstr "Potrjujem kolega." #: ../gtk-dialog.c:1140 msgid "Authenticating" msgstr "Potrjujem" #: ../gtk-dialog.c:1201 msgid "Generating private key" msgstr "Izdelujem osebni kljuè" #: ../gtk-dialog.c:1202 msgid "Please wait" msgstr "Prosim poèakajte" #: ../gtk-dialog.c:1210 ../gtk-dialog.c:1627 ../gtk-dialog.c:1664 #: ../gtk-ui.c:175 ../otr-plugin.c:115 ../otr-plugin.c:212 ../ui.c:110 msgid "Unknown" msgstr "Neznan" #. Create the Please Wait... dialog #: ../gtk-dialog.c:1213 #, c-format msgid "Generating private key for %s (%s)..." msgstr "Izdelujem osebni kljuè za %s (%s)..." #: ../gtk-dialog.c:1258 #, c-format msgid "%s Done." msgstr "%s Konèano." #: ../gtk-dialog.c:1320 #, c-format msgid "" "%s is contacting you from an unrecognized computer. You should --0-2093661691-1188426169=:30075 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable =0A=0A> I have also attached the translation as a utf-8 formatted file=0A= =0ADerek's a big fat liar, news at 11.=0A=0A=0A=0A=0A=0A =0A_________= ___________________________________________________________________________= =0AChoose the right car based on your needs. Check out Yahoo! Autos new Ca= r Finder tool.=0Ahttp://autos.yahoo.com/carfinder/ --0-2093661691-1188426169=:30075 Content-Type: text/plain; name="=?utf-8?q?pidgin-slovene-utf8.txt?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?q?pidgin-slovene-utf8.txt?=" CgotLS0tLQoKIzogLi4vZ3RrLWRpYWxvZy5jOjkxMyAuLi9ndGstZGlhbG9n LmM6MjA5NQptc2dpZCAiX1doYXQncyB0aGlzPyIKbXNnc3RyICJfS2FqIGpl IHRvPyIKCiM6IC4uL2d0ay1kaWFsb2cuYzo5MjQKbXNnaWQgIl9Nb3JlLi4u Igptc2dzdHIgIl9WZcSNLi4uIgoKIy4gQ3JlYXRlIHRoZSBBZHZhbmNlZC4u LiBidXR0b24sIGFuZCBsZWZ0LWp1c3RpZnkgaXQuICBUaGlzCiMuICogaW52 b2x2ZXMgYWRkaW5nIHRoZSBidXR0b24sIGFuZCBhIGJsYW5rIGxhYmVsIGFz IGEgc3BhY2VyLCBhbmQKIy4gKiByZW9yZGVyaW5nIHRoZW0gc28gdGhhdCB0 aGV5J3JlIGF0IHRoZSBiZWdpbm5pbmcuCiM6IC4uL2d0ay1kaWFsb2cuYzo5 ODAKbXNnaWQgIkFkdmFuY2VkLi4uIgptc2dzdHIgIlBvZHJvYm5vLi4uIgoK IzogLi4vZ3RrLWRpYWxvZy5jOjEwMjUKbXNnaWQgIkVudGVyIHNlY3JldCBo ZXJlIgptc2dzdHIgIlZuZXNpIGdlc2xvIHR1a2FqIgoKIzogLi4vZ3RrLWRp YWxvZy5jOjEwMzAKbXNnaWQgIlRoaXMgYnVkZHkgaXMgYWxyZWFkeSBhdXRo ZW50aWNhdGVkLiIKbXNnc3RyICJUYSBrb2xlZ2EgamUgxb5lIHBvdHJqZW4u IgoKIzogLi4vZ3RrLWRpYWxvZy5jOjEwNDkKbXNnaWQgIiIKIlRvIGF1dGhl bnRpY2F0ZSwgcGljayBhIHNlY3JldCBrbm93biBvbmx5IHRvIHlvdSBhbmQg eW91ciBidWRkeS4gIEVudGVyIHRoaXMgIgoic2VjcmV0LCB0aGVuIHdhaXQg Zm9yIHlvdXIgYnVkZHkgdG8gZW50ZXIgaXQgdG9vLiAgSWYgdGhlIHNlY3Jl dHMgZG9uJ3QgIgoibWF0Y2gsIHRoZW4geW91IG1heSBiZSB0YWxraW5nIHRv IGFuIGltcG9zdGVyLiIKbXNnc3RyICIiCiJaYSBwb3RyZGl0ZXYgaXpiZXJp dGUgZ2VzbG8sIGtpIGdhIHBvem5hdGUgbGUgdmkgaW4gdmFzIGtvbGVnYS4g Vm5lc2l0ZSB0byAiCiJnZXNsbywgbmF0byBwb8SNYWthanRlLCBkYSBnYSB2 bmVzZSB0dWRpIHZhcyBrb2xlZ2EuIMSMZSBzZSBnZXNsbyBuZSAiCiJ1amVt YSwgbW9yZGEgZ292b3JpdGUgeiB2c2lsaml2Y2VtLiIKCiM6IC4uL2d0ay1k aWFsb2cuYzoxMDUzCm1zZ2lkICIiCiJJZiB5b3VyIGJ1ZGR5IHVzZXMgbXVs dGlwbGUgSU0gYWNjb3VudHMgb3IgbXVsdGlwbGUgY29tcHV0ZXJzLCB5b3Ug bWF5IGhhdmUgIgoidG8gYXV0aGVudGljYXRlIG11bHRpcGxlIHRpbWVzLiAg SG93ZXZlciwgYXMgbG9uZyBhcyB0aGV5IHVzZSBhbiBhY2NvdW50IGFuZCAi CiJjb21wdXRlciB0aGF0IHlvdSd2ZSBzZWVuIGJlZm9yZSwgeW91IGRvbid0 IG5lZWQgdG8gYXV0aGVudGljYXRlIGVhY2ggIgoiaW5kaXZpZHVhbCBjb252 ZXJzYXRpb24uIgptc2dzdHIgIiIKIsSMZSB2YXMga29sZWdhIHVwb3JhYmxq YSByYXpsacSNbmUgcmFjdW5hbG5pa2UsIGJvc3RlIG1vcmRhIG1vcmFsaSAi CiJwb3RyZGl0aSB2ZcSNa3JhdC4gxIxlIHVwb3JhYmxqYSBwcmVkYWwgaW4g IgoicmHEjXVuYWxuaWssIGtpIGdhIMW+ZSBwb3puYXRlLCBuaSBwb3RyZWJu byBwb3RyamV2YXRpIHZzYWtlZ2EiCiJwb3NhbWV6bmVnYSBrbGVwZXRhLiIK CiM6IC4uL2d0ay1kaWFsb2cuYzoxMDU4IC4uL2d0ay1kaWFsb2cuYzoxMzIy IC4uL2d0ay1kaWFsb2cuYzoxMzI2CiM6IC4uL2d0ay1kaWFsb2cuYzoxNDIz IC4uL2d0ay1kaWFsb2cuYzoxNTkwIC4uL2d0ay1kaWFsb2cuYzoxNzUwCiM6 IC4uL2d0ay1kaWFsb2cuYzoxODUwIC4uL2d0ay1kaWFsb2cuYzoxOTM1Cm1z Z2lkICI/bGFuZz1lbiIKbXNnc3RyICI/bGFuZz1zbG8iCgojOiAuLi9ndGst ZGlhbG9nLmM6MTA1OQptc2dpZCAiQ2xpY2sgaGVyZSBmb3IgbW9yZSBpbmZv cm1hdGlvbiBhYm91dCBhdXRoZW50aWNhdGlvbiBpbiBPVFIuIgptc2dzdHIg IktsaWtuaXRlIHR1a2FqIHphIHZlxI0gcG9kYXRrb3YgbyBwb3RyZGl0dmkg diBPVFIuIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjEwNjMKbXNnaWQgIiIKIkF1 dGhlbnRpY2F0aW5nIGEgYnVkZHkgaGVscHMgZW5zdXJlIHRoYXQgdGhlIHBl cnNvbiB5b3UgYXJlIHRhbGtpbmcgdG8gaXMgIgoid2hvIHRoZXkgY2xhaW0g dG8gYmUuIgptc2dzdHIgIiIKIlBvdHJkaXRldiBrb2xlZ2EgemFnb3Rhdmxq YSwgZGEgamUgb3NlYmEsIHMga2F0ZXJvIGdvdm9yaXRlLCByZXNuacSNbm8g dGEsICIKInphIGthdGVybyBzZSBpemRhamEuIgoKIzogLi4vZ3RrLWRpYWxv Zy5jOjExMTMKbXNnaWQgIkF1dGhlbnRpY2F0aW5nIEJ1ZGR5Igptc2dzdHIg IlBvdHJqdWplbSBrb2xlZ2EuIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjExNDAK bXNnaWQgIkF1dGhlbnRpY2F0aW5nIgptc2dzdHIgIlBvdHJqdWplbSIKCiM6 IC4uL2d0ay1kaWFsb2cuYzoxMjAxCm1zZ2lkICJHZW5lcmF0aW5nIHByaXZh dGUga2V5Igptc2dzdHIgIkl6ZGVsdWplbSBvc2Vibmkga2xqdcSNIgoKIzog Li4vZ3RrLWRpYWxvZy5jOjEyMDIKbXNnaWQgIlBsZWFzZSB3YWl0Igptc2dz dHIgIlByb3NpbSBwb8SNYWthanRlIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjEy MTAgLi4vZ3RrLWRpYWxvZy5jOjE2MjcgLi4vZ3RrLWRpYWxvZy5jOjE2NjQK IzogLi4vZ3RrLXVpLmM6MTc1IC4uL290ci1wbHVnaW4uYzoxMTUgLi4vb3Ry LXBsdWdpbi5jOjIxMiAuLi91aS5jOjExMAptc2dpZCAiVW5rbm93biIKbXNn c3RyICJOZXpuYW4iCgojLiBDcmVhdGUgdGhlIFBsZWFzZSBXYWl0Li4uIGRp YWxvZwojOiAuLi9ndGstZGlhbG9nLmM6MTIxMwojLCBjLWZvcm1hdAptc2dp ZCAiR2VuZXJhdGluZyBwcml2YXRlIGtleSBmb3IgJXMgKCVzKS4uLiIKbXNn c3RyICJJemRlbHVqZW0gb3NlYm5pIGtsanXEjSB6YSAlcyAoJXMpLi4uIgoK IzogLi4vZ3RrLWRpYWxvZy5jOjEyNTgKIywgYy1mb3JtYXQKbXNnaWQgIiVz IERvbmUuIgptc2dzdHIgIiVzIEtvbsSNYW5vLiIKCiM6IC4uL2d0ay1kaWFs b2cuYzoxMzIwCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiIlcyBpcyBjb250YWN0 aW5nIHlvdSBmcm9tIGFuIHVucmVjb2duaXplZCBjb21wdXRlci4gIFlvdSBz aG91bGQgPGEgaHJlZj1cIiVzJSIKInNcImF1dGhlbnRpY2F0ZTwvYXRoaXMg YnVkZHkuIgptc2dzdHIgIiIKIiVzIMW+ZWxpIHN0b3BpdGkgdiBzdGlrIHog dmFtaSBpeiBuZXByZXBvem5hbmVnYSByYcSNdW5hbG5pa2EuIFByaXBvcm/E jWFtbywgZGEgPGEgIgoiaHJlZj1cIiVzJXNcInBvdHJkaXRlPC9hdGVnYSBr b2xlZ2EuIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjEzMjQKIywgYy1mb3JtYXQK bXNnaWQgIiIKIiVzIGhhcyBub3QgYmVlbiBhdXRoZW50aWNhdGVkIHlldC4g IFlvdSBzaG91bGQgPGEgaHJlZj1cIiVzJXMiCiJcImF1dGhlbnRpY2F0ZTwv YXRoaXMgYnVkZHkuIgptc2dzdHIgIiIKIiVzIMWhZSBuaSBiaWwgcHJlcG96 bmFuLiBQcmlwb3JvxI1hbW8sIGRhIDxhIGhyZWY9XCIlcyVzXCIiCiJwb3Ry ZGl0ZTwvYXRlZ2Ega29sZWdhLiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxMzY1 IC4uL2d0ay11aS5jOjc2Cm1zZ2lkICJGaW5pc2hlZCIKbXNnc3RyICJLb27E jWFubyIKCgojOiAuLi9ndGstZGlhbG9nLmM6MTM2NiAuLi9ndGstdWkuYzo3 NQptc2dpZCAiUHJpdmF0ZSIKbXNnc3RyICJaYXNlYm5vIgoKIzogLi4vZ3Rr LWRpYWxvZy5jOjEzNjcgLi4vZ3RrLXVpLmM6NzQKbXNnaWQgIlVudmVyaWZp ZWQiCm1zZ3N0ciAiTmVwb3RyamVubyIKCiM6IC4uL2d0ay1kaWFsb2cuYzox MzY4IC4uL2d0ay11aS5jOjczCm1zZ2lkICJOb3QgcHJpdmF0ZSIKbXNnc3Ry ICJKYXZubyIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxMzcwCm1zZ2lkICJTdGFy dCBhIHByaXZhdGUgY29udmVyc2F0aW9uIgptc2dzdHIgIlphxI1uaSB6IHph c2VibmltIHBvZ292b3JvbSIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxMzcxCm1z Z2lkICJSZWZyZXNoIHRoZSBwcml2YXRlIGNvbnZlcnNhdGlvbiIKbXNnc3Ry ICJPYm5vdmkgemFzZWJuaSBwb2dvdm9yIgoKIzogLi4vZ3RrLWRpYWxvZy5j OjEzNzUKbXNnaWQgIlN0YXJ0IF9wcml2YXRlIGNvbnZlcnNhdGlvbiIKbXNn c3RyICJaYcSNbmkgeiB6YXNlYm5pbSBwb2dvdm9yb20iCgojOiAuLi9ndGst ZGlhbG9nLmM6MTM3Ngptc2dpZCAiUmVmcmVzaCBfcHJpdmF0ZSBjb252ZXJz YXRpb24iCm1zZ3N0ciAiT2Jub3ZpIF96YXNlYm5pIHBvZ292b3IiCgojOiAu Li9ndGstZGlhbG9nLmM6MTU1NQptc2dpZCAiSSBoYXZlIG5vdCIKbXNnc3Ry ICJOaXNlbSIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxNTU2Cm1zZ2lkICJJIGhh dmUiCm1zZ3N0ciAiU2VtIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjE1NTgKbXNn aWQgIiB2ZXJpZmllZCB0aGF0IHRoaXMgaXMgaW4gZmFjdCB0aGUgY29ycmVj dCIKbXNnc3RyICIgcG90cmRpbC9hLCBkYSBqZSB0byByZXNuacSNbm8gcHJh dmlsbmkiCgojOiAuLi9ndGstZGlhbG9nLmM6MTU2NwojLCBjLWZvcm1hdApt c2dpZCAiZmluZ2VycHJpbnQgZm9yICVzLiIKbXNnc3RyICJwcnN0bmkgb2R0 aXMgemEgJXMuIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjE1NzkKbXNnaWQgIiIK IlRvIHZlcmlmeSB0aGUgZmluZ2VycHJpbnQsIGNvbnRhY3QgeW91ciBidWRk eSB2aWEgc29tZSA8aW90aGVyPC9pIgoiYXV0aGVudGljYXRlZCBjaGFubmVs LCBzdWNoIGFzIHRoZSB0ZWxlcGhvbmUgb3IgR1BHLXNpZ25lZCBlbWFpbC4g IEVhY2ggb2YgIgoieW91IHNob3VsZCB0ZWxsIHlvdXIgZmluZ2VycHJpbnQg dG8gdGhlIG90aGVyLiIKbXNnc3RyICIiCiJaYSBwb3RyZGl0ZXYgcHJzdG5l Z2Egb2R0aXNhIHN0b3BpdGUgdiBzdGlrIHMga29sZWdvbSBwcmVrbyBuZWtl Z2EgPGlkcnVnZWdhPC9pIgoidmVyb2Rvc3Rvam5lZ2Ega2FuYWxhIGtvdCBq ZSB0ZWxlZm9uIGFsaSB6IEdQRyBwb2RwaXNhbm8gZWxla3Ryb25za28gcGlz bW8uICIKIlZzYWsgbmFqIGRydWdlbXUgc3Bvcm/EjWkgcHJzdG5pIG9kdGlz LiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxNTgzCm1zZ2lkICIiCiJJZiBldmVy eXRoaW5nIG1hdGNoZXMgdXAsIHlvdSBzaG91bGQgaW5kaWNhdGUgaW4gdGhl IGFib3ZlIGRpYWxvZyB0aGF0IHlvdSAiCiI8YmhhdmU8L2J2ZXJpZmllZCB0 aGUgZmluZ2VycHJpbnQuIgptc2dzdHIgIiIKIsSMZSBzZSB2c2UgdWplbWEs IHBvdHJkaXRlIHYgemdvcm5qZW0gcG9nb3Zvcm5lbSBva251LCBkYSA8YnN0 ZSAiCiI8L2JvZG9icmlsaSBwcnN0bmkgb2R0aXMuIgoKIzogLi4vZ3RrLWRp YWxvZy5jOjE1ODUKbXNnaWQgIiIKIklmIHlvdXIgYnVkZHkgaGFzIG1vcmUg dGhhbiBvbmUgSU0gYWNjb3VudCwgb3IgdXNlcyBtb3JlIHRoYW4gb25lIGNv bXB1dGVyLCAiCiJoZSBtYXkgaGF2ZSBtdWx0aXBsZSBmaW5nZXJwcmludHMu Igptc2dzdHIgIiIKIsSMZSBpbWEgdmHFoSBrb2xlZ2EgdmXEjSBrb3QgZW4g SU0gcHJlZGFsLCBhbGkgdXBvcmFibGphIHZlxI0ga290IGVuIHJhxI11bmFs bmlrLCAiCiJpbWEgbGFoa28gdmXEjSBwcnN0bmloIG9kdGlzb3YuIgoKIzog Li4vZ3RrLWRpYWxvZy5jOjE1ODcKbXNnaWQgIiIKIkhvd2V2ZXIsIHRoZSBv bmx5IHdheSBhbiBpbXBvc3RlciBjb3VsZCBkdXBsaWNhdGUgb25lIG9mIHlv dXIgYnVkZHkncyAiCiJmaW5nZXJwcmludHMgaXMgYnkgc3RlYWxpbmcgaW5m b3JtYXRpb24gZnJvbSBoZXIvaGlzIGNvbXB1dGVyLiIKbXNnc3RyICIiCiJF ZGluaSBuYcSNaW4sIHMga2F0ZXJpbSBiaSB2c2lsaml2ZWMgbGFoa28gcG9u YXJlZGlsIHByc3RuaSBvZHRpcyB2YcWhZWdhIGtvbGVnYSAiCiJqZSBrcmFq YSB0ZWggcG9kYXRrb3YgeiBuamVuZWdhL25qZWdvdmVnYSByYcSNdW5hbG5p a2EuIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjE1OTEKbXNnaWQgIkNsaWNrIGhl cmUgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgZmluZ2VycHJpbnRzLiIK bXNnc3RyICJLbGlrbml0ZSB0dWthaiB6YSBwb2Ryb2Jub3N0aSBvIHByc3Ru aWggb2R0aXNpaC4iCgojOiAuLi9ndGstZGlhbG9nLmM6MTU5NAptc2dpZCAi IgoiQSA8YmZpbmdlcnByaW50PC9iaXMgYSB1bmlxdWUgaWRlbnRpZmllciB0 aGF0IHlvdSBzaG91bGQgdXNlIHRvICIKImF1dGhlbnRpY2F0ZSB5b3VyIGJ1 ZGR5LiIKbXNnc3RyICIiCiI8YlByc3RuaSBvZHRpczwvYmplIGVkaW5zdHZl bmkgcHJlcG96bmF2YWxlYywga2kgZ2EgbW9yYXRlIHVwb3JhYml0aSAiCiJw cmkgcHJlcG96bmF2YW5qdSB2YcWhZWdhIGtvbGVnYS4iCgojOiAuLi9ndGst ZGlhbG9nLmM6MTYxNgojLCBjLWZvcm1hdAptc2dpZCAiVmVyaWZ5IGZpbmdl cnByaW50IGZvciAlcyIKbXNnc3RyICJQb3RyZGkgcHJzdG5pIG9kdGlzIHph ICVzIgoKIzogLi4vZ3RrLWRpYWxvZy5jOjE2MjAKbXNnaWQgIltub25lXSIK bXNnc3RyICJbbm9iZWRlbl0iCgojOiAuLi9ndGstZGlhbG9nLmM6MTYyOAoj LCBjLWZvcm1hdAptc2dpZCAiIgoiRmluZ2VycHJpbnQgZm9yIHlvdSwgJXMg KCVzKTpcbiIKIiVzXG4iCiJcbiIKIlB1cnBvcnRlZCBmaW5nZXJwcmludCBm b3IgJXM6XG4iCiIlc1xuIgptc2dzdHIgIiIKIlZhxaEgcHJzdG5pIG9kdGlz LCAlcyAoJXMpOlxuIgoiJXNcbiIKIlxuIgoiUG9udWplbmkgcHJzdG5pIG9k dGlzICVzOlxuIgoiJXNcbiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxNjMzIC4u L2d0ay11aS5jOjY4MQptc2dpZCAiVmVyaWZ5IGZpbmdlcnByaW50Igptc2dz dHIgIlBvdHJkaXRlIHByc3RuaSBvZHRpcyIKCiM6IC4uL2d0ay1kaWFsb2cu YzoxNjYwCiMsIGMtZm9ybWF0Cm1zZ2lkICJBdXRoZW50aWNhdGUgJXMiCm1z Z3N0ciAiUG90cmRpdGUgJXMiCgojOiAuLi9ndGstZGlhbG9nLmM6MTY2NQoj LCBjLWZvcm1hdAptc2dpZCAiRW50ZXIgYSBzZWNyZXQga25vd24gb25seSB0 byAlcyBhbmQgeW91cnNlbGYuXG4iCm1zZ3N0ciAiVm5lc2l0ZSBnZXNsbywg a2kgZ2EgcG96bmEgbGUgJXMgaW4gdmkuXG4iCgojOiAuLi9ndGstZGlhbG9n LmM6MTY2OAptc2dpZCAiQXV0aGVudGljYXRlIGJ1ZGR5Igptc2dzdHIgIlBv dHJkaXRlIGtvbGVnYSIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxNzAwCm1zZ2lk ICJBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgYXV0aGVudGljYXRpb24uIgpt c2dzdHIgIlByaSBwb3RyZGl0dmkgamUgcHJpxaFsbyBkbyBuYXBha2UuIgoK IzogLi4vZ3RrLWRpYWxvZy5jOjE3MTYKbXNnaWQgIkF1dGhlbnRpY2F0aW9u IHN1Y2Nlc3NmdWwuIgptc2dzdHIgIlBvdHJkaXRldiBqZSBiaWxhIHVzcGXF oW5hLiAiCgojOiAuLi9ndGstZGlhbG9nLmM6MTcxOQptc2dpZCAiQXV0aGVu dGljYXRpb24gZmFpbGVkLiIKbXNnc3RyICJQb3RyZGl0ZXYgbmkgdXNwZWxh LiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxNzQ0CiMsIGMtZm9ybWF0Cm1zZ2lk ICJQcml2YXRlIGNvbnZlcnNhdGlvbiB3aXRoICVzIHN0YXJ0ZWQuJXMiCm1z Z3N0ciAiWmFzZWJuaSBwb2dvdm9ycyBzICVzIHNlIGplIHphxI1lbC4lcyIK CiM6IC4uL2d0ay1kaWFsb2cuYzoxNzQ4CiMsIGMtZm9ybWF0Cm1zZ2lkICI8 YSBocmVmPVwiJXMlc1wiVW52ZXJpZmllZDwvYWNvbnZlcnNhdGlvbiB3aXRo ICUlcyBzdGFydGVkLiUlcyIKbXNnc3RyICI8YSBocmVmPVwiJXMlc1wiTmVw b3RyamVuPC9hcG9nb3ZvciBzICUlcyBzZSBqZSB6YcSNZWwuJSVzIgoKIy4g VGhpcyBsYXN0IGNhc2Ugc2hvdWxkIG5ldmVyIGhhcHBlbiwgc2luY2Ugd2Ug a25vdwojLiAqIHdlJ3JlIGluIEVOQ1JZUFRFRC4KIzogLi4vZ3RrLWRpYWxv Zy5jOjE3NTYKIywgYy1mb3JtYXQKbXNnaWQgIk5vdCBwcml2YXRlIGNvbnZl cnNhdGlvbiB3aXRoICVzIHN0YXJ0ZWQuJXMiCm1zZ3N0ciAiSmF2bmkgcG9n b3ZvciBzICVzIHNlIGplIHphxI1lbC4lcyIKCiM6IC4uL2d0ay1kaWFsb2cu YzoxNzYyIC4uL2d0ay1kaWFsb2cuYzoxODYzCm1zZ2lkICIgIFdhcm5pbmc6 IHVzaW5nIG9sZCBwcm90b2NvbCB2ZXJzaW9uIDEuIgptc2dzdHIgIiBPcG96 b3JpbG86IHVwb3JhYmEgc3RhcmVnYSBwcm90b2tvbGEgdmVyemlqYSAxLiIK CiM6IC4uL2d0ay1kaWFsb2cuYzoxNzgyCiMsIGMtZm9ybWF0Cm1zZ2lkICJQ cml2YXRlIGNvbnZlcnNhdGlvbiB3aXRoICVzIGxvc3QuIgptc2dzdHIgIlph c2VibmkgcG9nb3ZvciB6ICVzIGplIHByZWtpbmplbi4iCgojOiAuLi9ndGst ZGlhbG9nLmM6MTgxNwojLCBjLWZvcm1hdAptc2dpZCAiIgoiJXMgaGFzIGVu ZGVkIGhpcy9oZXIgcHJpdmF0ZSBjb252ZXJzYXRpb24gd2l0aCB5b3U7IHlv dSBzaG91bGQgZG8gdGhlIHNhbWUuIgptc2dzdHIgIiIKIiVzIGplIGtvbsSN YWwgc3ZvaiB6YXNlYmkgcG9nb3ZvciB6IHZhbWk7IHJhdm5hanRlIGVuYWtv LiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxODQyCiMsIGMtZm9ybWF0Cm1zZ2lk ICJTdWNjZXNzZnVsbHkgcmVmcmVzaGVkIHRoZSBwcml2YXRlIGNvbnZlcnNh dGlvbiB3aXRoICVzLiVzIgptc2dzdHIgIlVzcGXFoW5vIG9ibm92bGplbiB6 YXNlYm5pIHBvZ292b3IgeiAlcy4lcyIKCiM6IC4uL2d0ay1kaWFsb2cuYzox ODQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJTdWNjZXNzZnVsbHkgcmVmcmVz aGVkIHRoZSA8YSBocmVmPVwiJXMlc1widW52ZXJpZmllZDwvYWNvbnZlcnNh dGlvbiB3aXRoICIKIiUlcy4lJXMiCm1zZ3N0ciAiIgoiVXNwZcWhbm8gb3N2 ZcW+ZW4gPGEgaHJlZj1cIiVzJXNcIm5lcG90cmplbjwvYXBvZ292b3IgeiAl JXMuJSVzIgoKIy4gVGhpcyBsYXN0IGNhc2Ugc2hvdWxkIG5ldmVyIGhhcHBl biwgc2luY2Ugd2Uga25vdwojLiAqIHdlJ3JlIGluIEVOQ1JZUFRFRC4KIzog Li4vZ3RrLWRpYWxvZy5jOjE4NTYKIywgYy1mb3JtYXQKbXNnaWQgIlN1Y2Nl c3NmdWxseSByZWZyZXNoZWQgdGhlIG5vdCBwcml2YXRlIGNvbnZlcnNhdGlv biB3aXRoICVzLiVzIgptc2dzdHIgIlVzcGXFoW5vIG9zdmXFvmVuIGphdm5p IHBvZ292b3IgeiAlcy4lcyIKCiM6IC4uL2d0ay1kaWFsb2cuYzoxODgzCiMs IGMtZm9ybWF0Cm1zZ2lkICJBdHRlbXB0aW5nIHRvIHJlZnJlc2ggdGhlIHBy aXZhdGUgY29udmVyc2F0aW9uIHdpdGggJXMuLi4iCm1zZ3N0ciAiUG9za3XF oWFtIG9zdmXFvml0aSB6YXNlYm5pIHBvZ292b3IgeiAlcy4uLiIKCiM6IC4u L2d0ay1kaWFsb2cuYzoxODg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJBdHRlbXB0 aW5nIHRvIHN0YXJ0IGEgcHJpdmF0ZSBjb252ZXJzYXRpb24gd2l0aCAlcy4u LiIKbXNnc3RyICJQb3NrdcWhYW0gemHEjWV0aSB6YXNlYm5pIHBvZ292b3Ig eiAlcy4uLiIKCiM6IC4uL2d0ay1kaWFsb2cuYzoyMDQ1Cm1zZ2lkICJPVFI6 Igptc2dzdHIgIk9UUjoiCgojOiAuLi9ndGstZGlhbG9nLmM6MjA1NAptc2dp ZCAiT1RSIE1lc3NhZ2luZyIKbXNnc3RyICJPVFIgc3Bvcm/EjWFuamUiCgoj OiAuLi9ndGstZGlhbG9nLmM6MjA2MAptc2dpZCAiX0VuZCBwcml2YXRlIGNv bnZlcnNhdGlvbiIKbXNnc3RyICJfS29uxI1haiB6YXNlYm5pIHBvZ292b3Ii CgojLgojLiAqIERvbid0IHNob3cgdGhlIFZlcmlmeSBmaW5nZXJwcmludCBt ZW51IG9wdGlvbiBhbnkgbW9yZS4gIFlvdSBjYW4KIy4gKiBzdGlsbCBnZXQg dG8gdGhlIGRpYWxvZyB0aHJvdWdoIEF1dGhlbnRpY2F0ZSBjb25uZWN0aW9u IC0KIy4gKiBBZHZhbmNlZC4uLgojLiAqCiMuIG1lbnV2ZXJmID0gZ3RrX21l bnVfaXRlbV9uZXdfd2l0aF9tbmVtb25pYyhfKCJfVmVyaWZ5IGZpbmdlcnBy aW50IikpOwojLiBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVfU0hF TEwobWVudSksIG1lbnV2ZXJmKTsKIy4gZ3RrX3dpZGdldF9zaG93KG1lbnV2 ZXJmKTsKIy4KIzogLi4vZ3RrLWRpYWxvZy5jOjIwNzgKbXNnaWQgIl9BdXRo ZW50aWNhdGUgYnVkZHkiCm1zZ3N0ciAiX1BvdHJkaSBrb2xlZ2EiCgojOiAu Li9ndGstdWkuYzo5NgojLCBjLWZvcm1hdAptc2dpZCAiRmluZ2VycHJpbnQ6 ICUuODBzIgptc2dzdHIgIlByc3RuaSBvZHRpczogJS44MHMiCgojOiAuLi9n dGstdWkuYzoxMDAKIywgYy1mb3JtYXQKbXNnaWQgIk5vIGtleSBwcmVzZW50 Igptc2dzdHIgIktsanXEjSBuaSB6YXpuYW4iCgojOiAuLi9ndGstdWkuYzox MDUKIywgYy1mb3JtYXQKbXNnaWQgIk5vIGFjY291bnQgYXZhaWxhYmxlIgpt c2dzdHIgIlByZWRhbCBuaSBuYSB2b2xqbyIKCiM6IC4uL2d0ay11aS5jOjE2 NQptc2dpZCAiVW51c2VkIgptc2dzdHIgIk5ldXBvcmFibGplbm8iCgojOiAu Li9ndGstdWkuYzoxNzEKbXNnaWQgIlllcyIKbXNnc3RyICJEYSIKCiM6IC4u L2d0ay11aS5jOjE3MQptc2dpZCAiTm8iCm1zZ3N0ciAiTmUiCgojOiAuLi9n dGstdWkuYzozOTYKbXNnaWQgIkVuYWJsZSBwcml2YXRlIG1lc3NhZ2luZyIK bXNnc3RyICJPbW9nb8SNaSB6YXNlYm5vIHNwb3JvxI1hbmplIgoKIzogLi4v Z3RrLXVpLmM6Mzk4Cm1zZ2lkICJBdXRvbWF0aWNhbGx5IGluaXRpYXRlIHBy aXZhdGUgbWVzc2FnaW5nIgptc2dzdHIgIkF2dG9tYXRza28gemHEjW5pIHph c2Vibm8gc3Bvcm/EjWFuamUiCgojOiAuLi9ndGstdWkuYzo0MDAKbXNnaWQg IlJlcXVpcmUgcHJpdmF0ZSBtZXNzYWdpbmciCm1zZ3N0ciAiWmFodGV2YWog emFzZWJubyBzcG9yb8SNYW5qZSIKCiM6IC4uL2d0ay11aS5jOjQwMwptc2dp ZCAiRG9uJ3QgbG9nIE9UUiBjb252ZXJzYXRpb25zIgptc2dzdHIgIk5lIGJl bGXFvmkgT1RSIHBvZ292b3JvdiIKCiM6IC4uL2d0ay11aS5jOjUzMQptc2dp ZCAiTXkgcHJpdmF0ZSBrZXlzIgptc2dzdHIgIk1vamkgemFzZWJuaSBrbGp1 xI1pIgoKIzogLi4vZ3RrLXVpLmM6NTQwCm1zZ2lkICJLZXkgZm9yIGFjY291 bnQ6Igptc2dzdHIgIktsanXEjSB6YSBwcmVkYWw6IgoKIzogLi4vZ3RrLXVp LmM6NTY1Cm1zZ2lkICJHZW5lcmF0ZSIKbXNnc3RyICJJemRlbGFqIgoKIzog Li4vZ3RrLXVpLmM6NTk2Cm1zZ2lkICJEZWZhdWx0IE9UUiBTZXR0aW5ncyIK bXNnc3RyICJTdGFuZGFyZG5lIG5hc3Rhdml0dmUgT1RSIgoKIzogLi4vZ3Rr LXVpLmM6NjI1Cm1zZ2lkICJTY3JlZW5uYW1lIgptc2dzdHIgIlVwb3JhYm5p xaFrbyBpbWUiCgojOiAuLi9ndGstdWkuYzo2MjYKbXNnaWQgIlN0YXR1cyIK bXNnc3RyICJTdGF0dXMiCgojOiAuLi9ndGstdWkuYzo2MjcKbXNnaWQgIlZl cmlmaWVkIgptc2dzdHIgIlBvdHJqZW4iCgojOiAuLi9ndGstdWkuYzo2MjgK bXNnaWQgIkZpbmdlcnByaW50Igptc2dzdHIgIlByc3RuaSBvZHRpcyIKCiM6 IC4uL2d0ay11aS5jOjYyOQptc2dpZCAiQWNjb3VudCIKbXNnc3RyICJQcmVk YWwiCgojOiAuLi9ndGstdWkuYzo2NjUKbXNnaWQgIlN0YXJ0IHByaXZhdGUg Y29ubmVjdGlvbiIKbXNnc3RyICJaYcSNbmkgemFzZWJuaSBwb2dvdm9yIgoK IzogLi4vZ3RrLXVpLmM6NjczCm1zZ2lkICJFbmQgcHJpdmF0ZSBjb25uZWN0 aW9uIgptc2dzdHIgIktvbsSNYWogemFzZWJuaSBwb2dvdm9yIgoKIzogLi4v Z3RrLXVpLmM6Njg5Cm1zZ2lkICJGb3JnZXQgZmluZ2VycHJpbnQiCm1zZ3N0 ciAiUG96YWJpIHByc3RuaSBvZHRpcyIKCiM6IC4uL2d0ay11aS5jOjczOApt c2dpZCAiQ29uZmlnIgptc2dzdHIgIk5hc3RhdmkiCgojOiAuLi9ndGstdWku Yzo3NDAKbXNnaWQgIktub3duIGZpbmdlcnByaW50cyIKbXNnc3RyICJQb3pu YW5pIHByc3RuaSBvZHRpc2kiCgojOiAuLi9ndGstdWkuYzo4MzggLi4vb3Ry LXBsdWdpbi5jOjU3Nwptc2dpZCAiT1RSIFNldHRpbmdzIgptc2dzdHIgIk5h c3Rhdml0dmUgT1RSIgoKIy4gU2V0IHRoZSB0aXRsZQojOiAuLi9ndGstdWku Yzo4NTYKIywgYy1mb3JtYXQKbXNnaWQgIk9UUiBTZXR0aW5ncyBmb3IgJXMi Cm1zZ3N0ciAiT1RSIG5hc3Rhdml0dmUgcHJlICVzIgoKIy4gTWFrZSB0aGUg Y2FzY2FkZWQgY2hlY2tib3hlcwojOiAuLi9ndGstdWkuYzo4NzMKbXNnaWQg IlVzZSBkZWZhdWx0IE9UUiBzZXR0aW5ncyBmb3IgdGhpcyBidWRkeSIKbXNn c3RyICJVcG9yYWJpIHN0YW5kYXJkbmUgbmFzdGF2aXR2ZSBPVFIgemEgdGVn YSBrb2xlZ2EiCgojOiAuLi9vdHItcGx1Z2luLmM6MTEzCiMsIGMtZm9ybWF0 Cm1zZ2lkICJZb3UgYXJlIG5vdCBjdXJyZW50bHkgY29ubmVjdGVkIHRvIGFj Y291bnQgJXMgKCVzKS4iCm1zZ3N0ciAiVHJlbnV0bm8gbmlzdGUgcG92ZXph bmkgcyBwcmVkYWxvbSAlcyAoJXMpLiIKCiM6IC4uL290ci1wbHVnaW4uYzox MTcKbXNnaWQgIk5vdCBjb25uZWN0ZWQiCm1zZ3N0ciAiTmVwb3ZlemFuIgoK IzogLi4vb3RyLXBsdWdpbi5jOjE2MQojLCBjLWZvcm1hdAptc2dpZCAiT3V0 IG9mIG1lbW9yeSBidWlsZGluZyBmaWxlbmFtZXMhXG4iCm1zZ3N0ciAiWm1h bmprYWxvIHNwb21pbmEgcHJpIHVzdHZhcmphbmp1IGltZW4gZGF0b3RlayFc biIKCiM6IC4uL290ci1wbHVnaW4uYzoxNjcKIywgYy1mb3JtYXQKbXNnaWQg IkNvdWxkIG5vdCB3cml0ZSBwcml2YXRlIGtleSBmaWxlXG4iCm1zZ3N0ciAi TmkgbW/EjSBpenBpc2F0aSB6YXNlYm5lZ2Ega2xqdcSNYSBkYXRvdGVrZVxu IgoKIzogLi4vb3RyLXBsdWdpbi5jOjIxMAojLCBjLWZvcm1hdAptc2dpZCAi VW5rbm93biBhY2NvdW50ICVzICglcykuIgptc2dzdHIgIk5lem5hbmkgcHJl ZGFsICVzICglcykuIgoKIzogLi4vb3RyLXBsdWdpbi5jOjIxNAptc2dpZCAi VW5rbm93biBhY2NvdW50Igptc2dzdHIgIk5lem5hbmkgcHJlZGFsIgoKIzog Li4vb3RyLXBsdWdpbi5jOjk1Mwptc2dpZCAiT2ZmLXRoZS1SZWNvcmQgTWVz c2FnaW5nIgptc2dzdHIgIm5ldXJhZG5vIHNwb3JvxI1hbmplIgoKIzogLi4v b3RyLXBsdWdpbi5jOjk1NAptc2dpZCAiUHJvdmlkZXMgcHJpdmF0ZSBhbmQg c2VjdXJlIGNvbnZlcnNhdGlvbnMiCm1zZ3N0ciAiT21vZ2/EjWEgemFzZWJu ZSBpbiB2YXJuZSBwb2dvdm9yZSIKCiM6IC4uL290ci1wbHVnaW4uYzo5NTUK bXNnaWQgIiIKIlByZXNlcnZlcyB0aGUgcHJpdmFjeSBvZiBJTSBjb21tdW5p Y2F0aW9ucyBieSBwcm92aWRpbmcgZW5jcnlwdGlvbiwgIgoiYXV0aGVudGlj YXRpb24sIGRlbmlhYmlsaXR5LCBhbmQgcGVyZmVjdCBmb3J3YXJkIHNlY3Jl Y3kuIgptc2dzdHIgIiIKIk9ocmFuamEgemFzZWJub3N0IElNIGtvbXVuaWNp cmFuamEgeiB6YWdvdGF2bGphbmplbSBrb2RpcmFuamEsICIKIiBwb3RyZGl0 dmUsIG1vxb5ub3N0aSB6YXZybml0dmUgaW4gdGFqbm9zdGkuIgoKIzogLi4v dWkuYzoxMDgKIywgYy1mb3JtYXQKbXNnaWQgIkFjY291bnQgJXMgKCVzKSBj b3VsZCBub3QgYmUgZm91bmQiCm1zZ3N0ciAiUHJlZGFsYSAlcyAoJXMpIG5p IGJpbG8gbW/EjSBuYWp0aSIKCiM6IC4uL3VpLmM6MTEyCm1zZ2lkICJBY2Nv dW50IG5vdCBmb3VuZCIKbXNnc3RyICJQcmVkYWxhIG5pIg== --0-2093661691-1188426169=:30075-- From tommy.b@gmx.net Fri Aug 31 20:50:23 2007 From: tommy.b@gmx.net (Thomas B.) Date: Fri, 31 Aug 2007 21:50:23 +0200 Subject: [OTR-dev] German translation for pidgin-otr In-Reply-To: <46D5D7C6.1060903@mmsources.de> References: <46D5D7C6.1060903@mmsources.de> Message-ID: <20070831195023.GA23975@tommy> On Wed, Aug 29, 2007 at 10:32:06PM +0200, Michael Meier wrote: > Hello, > > i've created a translation of pidgin-otr in my native language. I hope > it meets your requirements. > I have also subscribed to this list and would like to continue > maintaining the german translation for future releases. Cool! I can confirm that the language file works and that the translations make sense to me as a German ;-) Regards, Thomas